Upload
maris
View
39
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Automated Context-Sensitive Dialog Synthesis for Enterprise Workflows Using Templatized Model Transformations. Amogh Kavimandan † [email protected]. Reinhard Klemm ‡ [email protected]. Aniruddha Gokhale † [email protected]. † Vanderbilt University Nashville, TN. - PowerPoint PPT Presentation
Citation preview
Automated Context-Sensitive Dialog Synthesis for Enterprise
WorkflowsUsing Templatized Model
Transformations
† Vanderbilt University Nashville, TN
Amogh Kavimandan†
Reinhard Klemm‡
Aniruddha Gokhale†
‡ Avaya Labs Research, Basking Ridge, NJ
2
Enterprise Workflows
• Large enterprises increasingly automate business processes through workflows
• Supply chain management
• Production
• Shipping
• Billing
• HR
• Customer service
3
Advantages of Automation
• Faster• More precise, fewer errors• Less tedious, manual work• Requires fewer people, thus cheaper• Scalable: fast output variations without requiring linear
human resource variations (hiring, reassignment, termination)
• Repeatable because processes are codified• Codified processes can be more easily optimized• Audit trail
4
Automating Communication Processes
• Human “impedance”• Workflows convey information to human decision makers in the
enterprise
• Enterprise workers communicate, collaborate about information from workflows
• Enterprise workers feed decisions, parameters back to workflows
• Information flow between workflows and enterprise workers and between enterprise workers traditionally slows down workflows tremendously
• Solution: automate communication processes with/between humans through workflows
5
Communications Middleware and Dialogs
• Communications workflows• Designed on, executed on communications middleware
• Set up communications with and between users
• Voice, video, email, IM, SMS,…
• Dialogs• Interface between communications workflows and users
• Convey information from workflows to users
• Allow users to feed decisions, parameters, content back to workflows
6
Challenges for Middleware and Workflows
• Users are not static entities!• Who (to communicate with or connect with each other)?
• When?
• Through which endpoints?
• Through which communication media?
• In which languages?
• …
• Our solution approach• Context-awareness in middleware to automate communications
decisions where possible and reasonable
• Presence on endpoints, capabilities of endpoints, (un)availability settings, location, current activities, corporate/personal rules, user skills/expertise, handicaps, spoken languages, etc.
• In all other cases, ask users through dialogs about their availability, interruptibility, reachability, skills/expertise, preferences, etc.
7
Challenges for Dialogs
• Context-sensitive communications workflow decisions (who, when, where, how, …) are made dynamically
• Enterprise users employ a large, constantly changing set of communication endpoints and media
• Office phones, cell phones, IM clients, Web browsers, video clients, email clients, SMS, pagers, etc.
• … which means dialogs are best created dynamically• Need programmatic, customizable mappings from
workflow decision points to dialog instantiations on specific endpoints
Endpoint
RecipientContentMedium
Context-Sensitive, Dynamic
Dialog Generation
Content + Context
Parameters
Context-
Sensitive Dialog
Dialog
Rendering
Rules
8
Challenges for Context-Sensitive Dialogs
• Endpoints have widely varying static capabilities and dynamic characteristics
• Modality, processing power, input devices, output devices, battery level, connectivity, …
• … which means dialog formatting and rendering has to be tailored to static + dynamic endpoint characteristics
• Many dialogs do not just inform – but also collect feedback
• Response option definitions can vary from Yes/No buttons to freeform text input
• … which means dialogs have to be able to incorporate widely varying types of input forms over a given endpoint/communication medium
9
Challenges for Context-Sensitive Dialogs
• Dialogs may have to contain/link to supporting content, e.g., case documents
• … which means the dialog creation has to consider the static/dynamic capabilities of the chosen endpoint to render the desired support content
• or select alternative ways for user to access support content
• Endpoints change rapidly!• … which means the dialog creation needs to adjust to
the endpoint evolution with relatively minor changes
10
The Good News…
• Despite the potential variabilities in dialogs, they also share many commonalities
• Product line architectures (PLAs) and provides a precedent for solving our challenges
• … giving us the opportunity to synthesize families of context-sensitive dialog
• by employing customizable and reusable software patterns and artifacts so
• … rather than either
• statically building context-insensitive dialogs or
• creating ad-hoc programmatic mappings from workflow decision points+user context to endpoint-specific dialogs
• and changing these mappings at a high cost when the endpoints change
11
• Model Transformation & template Specialization (MTS) :
• Decouples variations in communication dialogs (for individual endpoints) from the transformation
– These variations are later used to instantiate endpoint-specific mappings
• Extends existing modeling and model transformation toolchains without incurring additional overhead
Templatized Model Transformation
Endpoint-specific variations in dialogs are provided as arguments to transformation
12
inst
ance
of
Transformation Developer
Model Transformation Toolchain
Source Meta-model
Composition Paradigm3
Source Model
Target Model
Composition Paradigm2
Composition Paradigm1
Composition Paradigm4
Semantic Mapping Rules
G G’
G G’ G G’ G G’
G G’
G G’
G G’pattern
construction
Patte
rn
cons
tructi
on
Target Meta-model
Composition Paradigm3
Composition Paradigm2
Composition Paradigm1
Composition Paradigm4
inst
ance
of
VarML
auto-generated
Composition Variability Model
instanceof
specifies
develops
• Development of templatized transformation stages
• Developers specify constraints notation blocks in transformation rules to identify points of configuration variability
• Transformation instance-specific variability modeling language (VMM) is
• Variability models used for instantiating endpoint-specific transformation mappings
– Similar to C++ class templates
auto-generated – useful for capturing variabilities
Templatized Model Transformation
13
• Constraint notation blocks can be used to identify the following variabilities:
• Direct Assignments of target language objects
• Conditional Mappings of target language objects from some source objects (both compositional and qualitative variabilities)
• Sequencing block specifies locations in transformation project where variability would be accommodated
• Opaque to transformation engine and does not interfere with its translation logic
Constraint notation blocks inserted as special comments in transformation project
Templatized Model Transformation
14
• General purpose transformations auto-generate VMM from source, target languages and transformation variability points
• VMM can be used to specify transformation instance-specific variabilities
• Variabilities are expressed as name-value pairs (direct assignments) or associations (conditional mappings)
– Variability is in model as opposed to transformation rule!
Transformation Algorithm Variability Points
Name-value pairs
Source-target value pairs
Source-target creation pairs
VarML Associations
-value : object
targetObjectName
-value : object
sourceObjectName
-value : object
targetObjectName
sourceObjectName targetObjectName
1..* 1..*
1..* 1..*
Transformation Developer
Meta Modeling Environment
Model Transformations for Variability Meta-model Composition
Variabillity Model
VarML
Transformation Project
G G’
G G’ G G’ G G’
G G’
G G’
G G’
Target Meta-model
Composition Paradigm3
Composition Paradigm2
Composition Paradigm1
Composition Paradigm4
Source Meta-model
Composition Paradigm3
Composition Paradigm2
Composition Paradigm1
Composition Paradigm4
Object Type Information
develops
specifies
inst
an
ceo
f
Templatized Model Transformation
VMM Associations
15
Transformation Project
VarML ModelinObject
srcobjValue
outObject
trgtobjValue
G G’
G G’ G G’ G G’
G G’
G G’
G G’
Rule2 Rule3
G G’
currentBlock
New rule to accommodate variability
sequencing{ currentBlock:Rule2}direct{ … … }conditional_value{ … srcObjValue:trgtObjValue …}conditional_creation{ … …}
if inObject.srcobjValue () == srcobjValuea
then outObject.objValue () = trgtobjValuez;else if inObject.objValue () == srcobjValueb
then outObject.obValue () = trgtobjValuey;…...
• Finally, transformation variabilities incorporated in transformation algorithms
• Uses a higher-order transformation to construct/modify rules
• Endpoint-specific VMM models used to instantiate their communication dialogs
Templatized Model Transformation
MTS can be downloaded from http://www.dre.vanderbilt.edu/CoSMIC
More information can be found at http://www.dre.vanderbilt.edu/~amoghk
16
Questions?