SlideShare a Scribd company logo
1 of 58
Approaches to Software Model Inconsistency Management ,[object Object],Tom Mens http://www.evolumons.be http://informatique.umons.ac.be/genlog
CSMR 2010: 15 th  European Conference on Software Maintenance and Reengineering ,[object Object],[object Object],[object Object],[object Object],[object Object],Commercial break
Main challenge: Software co-evolution ,[object Object],Design models Class diagrams Implementation artefacts Sequencediagrams State machine diagrams Activity diagrams Test code Production code Data(base) Specification models Architectural descriptions Use case diagrams Requirements specs speed of evolution slow fast
Main challenge: Software co-evolution ,[object Object],Design models Class diagrams Sequence diagrams State machine diagrams Activity diagrams
Main challenge: Software co-evolution ,[object Object],modeling level - M1 Class diagrams Sequence diagrams State machine diagrams Activity diagrams metametamodeling level – M3 MOF metamodeling level – M2 UML 1.4 UML 2.0 UML 2.1 speed of evolution slow fast
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Observation Tom Mens, 21 september 2010
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Research context Tom Mens, 21 september 2010
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Overview of the talk Tom Mens, 21 september 2010
Model inconsistency management Motivating example Tom Mens, 21 september 2010
Model inconsistency management Motivating example ATM PrintingATM Tom Mens, 21 september 2010
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Model inconsistency management Introduction Tom Mens, 21 september 2010
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Model inconsistency management Introduction Tom Mens, 21 september 2010
[object Object],[object Object],[object Object],[object Object],[object Object],Overview of the talk Tom Mens, 21 september 2010
[object Object],[object Object],[object Object],Model inconsistency management Using Description Logics Tom Mens, 21 september 2010
Model inconsistency management Tool support
Model inconsistency management Using Description Logics ,[object Object],[object Object]
Model inconsistency management Using Description Logics Class diagrams (instance atm class) (instance printingatm class) (instance asciiprintingatm class) (instance gen1 generalization) (instance gen2 generalization) (instance controls association) (instance atmend property) (instance asciiend property) (related atm gen1 generalization) (related printingatm gen1 generalization) (related printingatm gen2 generalization) (related asciiprintingatm gen2   generalization) (related atm printingatm direct-superclass) (related printingatm asciiprintingatm   direct-superclass) (related gen1 atm general) (related gen2 printingatm general) (related atm asciiend ownedAttribute) Sequence diagrams (define-concept m1 (and (all op checkIfCashAvailable) (exactly 1 op))) (define-concept m2 (and (all op ejectCard) (exactly 1 op)))) (define-concept m3 (and (all op dispensecash) (exactly 1 op))) (implies m1 (some r m2)) (implies m2 (some r m3)) (implies m3 (some r m4)) Statemachine diagrams (define-concept t1 (and (all op verifyAccount) (exactly 1 op))) (define-concept t2 (and (all op checkIfCashAvailable) (exactly 1 op))) (define-concept t3 (and (all op dispensecash) (exactly 1 op))) (define-concept t4 (and (all op ejectCard) (exactly 1 op))) (equivalent (and (some valid_PIN) t1)   (some r t2))) (equivalent t2 (some r t3)) (equivalent t3 (some r t4))
[object Object],[object Object],[object Object],[object Object],[object Object],Overview of the talk Tom Mens, 21 september 2010
[object Object],[object Object],[object Object],Model inconsistency management using  graph transformation UML model detect inconsistencies in UML model inconsistency detection  rules ? select inconsistencies to be resolved choose inconsistency resolution strategy inconsistency resolution  rules ? apply inconsistency resolutions annotate model with inconsistencies found modify model by selected resolution rules (may give rise to new inconsistencies) Tom Mens, 21 september 2010
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Model inconsistency management using  graph transformation Tom Mens, 21 september 2010
Tool support  ,[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],Tool support Tom Mens, 21 september 2010
[object Object],[object Object],Tool support Tom Mens, 21 september 2010
[object Object],[object Object],[object Object],[object Object],Tool support Tom Mens, 21 september 2010
[object Object],[object Object],[object Object],[object Object],Tool support Tom Mens, 21 september 2010
[object Object],[object Object],[object Object],[object Object],[object Object],Tool support Tom Mens, 21 september 2010
[object Object],[object Object],[object Object],Tool support Tom Mens, 21 september 2010
[object Object],[object Object],[object Object],Tool support Tom Mens, 21 september 2010
[object Object],[object Object],[object Object],Tool support Tom Mens, 21 september 2010
[object Object],[object Object],[object Object],[object Object],Tool support Tom Mens, 21 september 2010
[object Object],[object Object],[object Object],[object Object],[object Object],Tool support Tom Mens, 21 september 2010
Tool support -  AGG
Specify the metamodel ,[object Object]
Specify model inconsistencies  ,[object Object],[object Object],left-hand side (LHS) right-hand side (RHS) negative application condition (NAC)
Detect model inconsistencies  ,[object Object],[object Object]
Specify inconsistency resolutions ,[object Object],[object Object]
Analyse mutually conflicting resolutions ,[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],Analyse mutually conflicting resolutions G H 1 X T 1 T 2 G H 2 T 2
Analyse mutually conflicting resolutions ,[object Object],[object Object]
Analyse sequential dependencies ,[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],Analyse sequential dependencies G H 1 X T 1 T 2 G H 2 T 2
Analyse sequential dependencies ,[object Object],[object Object]
Analyse sequential dependencies ,[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],Overview of the talk Tom Mens, 21 september 2010
[object Object],[object Object],[object Object],[object Object],[object Object],Model inconsistency management Using Logic Programming Tom Mens, 21 september 2010
Model inconsistency management Using Logic Programming ,[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],General idea Tom Mens, 21 september 2010
Praxis an operation-based representation of models and their construction/evolution ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Example metamodel model instance of representation as a sequence of elementary construction operations  represented as 01.  create (c1, Class ) 02.  setProperty (c1, name , {‘PetStore’}) 03.  create (uc1, UseCase )   04.  setProperty (uc1, name , {‘Buy eBasket’}))   05.  create (uc2, UseCase )   06.  setProperty (uc2, name ,{‘Create eBasket’})   07.  create (uc3, UseCase )   08.  setProperty (uc3, name ,{‘Cancel eBasket’})   09.  setReference (c1, ownedUseCase ,{uc1,uc2,uc3})   10.  create (a1, Actor )   11.  setProperty (a1, name , {‘Customer’})   12.  setReference (a1,  usecase , {uc1,uc2,uc3}) constrained by information in the metamodel   Tom Mens, 21 september 2010
[object Object],[object Object],[object Object],[object Object],[object Object],Model inconsistency management Using Logic Programming if a = lastCreate (me, Actor) then  !   o      uc , o = lastSetReference(me,ownedUseCase, R) and R  ≠    .    a      uc , a  ≠  setProperty(me,name,{””}) ,[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],Overview of the talk Tom Mens, 21 september 2010
[object Object],[object Object],Model inconsistency management Using Automated Planning Tom Mens, 21 september 2010
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Automated planning Tom Mens, 21 september 2010
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Automated Planning Example Tom Mens, 21 september 2010
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Automated planning Tom Mens, 21 september 2010
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Overview of the talk Tom Mens, 21 september 2010
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Model inconsistency management Other possibilities? Tom Mens, 21 september 2010
Conclusion ,[object Object]

