domain specific languages for business process management: a case study janis barzdins, karlis...

18
Domain specific languages for Business Process Management: a Case Study Janis 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

Upload: jean-mccormick

Post on 23-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Domain specific languages for Business Process Management: a Case Study Janis Barzdins, Karlis Cerans, Mikus Grasmanis, Audris Kalnins, Sergejs Kozlovics,

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

Page 2: Domain specific languages for Business Process Management: a Case Study Janis Barzdins, Karlis Cerans, Mikus Grasmanis, Audris Kalnins, Sergejs Kozlovics,

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

Page 3: Domain specific languages for Business Process Management: a Case Study Janis Barzdins, Karlis Cerans, Mikus Grasmanis, Audris Kalnins, Sergejs Kozlovics,

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

Page 4: Domain specific languages for Business Process Management: a Case Study Janis Barzdins, Karlis Cerans, Mikus Grasmanis, Audris Kalnins, Sergejs Kozlovics,

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

Page 5: Domain specific languages for Business Process Management: a Case Study Janis Barzdins, Karlis Cerans, Mikus Grasmanis, Audris Kalnins, Sergejs Kozlovics,

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

Page 6: Domain specific languages for Business Process Management: a Case Study Janis Barzdins, Karlis Cerans, Mikus Grasmanis, Audris Kalnins, Sergejs Kozlovics,

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

Page 7: Domain specific languages for Business Process Management: a Case Study Janis Barzdins, Karlis Cerans, Mikus Grasmanis, Audris Kalnins, Sergejs Kozlovics,

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

Page 8: Domain specific languages for Business Process Management: a Case Study Janis Barzdins, Karlis Cerans, Mikus Grasmanis, Audris Kalnins, Sergejs Kozlovics,

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

Page 9: Domain specific languages for Business Process Management: a Case Study Janis Barzdins, Karlis Cerans, Mikus Grasmanis, Audris Kalnins, Sergejs Kozlovics,

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

Page 10: Domain specific languages for Business Process Management: a Case Study Janis Barzdins, Karlis Cerans, Mikus Grasmanis, Audris Kalnins, Sergejs Kozlovics,

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

Page 11: Domain specific languages for Business Process Management: a Case Study Janis Barzdins, Karlis Cerans, Mikus Grasmanis, Audris Kalnins, Sergejs Kozlovics,

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

Page 12: Domain specific languages for Business Process Management: a Case Study Janis Barzdins, Karlis Cerans, Mikus Grasmanis, Audris Kalnins, Sergejs Kozlovics,

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

Page 13: Domain specific languages for Business Process Management: a Case Study Janis Barzdins, Karlis Cerans, Mikus Grasmanis, Audris Kalnins, Sergejs Kozlovics,
Page 14: Domain specific languages for Business Process Management: a Case Study Janis Barzdins, Karlis Cerans, Mikus Grasmanis, Audris Kalnins, Sergejs Kozlovics,
Page 15: Domain specific languages for Business Process Management: a Case Study Janis Barzdins, Karlis Cerans, Mikus Grasmanis, Audris Kalnins, Sergejs Kozlovics,
Page 16: Domain specific languages for Business Process Management: a Case Study Janis Barzdins, Karlis Cerans, Mikus Grasmanis, Audris Kalnins, Sergejs Kozlovics,
Page 17: Domain specific languages for Business Process Management: a Case Study Janis Barzdins, Karlis Cerans, Mikus Grasmanis, Audris Kalnins, Sergejs Kozlovics,

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

Page 18: Domain specific languages for Business Process Management: a Case Study Janis Barzdins, Karlis Cerans, Mikus Grasmanis, Audris Kalnins, Sergejs Kozlovics,

Questions?

DSM Workshop, OOPSLA, Orlando, Florida, USA, 25th October, 2009