Using Ontologies for Flexibly Specifying Multi-User Processes ICSE 2010 Workshop on Flexible Modeling Tools Cape Town, South Africa, 2 May 2010 Gregor Gabrysiak , Holger Giese and Andreas Seibel System Analysis and Modeling Group Hasso Plattner Institute University of Potsdam
Formal Tools Pros • automatic detection of errors • maintenance throughout the model is simple • reusable throughout a project Cons • restricted by metamodel • early commitment Figure: UML Model (MS Visio) • overhead for small projects Gregor Gabrysiak, FlexiTools 2010, 2 May 2010 Formal vs. Informal Tools 2
Informal and General-Purpose Tools Pros • easy to use A B1 • everything can be captured • degrees of freedom are similar to whiteboards B2 C Cons • no metamodel D • changing references • presentable, rarely reusable Figure: Process Model (Keynote) Gregor Gabrysiak, FlexiTools 2010, 2 May 2010 Formal vs. Informal Tools 3
Bridging the Gap Formal Ontologies as Flexible Metamodels • less restrictive • missing concepts can be added on demand • capable of capturing the modeler’s intent Flexible • a model can always be interpreted with its Metamodel corresponding metamodel Informal Gregor Gabrysiak, FlexiTools 2010, 2 May 2010 Introducing Ontologies 4
Using a Formal Modelling Tool M2 Metamodel (Formal Tool) <<instanceOf>> <<instanceOf>> <<instanceOf>> M1 User Generated customer:Role boss:Role assistant:Role Model Gregor Gabrysiak, FlexiTools 2010, 2 May 2010 Introducing Ontologies 5
Extending the Meta Model M2 Metamodel Project- Specific <<instanceOf>> <<instanceOf>> <<instanceOf>> M1 User Generated max:Customer jane:Boss john:Assistant Model Gregor Gabrysiak, FlexiTools 2010, 2 May 2010 Introducing Ontologies 6
Using Ontologies as Meta Model M2 Basic Ontology Project- Specific <<instanceOf>> <<instanceOf>> <<instanceOf>> M1 User Generated max:Customer jane:Boss john:Assistant Model Gregor Gabrysiak, FlexiTools 2010, 2 May 2010 Introducing Ontologies 7
Creating Behavioral Specifications I Using the terminology defined in the ontology, an analyst can... • describe an observed situation • describe the follow-up state • the difference between both specifies an action • specified in the terminology defined in the ontology receiver Initial state Follow-up state Gregor Gabrysiak, FlexiTools 2010, 2 May 2010 Modelling with Ontologies 8
Creating Behavioral Specifications II receiver � �� � !"#$%9,5:5/(* %2%9,5:5/(* 1(/ ++%%(00(-1"$ ++ ++ 01)/%2%34/056", %2%&'()* 7%2%8//)/0(#0 ,"-").", /"#$", Gregor Gabrysiak, FlexiTools 2010, 2 May 2010 Modelling with Ontologies 9
So, what do we have? • behavioral and situational specification of a process • formal specifications that can be simulated • all specifications reference elements of the flexible metamodel !"#$%9,5:5/(* • specified in the %2%9,5:5/(* 1(/ terminology defined in the ++%%(00(-1"$ ++ ++ ontology 01)/%2%34/056", %2%&'()* 7%2%8//)/0(#0 ,"-").", /"#$", • specification is affected by changes in the ontology Gregor Gabrysiak, FlexiTools 2010, 2 May 2010 Modelling with Ontologies 10
So, what do we have? • behavioral and situational specification of a process • formal specifications that can be simulated • all specifications reference elements of the flexible metamodel !"#$%9,5:5/(* • specified in the %2%9,5:5/(* 1(/ terminology defined in the ++%%(00(-1"$ ++ ++ ontology 01)/%2%34/056", %2%&'()* 7%2%8//)/0(#0 ,"-").", /"#$", • specification is affected by changes in the ontology Gregor Gabrysiak, FlexiTools 2010, 2 May 2010 Modelling with Ontologies 10
So, what do we have? • behavioral and situational specification of a process • formal specifications that can be simulated • all specifications reference elements of the flexible metamodel !"#$%9,5:5/(* • specified in the %2%9,5:5/(* 1(/ terminology defined in the ++%%(00(-1"$ ++ ++ ontology 01)/%2%34/056", %2%&'()* 7%2%8//)/0(#0 ,"-").", /"#$", • specification is affected by changes in the ontology Gregor Gabrysiak, FlexiTools 2010, 2 May 2010 Modelling with Ontologies 10
When Working with Flexible Metamodels... We have to deal with ... • addition, modification, and removal of • classes, properties, methods, and associations + 2 Gregor Gabrysiak, FlexiTools 2010, 2 May 2010 Handling Ontology Modifications 11
When Working with Flexible Metamodels... We have to deal with ... • addition, modification, and removal of • classes, properties, methods, and associations + 2 Worst Case Scenario modeled specifications become unreadable with modified metamodel Gregor Gabrysiak, FlexiTools 2010, 2 May 2010 Handling Ontology Modifications 11
Modifications of the Ontology Addition Removal Modification Class � � � � Property � � � � Association � � � � Addition of any new Element • not referenced yet = ⇒ no action necessary • save as often as possible • small deltas between versions • old version of the ontology is kept • when saving, ID s can be added Gregor Gabrysiak, FlexiTools 2010, 2 May 2010 Handling Ontology Modifications 12
Modifications of the Ontology Addition Removal Modification Class � � � � � Property � � � (user assisted) � � Association � � � (user assisted) � � Removal of any referenced Element • Class : dangling references are redirected (recursively) to the corresponding superclass • Property : either delete references or move to superclass • Association • pointing to deleted class: redirect to superclass • else: either delete references or propose substitutes Gregor Gabrysiak, FlexiTools 2010, 2 May 2010 Handling Ontology Modifications 12
Modifications of the Ontology Addition Removal Modification Class � � � � � � (user assisted) Property � � � (user assisted) � (user assisted) � � Association � � � (user assisted) � (user assisted) � � Modification of any referenced Element • modeler’s intent is unclear • syntactical change ( Bosss becomes Boss ): • same concepts apply, references still valid • IDs can be used to redirect from Bosss to Boss • semantical change ( +getX() becomes +setX() ): • different concepts apply, references invalid • remove old version + add new version Gregor Gabrysiak, FlexiTools 2010, 2 May 2010 Handling Ontology Modifications 12
Conclusions 2 + + + + value: int +age: int !"#$%9,5:5/(* %2%9,5:5/(* 1(/ ++%%(00(-1"$ ++ ++ 01)/%2%34/056", %2%&'()* ,"-").", 7%2%8//)/0(#0 this:Customer2 /"#$", b:Role • ontologies as flexible metamodels • concepts for handling metamodel changes • implementation in Eclipse & EMF • automatic reload of changes in metamodel • Addition of elements fully functional Gregor Gabrysiak, FlexiTools 2010, 2 May 2010 Handling Ontology Modifications 13
Recommend
More recommend