More Related Content

Similar to Approaches to software model inconsistency management

A Comparison of Traditional Simulation and MSAL (6-3-2015)
A Comparison of Traditional Simulation and MSAL (6-3-2015)A Comparison of Traditional Simulation and MSAL (6-3-2015)
A Comparison of Traditional Simulation and MSAL (6-3-2015)
Bob Garrett
 
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
IJSEA
 
Dexa2007 Orsi V1.5
Dexa2007 Orsi V1.5Dexa2007 Orsi V1.5
Dexa2007 Orsi V1.5
Giorgio Orsi
 
Model based software testing
Model based software testingModel based software testing
Model based software testing
Sachin MK
 

Similar to Approaches to software model inconsistency management (20)

A Comparison of Traditional Simulation and MSAL (6-3-2015)
A Comparison of Traditional Simulation and MSAL (6-3-2015)A Comparison of Traditional Simulation and MSAL (6-3-2015)
A Comparison of Traditional Simulation and MSAL (6-3-2015)
 
Patterns Overview
Patterns OverviewPatterns Overview
Patterns Overview
 
4213ijsea02
4213ijsea024213ijsea02
4213ijsea02
 
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
 
Experiments on Design Pattern Discovery
Experiments on Design Pattern DiscoveryExperiments on Design Pattern Discovery
Experiments on Design Pattern Discovery
 
