cdi workflow operator modeling
play

CDI Workflow Operator Modeling Wesley Deneke, Wing-Ning Li, & - PowerPoint PPT Presentation

CDI Workflow Operator Modeling Wesley Deneke, Wing-Ning Li, & Craig Thompson - University of Arkansas Problem Problem CDI operators have conditions on input to execute as expected Constraints on data content: name data vs address


  1. CDI Workflow Operator Modeling Wesley Deneke, Wing-Ning Li, & Craig Thompson - University of Arkansas

  2. Problem

  3. Problem • CDI operators have conditions on input to execute as expected • Constraints on data content: name data vs address data • Combinations of input fields: first name and last name • Data state: filtered, enhanced, updated, etc • Nothing enforces these constraints • Allows invalid workflows to be constructed • Large number of complex CDI operators • Results in a large number of workflow permutations • Requires domain experts to construct valid workflows • Experts further specialize by customer/group • Time consuming and error prone even for experts

  4. Problem • How can domain knowledge of CDI operators and workflow be captured to allow workflow construction to be more efficient - Faster turn around - Better accuracy - Fewer errors - Lower required level of expertise

  5. Approach

  6. Scope • Excludes field identification/interrogation • Assume only a single data source - Homogenous data - Known state • Consider only operators with a defined set of input fields, output fields, and transformations • Assume operator execution is well-defined and assured

  7. Conditions • Preconditions • Conditions that must be true to guarantee valid execution of the operator - Input combinations - Field content - Field state - Option settings • Postconditions • Conditions guaranteed to be true after an operator has undergone valid execution - Output fields - Output state

  8. Objective • Develop a model to represent and enforce CDI operator conditions to guarantee valid workflow construction.

  9. Operator Model • Operator - Input Fields - Output Fields - Input Requirement Expression - Options

  10. Field Model • Field - Name - Category - Attributes

  11. Field Model • Name - Already exists in domains - Ex: • cvFirstName1 • aaPriNumberBeforeCOA • IBBA_DPD_ State

  12. Field Model • Category - Abstracts fields above their name and primitive data type to reflect knowledge of their content - Allows type safety on domain-specific types similar to object oriented programming - Meet higher level semantic relationships or conditions - Extensible - Domains contain a large number of field names and only experts may understand the content - Ex: • Name.Full • Name.First • Address.Primary • Address.City

  13. Field Model • Attributes - Semantic descriptors of field state - Keep a heritage of state information as fields more through operators in a workflow - Allow operators to enforce inclusive and exclusive preconditions on the state of input fields - Ex: • Burst • AddressAbility • ConsumerLinked

  14. Field Model • Representation - Ex: • cvAACityName::Address.City + AddressAbility + ProfanityFiltered • priAddress::Address.Primary + PAS - BusinessLinked

  15. Input Requirement Expression • Definition - Boolean expression representing valid combinations and states of operator input fields - Includes descriptive predicates - Ex: [ UnparsedName::Name.Full ].Required && [ ParsedFirstName::Name.First ].NA && [ ParsedMiddleName::Name.Middle ].NA && [ ParsedLastName::Name.Last ].NA &&[ ParsedLastNameSuffix::Name.LastNameSuffix ].NA && [ AddressLine1::Address.Primary ].Required && [ ProfessionalTitle::Name.ProfTitle ].Optional &&[ PrimaryBusinessName::Name.Business ].Optional &&[ SecondaryBusinessName::Name.Business ].Optional && [ AddressLine2::Address.Secondary ].Optional && [ UnparsedCityStateZip::Address.CityStateZip ].Required && [ ParsedCity::Address.City ].NA && [ ParsedState::Address.State ].NA && [ ParsedZip::Address.Zip ].NA && [ ParsedZip4::Address.Zip4 ].NA && [ ParsedUrbName::Address.UrbName ].NA

  16. Option Model • Option - Name - Default Value - OptionStates - Name (Value) - Input Requirement Expression - Output Fields

  17. Option State • Definition - Depending on the setting of an option, the operator’s input requirements and resultant output fields may vary. - Each option states input requirement expression represents the additional requirements an input mapping must satisfy. - The output fields append extra fields and/or additional attributes to the output.

  18. Example

  19. Advantage Mail SIM PLID Postal PAS Coding Link Edit Name Appen Fail Check d

  20. Advantage Mail • Starting Fields - Name::Name.Full - Address::Address.Primary - CityStateZip::Address.CityStateZip

  21. Advantage Mail • PLID Input Fields - UnparsedCityStateZip::Address.City StateZip - UnparsedName::Name.Full - ParsedCity::Address.City - ParsedFirstName::Name.First - ParsedState::Address.State - ParsedMiddleName::Name.Middle - ParsedZip::Address.Zip - ParsedLastName::Name.Last - ParsedZip4::Address.Zip4 - ParsedLastNameSuffix::Name.Last - ParsedUrbName::Address.UrbNam NameSuffix e - ProfessionalTitle::Name.ProfTitle - PrimaryBusinessName::Name.Busi ness - SecondaryBusinessName::Name.B usiness - AddressLine1::Address.Primary - AddressLine2::Address.Secondary

  22. Advantage Mail • PLID Input Requirement Expression [ UnparsedName::Name.Full ].Required && [ ParsedFirstName::Name.First ].NA && [ ParsedMiddleName::Name.Middle ].NA && [ ParsedLastName::Name.Last ].NA &&[ ParsedLastNameSuffix::Name.LastNameSuffix ].NA && [ AddressLine1::Address.Primary ].Required && [ ProfessionalTitle::Name.ProfTitle ].Optional &&[ PrimaryBusinessName::Name.Business ].Optional &&[ SecondaryBusinessName::Name.Business ].Optional && [ AddressLine2::Address.Secondary ].Optional && [ UnparsedCityStateZip::Address.CityStateZip ].Required && [ ParsedCity::Address.City ].NA && [ ParsedState::Address.State ].NA && [ ParsedZip::Address.Zip ].NA && [ ParsedZip4::Address.Zip4 ].NA && [ ParsedUrbName::Address.UrbName ].NA || [ UnparsedName::Name.Full ].NA && [ ParsedFirstName::Name.First ].Required && [ ParsedMiddleName::Name.Middle ].Optional && [ ParsedLastName::Name.Last ].Required &&[ ParsedLastNameSuffix::Name.LastNameSuffix ].Optional && [ AddressLine1::Address.Primary ].Required &&[ ProfessionalTitle::Name.ProfTitle ].Optional &&[ PrimaryBusinessName::Name.Business ].Optional &&[ SecondaryBusinessName::Name.Business ].Optional && [ AddressLine2::Address.Secondary ].Optional && [ UnparsedCityStateZip::Address.CityStateZip ].Required && [ ParsedCity::Address.City ].NA && [ ParsedState::Address.State ].NA && [ ParsedZip::Address.Zip ].NA && [ ParsedZip4::Address.Zip4 ].NA && [ ParsedUrbName::Address.UrbName ].NA || [ UnparsedName::Name.Full ].Required && [ ParsedFirstName::Name.First ].NA && [ ParsedMiddleName::Name.Middle ].NA && [ ParsedLastName::Name.Last ].NA &&[ ParsedLastNameSuffix::Name.LastNameSuffix ].NA && [ AddressLine1::Address.Primary ].Required && [ ProfessionalTitle::Name.ProfTitle ].Optional &&[ PrimaryBusinessName::Name.Business ].Optional &&[ SecondaryBusinessName::Name.Business ].Optional && [ AddressLine2::Address.Secondary ].Optional && [ UnparsedCityStateZip::Address.CityStateZip ].NA && [ ParsedCity::Address.City ].Required && [ ParsedState::Address.State ].Required && [ ParsedZip::Address.Zip ].Required && [ ParsedZip4::Address.Zip4 ].Optional && [ ParsedUrbName::Address.UrbName ].Optional || [ UnparsedName::Name.Full ].NA && [ ParsedFirstName::Name.First ].Required && [ ParsedMiddleName::Name.Middle ].Optional && [ ParsedLastName::Name.Last ].Required &&[ ParsedLastNameSuffix::Name.LastNameSuffix ].Optional && [ AddressLine1::Address.Primary ].Required &&[ ProfessionalTitle::Name.ProfTitle ].Optional &&[ PrimaryBusinessName::Name.Business ].Optional &&[ SecondaryBusinessName::Name.Business ].Optional && [ AddressLine2::Address.Secondary ].Optional && [ UnparsedCityStateZip::Address.CityStateZip ].NA && [ ParsedCity::Address.City ].Required && [ ParsedState::Address.State ].Required && [ ParsedZip::Address.Zip ].Required && [ ParsedZip4::Address.Zip4 ].Optional && [ ParsedUrbName::Address.UrbName ].Optional

  23. Advantage Mail • PLID Options - Email Customer Report - Input Name Format - Output Mixed Names As - Output Single Word Name To - Address Parsing Mode - Perform Post Processing - Profane Word Filter - Burst Records

  24. Advantage Mail • Email Customer Report • Y - Input Requirement: Null - Output Fields: Null • N - Input Requirement: Null - Output Fields: Null

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend