domain specific languages for business process management: a case study janis barzdins, karlis...
TRANSCRIPT
Domain specific languages for Business Process Management: a
Case StudyJanis Barzdins, Karlis Cerans, Mikus Grasmanis, Audris Kalnins, Sergejs Kozlovics, Lelde Lace, Renars Liepins, Edgars Rencis, Arturs Sprogis, Andris Zarins
_______________________________________________________________DSM Workshop, OOPSLA, Orlando, Florida, USA, 25th October, 2009
Outline
BPM – what is it? The environment for building tools
TDA – the Transformation-Driven Architecture TDA framework GrTP – Graphical Tool Building Platform
Case study – two BPM languages requirements they had place in the architecture aspects of implementation impact on the platform
Summary things done future work
DSM Workshop, OOPSLA, Orlando, Florida, USA, 25th October, 2009
The world of business processes Meanings of the BPM
Business Process Modeling paints the overall view over processes helps to understand processes deeper allows simulation
Business Process Management performs execution of processes allows process monitoring ...
In either case... ... we need a language for modeling processes ... we need a tool for supporting the language
DSM Workshop, OOPSLA, Orlando, Florida, USA, 25th October, 2009
Currently in the market...
There exist several business process modeling languages languages are universal
so they must fit our needs regardless of the case languages can be extendable a bit
we can add our specific attributes one of the most notable representatives – the BPMN
language There exist tools supporting the languages
BPMN tools allow to compile a BMPN to a BPEL code BPEL code can then be executed by a BPEL engine
DSM Workshop, OOPSLA, Orlando, Florida, USA, 25th October, 2009
However...
Languages tend to be too universal only a small subset is needed in many cases only some minor changes can be done
addition of attributes quite difficult to learn for a non-programmer
Tools tend to be too enormous very complicated very hard to adapt for specific needs usually very expensive
some exceptions exist here – BizAgi, Intalio, ... however, they are based on the same complicated languages
DSM Workshop, OOPSLA, Orlando, Florida, USA, 25th October, 2009
What to do?
We need a Domain Specific Language for the given business domain easy to learn by domain experts – known
concepts the language can be made fitting our needs
completely We need a tool implementing the language
the tool can be made in our tool building platform thus it overcomes the problems mentioned previously
DSM Workshop, OOPSLA, Orlando, Florida, USA, 25th October, 2009
The Transformation-Driven Architecture
J. Barzdins, S. Kozlovics, E. Rencis.The Transformation-Driven Architecture.Proceedings of DSM’08 Workshop of OOPSLA 2008,Nashville, USA, pp. 60–63, 2008.
DSM Workshop, OOPSLA, Orlando, Florida, USA, 25th October, 2009
Graphical Tool Building Platform GrTP Implements principles of the TDA Contains five engines (others can be plugged in
when needed) graph diagram engine dialog engine database engine word engine multi-user engine
Provides model transformations for user-created events
Introduces the Tool Definition Metamodel (TDMM) allowing to build tools more easily
DSM Workshop, OOPSLA, Orlando, Florida, USA, 25th October, 2009
The Tool Definition Metamodel TDMM provides a way of storing the definition of
tools (graphical editors) each tool is described as an instance of TDMM
instances can be generated using a graphical configurator universal transformation interprets TDMM together with its
instances at runtime TDMM contains, so called, Extension Mechanism
the set of precisely defined extension points a transformation assigned to each point universal transformation calls the assigned transformation at
specific time (defined by the point) possibility to alter the behavior of tools
DSM Workshop, OOPSLA, Orlando, Florida, USA, 25th October, 2009
Fragment of TDMM
DSM Workshop, OOPSLA, Orlando, Florida, USA, 25th October, 2009
Tool Definition Metamodel: The Core (Simplified) Tool Definition Metamodel:Extension Mechanism (Simplified)
ElemStylename:String...
PaletteLine
Palette
PaletteBox
Toolname:String
ElemTypename:String
EdgeType
PairstartMultiplicityConstraint:MultiplicityendMultiplicityConstraint:Multiplicity
NodeTypemultiplicityConstraint:Multiplicity
CompartTypename:StringstartValue:StringisInElement:BooleanisInDialog:BooleanisEditable:Boolean
GraphDiagramStylelayoutMode:Integer...
PaletteElementname:Stringpicture:String
Before Element Deleted
After Element Modified
After Element Created
After Compart Created
After Compart Modified
AfterClick ComboBox
ListBox
CompartStylefontSize:IntegerfontColor:Integer
PopUpElementname:StringisVisible:Boolean
GraphDiagramTypename:String
Keyboard
Toolbar
ToolbarElementname:Stringpicture:StringisVisible:Boolean
Keyname
PopUp
Transformationname: String
PredefinedToolbarElement AdvancedToolbarElement
*
defaultStyle
1
1
*
oElTypeoptionalStyle 1
*
dElTypedefaultStyle 1
0..1
start
* 1..*
{ordered}
*
{ordered}
*end
*
1..*
start 1
end 1
1..*
focusStart 0..1
dCompStyle
defaultStyle
1
0..1
oCompStyle
optionalStyle
1
*
*
*
first 1
{ordered} *
choiceItemsGenerator 0..1
{ordered}*
{ordered} *
{ordered} *
0..1
0..1
{ordered} *
{ordered} *
RClickElement 0..1
1
source
target
*
0..1
new
1
1..*
new
1
1
0..1
Case study – two BPM languages Project Assessment Diagrams (PAD)
editor for defining and vizualizing business processes regarding review and assessment of projects
language similar to UML activity diagrams some new elements lots of new attributes
requirements for tool possibility to send data to some outer database simple business process monitoring
State Social Insurance Agency (SSIA) manager of various social insurance processes language more similar to BPMN requirements for tool
online collaboration with a relational database during process development generation of reports in a form of Microsoft Word checking of various semantic constraints simple solution to DSL (and platform) evolution problem
DSM Workshop, OOPSLA, Orlando, Florida, USA, 25th October, 2009
Implementation of PAD and SSIA First step – development of graphical editors
generation of TDMM instances using the graphical configurator addition of some dynamic facilities using the Extension
Mechanism dynamically generating combo box items dynamically generating pop-ups adding specific toolbar elements ...
Second step – extension of the platform development of new engines
database engine word engine multi-user engine
evolution of the Tool Definition Metamodel
DSM Workshop, OOPSLA, Orlando, Florida, USA, 25th October, 2009
Summary
Results Two DSLs for BPM have been developed The Transformation-Driven Architecture has been tested
test passed The tool building platform GrTP has been examined
three new engines have been created the tool definition metamodel has been improved
Future work to develop a platform for building domain specific BPM
suites several facilities (process editor, process engine, simulator,
etc.) included in one suite
DSM Workshop, OOPSLA, Orlando, Florida, USA, 25th October, 2009
Questions?
DSM Workshop, OOPSLA, Orlando, Florida, USA, 25th October, 2009