Dexa2007 Orsi V1.5
Dexa2007 Orsi V1.5Dexa2007 Orsi V1.5
Dexa2007 Orsi V1.5
 
Model based software testing
Model based software testingModel based software testing
Model based software testing
 
ALMOsT.js: an Agile Model to Model and Model to Text Transformation Framework
ALMOsT.js: an Agile Model to Model and Model to Text Transformation FrameworkALMOsT.js: an Agile Model to Model and Model to Text Transformation Framework
ALMOsT.js: an Agile Model to Model and Model to Text Transformation Framework
 
My M.S. Thesis Proposal
My M.S. Thesis ProposalMy M.S. Thesis Proposal
My M.S. Thesis Proposal
 
On the Customization of Model Management Systems for File-Centric IDEs
On the Customization of Model Management Systems for File-Centric IDEsOn the Customization of Model Management Systems for File-Centric IDEs
On the Customization of Model Management Systems for File-Centric IDEs
 
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
 
Breathe Life Into Your IDE
Breathe Life Into Your IDEBreathe Life Into Your IDE
Breathe Life Into Your IDE
 
Uml diagram assignment help
Uml diagram assignment helpUml diagram assignment help
Uml diagram assignment help
 
The embedded systems Model
The embedded systems ModelThe embedded systems Model
The embedded systems Model
 
orocos-presentation-Barcelona2006.pdf
orocos-presentation-Barcelona2006.pdforocos-presentation-Barcelona2006.pdf
orocos-presentation-Barcelona2006.pdf
 
Ooad
OoadOoad
Ooad
 
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
 
Specifying quantities in software models
Specifying quantities in software modelsSpecifying quantities in software models
Specifying quantities in software models
 
On the Combination of Domain Specific Modeling Languages
On the Combination of Domain Specific Modeling LanguagesOn the Combination of Domain Specific Modeling Languages
On the Combination of Domain Specific Modeling Languages
 
Minimal Testcase Generation for Object-Oriented Software with State Charts
Minimal Testcase Generation for Object-Oriented Software with State ChartsMinimal Testcase Generation for Object-Oriented Software with State Charts
Minimal Testcase Generation for Object-Oriented Software with State Charts
 

More from Tom Mens

Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and RubygemsComparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Tom Mens
 
Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)
Tom Mens
 
Empirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package ManagersEmpirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package Managers
Tom Mens
 

More from Tom Mens (20)

How to be(come) a successful PhD student
How to be(come) a successful PhD studentHow to be(come) a successful PhD student
How to be(come) a successful PhD student
 
Recognising bot activity in collaborative software development
Recognising bot activity in collaborative software developmentRecognising bot activity in collaborative software development
Recognising bot activity in collaborative software development
 
A Dataset of Bot and Human Activities in GitHub
A Dataset of Bot and Human Activities in GitHubA Dataset of Bot and Human Activities in GitHub
A Dataset of Bot and Human Activities in GitHub
 
The (r)evolution of CI/CD on GitHub
 The (r)evolution of CI/CD on GitHub The (r)evolution of CI/CD on GitHub
The (r)evolution of CI/CD on GitHub
 
Nurturing the Software Ecosystems of the Future
Nurturing the Software Ecosystems of the FutureNurturing the Software Ecosystems of the Future
Nurturing the Software Ecosystems of the Future
 
Comment programmer un robot en 30 minutes?
Comment programmer un robot en 30 minutes?Comment programmer un robot en 30 minutes?
Comment programmer un robot en 30 minutes?
 
On the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHubOn the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHub
 
On backporting practices in package dependency networks
On backporting practices in package dependency networksOn backporting practices in package dependency networks
On backporting practices in package dependency networks
 
Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and RubygemsComparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
 
Lost in Zero Space
Lost in Zero SpaceLost in Zero Space
Lost in Zero Space
 
Evaluating a bot detection model on git commit messages
Evaluating a bot detection model on git commit messagesEvaluating a bot detection model on git commit messages
Evaluating a bot detection model on git commit messages
 
Is my software ecosystem healthy? It depends!
Is my software ecosystem healthy? It depends!Is my software ecosystem healthy? It depends!
Is my software ecosystem healthy? It depends!
 
Bot or not? Detecting bots in GitHub pull request activity based on comment s...
Bot or not? Detecting bots in GitHub pull request activity based on comment s...Bot or not? Detecting bots in GitHub pull request activity based on comment s...
Bot or not? Detecting bots in GitHub pull request activity based on comment s...
 
On the fragility of open source software packaging ecosystems
On the fragility of open source software packaging ecosystemsOn the fragility of open source software packaging ecosystems
On the fragility of open source software packaging ecosystems
 
How magic is zero? An Empirical Analysis of Initial Development Releases in S...
How magic is zero? An Empirical Analysis of Initial Development Releases in S...How magic is zero? An Empirical Analysis of Initial Development Releases in S...
How magic is zero? An Empirical Analysis of Initial Development Releases in S...
 
Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)
 
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
 
SecoHealth 2019 Research Achievements
SecoHealth 2019 Research AchievementsSecoHealth 2019 Research Achievements
SecoHealth 2019 Research Achievements
 
SECO-Assist 2019 research seminar
SECO-Assist 2019 research seminarSECO-Assist 2019 research seminar
SECO-Assist 2019 research seminar
 
Empirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package ManagersEmpirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package Managers
 

Recently uploaded

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Recently uploaded (20)

General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptx
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 

Approaches to software model inconsistency management

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9. Model inconsistency management Motivating example Tom Mens, 21 september 2010
  • 10. Model inconsistency management Motivating example ATM PrintingATM Tom Mens, 21 september 2010
  • 11.
  • 12.
  • 13.
  • 14.
  • 16.
  • 17. Model inconsistency management Using Description Logics Class diagrams (instance atm class) (instance printingatm class) (instance asciiprintingatm class) (instance gen1 generalization) (instance gen2 generalization) (instance controls association) (instance atmend property) (instance asciiend property) (related atm gen1 generalization) (related printingatm gen1 generalization) (related printingatm gen2 generalization) (related asciiprintingatm gen2 generalization) (related atm printingatm direct-superclass) (related printingatm asciiprintingatm direct-superclass) (related gen1 atm general) (related gen2 printingatm general) (related atm asciiend ownedAttribute) Sequence diagrams (define-concept m1 (and (all op checkIfCashAvailable) (exactly 1 op))) (define-concept m2 (and (all op ejectCard) (exactly 1 op)))) (define-concept m3 (and (all op dispensecash) (exactly 1 op))) (implies m1 (some r m2)) (implies m2 (some r m3)) (implies m3 (some r m4)) Statemachine diagrams (define-concept t1 (and (all op verifyAccount) (exactly 1 op))) (define-concept t2 (and (all op checkIfCashAvailable) (exactly 1 op))) (define-concept t3 (and (all op dispensecash) (exactly 1 op))) (define-concept t4 (and (all op ejectCard) (exactly 1 op))) (equivalent (and (some valid_PIN) t1) (some r t2))) (equivalent t2 (some r t3)) (equivalent t3 (some r t4))
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49. Example metamodel model instance of representation as a sequence of elementary construction operations represented as 01. create (c1, Class ) 02. setProperty (c1, name , {‘PetStore’}) 03. create (uc1, UseCase ) 04. setProperty (uc1, name , {‘Buy eBasket’})) 05. create (uc2, UseCase ) 06. setProperty (uc2, name ,{‘Create eBasket’}) 07. create (uc3, UseCase ) 08. setProperty (uc3, name ,{‘Cancel eBasket’}) 09. setReference (c1, ownedUseCase ,{uc1,uc2,uc3}) 10. create (a1, Actor ) 11. setProperty (a1, name , {‘Customer’}) 12. setReference (a1, usecase , {uc1,uc2,uc3}) constrained by information in the metamodel Tom Mens, 21 september 2010
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.

Editor's Notes

  1. The class diagram is translated as an instance of the UML metamodel (abox), so all model elements are instances The sequence and state diagrams are translated into DL concepts and relations.