Pub Date : 2009-10-19DOI: 10.1002/9780470522622.CH6
K. Lano
{"title":"Axiomatic Semantics of UML Class Diagrams","authors":"K. Lano","doi":"10.1002/9780470522622.CH6","DOIUrl":"https://doi.org/10.1002/9780470522622.CH6","url":null,"abstract":"","PeriodicalId":430141,"journal":{"name":"UML 2 Semantics and Applications","volume":"44 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124755308","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2009-10-19DOI: 10.1002/9780470522622.CH4
M. Broy, M. V. Cengarle, Hans Grönniger, Bernhard Rumpe
This chapter is devoted to the definition of a system model tailored towards UML. The hierarchy of theories that compose the system model is stepwise introduced. These theories are combined into a theory of sophisticated state transition systems. The semantics of a word in a UML sublanguage, i.e., a diagram, can then be defined by a set of such transition systems. Given two or more actual diagrams, possibly forming a complete UML model, the semantics of them together is defined by the intersection of their translations into the system model. In other words, consistency of a model is defined by non-empty intersection of the sets containing the transition systems that implement the diagrams individually.
{"title":"Definition of the System Model","authors":"M. Broy, M. V. Cengarle, Hans Grönniger, Bernhard Rumpe","doi":"10.1002/9780470522622.CH4","DOIUrl":"https://doi.org/10.1002/9780470522622.CH4","url":null,"abstract":"This chapter is devoted to the definition of a system model tailored towards UML. The hierarchy of theories that compose the system model is stepwise introduced. These theories are combined into a theory of sophisticated state transition systems. The semantics of a word in a UML sublanguage, i.e., a diagram, can then be defined by a set of such transition systems. Given two or more actual diagrams, possibly forming a complete UML model, the semantics of them together is defined by the intersection of their translations into the system model. In other words, consistency of a model is defined by non-empty intersection of the sets containing the transition systems that implement the diagrams individually.","PeriodicalId":430141,"journal":{"name":"UML 2 Semantics and Applications","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125836400","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2009-10-19DOI: 10.1002/9780470522622.CH1
K. Lano
{"title":"Introduction to the Unified Modeling Language","authors":"K. Lano","doi":"10.1002/9780470522622.CH1","DOIUrl":"https://doi.org/10.1002/9780470522622.CH1","url":null,"abstract":"","PeriodicalId":430141,"journal":{"name":"UML 2 Semantics and Applications","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131140171","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2009-10-19DOI: 10.1002/9780470522622.CH8
K. Lano, D. Clark
{"title":"Axiomatic Semantics of State Machines","authors":"K. Lano, D. Clark","doi":"10.1002/9780470522622.CH8","DOIUrl":"https://doi.org/10.1002/9780470522622.CH8","url":null,"abstract":"","PeriodicalId":430141,"journal":{"name":"UML 2 Semantics and Applications","volume":"41 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126800987","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2009-10-19DOI: 10.1002/9780470522622.CH5
Hong Zhu, L. Shan, Ian Bayley, Richard Amphlett
ClassXX +TemplateMethod() +Others() ConcreteClassXX Figure 1.19 Example design instance in template method pattern The following theorem states that if we can prove [[M ]] → Spec′(P ) in FOPL for model M and pattern P , then every system that is an instance of M must conform to pattern P . The proof is omitted for the sake of space. Theorem 1.2 Suppose that Spec′(P ) is a correct translation of the formal specification Spec(P ) of pattern P . For all models M , if [[M ]] ⇒ Spec′(P ) is true in FOPL, then, for all systems s ∈ D, s |= M and M |= Spec(P ) imply s |= Spec′(P ). We have translated the specifications given in [5] for all 23 design pat- terns in the GoF book into LAMBDES format. They are stored in a pattern specification repository. The conjecture generator of the LAMBDES tool is implemented to enable the proof (or disproof) of the conformance of a UML design model to a pattern. We have also conducted an experiment with the LAMBDES tool on its ability to recognise patterns in design instances. The experiment results show that the false negative error rate (for rejecting a pat- tern it should accept) is 0% while the false positive error rate (for accepting a pattern it should reject) is below 22%. Details of the experiment are omitted here for the sake of space, and will be reported separately. 1.4.5 Logic analysis of design patterns It is worth noting that the specification of a design pattern may contain errors. The conditions to satisfy the pattern may be in conflict with the semantics of the modelling language, or they may be in conflict with each other. Such logic errors can be detected by using LAMBDES tool and SPASS theorem prover. 26 UML DESCRIPTIVE SEMANTICS AND APPLICATIONS In particular, let Spec(P ) be a specification of a pattern P . If AxmD ∪ Spec(P ) false, we can conclude that Spec(P ) contains such errors. In the development of the pattern specification repository, using LAMB- DES and SPASS, we have proved that for all specifications of design patterns P in the repository, AxmD ∪ Spec(P ) false. So, all the specifications in our repository are consistent with the axioms of descriptive semantics. Another application of LAMBDES and SPASS in the logic analysis of de- sign patterns is to prove relations between patterns, for example, to prove one pattern is a specialisation of another. In [4], it is argued that the relationship that a design pattern P is a specialisation of pattern Q can be written as Spec(P ) → Spec(Q). Such a relationship can be formally proved by using LAMBDES and SPASS to infer that AxmD ∪ Spec(P ) Spec(Q). In the context of descriptive semantics, we can now prove the following property of the pattern specialisation relation. Theorem 1.3 Let Dom be a subject domain that is consistent with FOPL. If AxmD ∪ Spec(P ) Spec(Q), then, for all systems x ∈ Dom, if x is an instance of P then x is also an instance of pattern Q, i.e. ∀x·(x |= Spec(P ) → x |= Spec(Q)).
{"title":"Formal Descriptive Semantics of UML and Its Applications","authors":"Hong Zhu, L. Shan, Ian Bayley, Richard Amphlett","doi":"10.1002/9780470522622.CH5","DOIUrl":"https://doi.org/10.1002/9780470522622.CH5","url":null,"abstract":"ClassXX +TemplateMethod() +Others() ConcreteClassXX Figure 1.19 Example design instance in template method pattern The following theorem states that if we can prove [[M ]] → Spec′(P ) in FOPL for model M and pattern P , then every system that is an instance of M must conform to pattern P . The proof is omitted for the sake of space. Theorem 1.2 Suppose that Spec′(P ) is a correct translation of the formal specification Spec(P ) of pattern P . For all models M , if [[M ]] ⇒ Spec′(P ) is true in FOPL, then, for all systems s ∈ D, s |= M and M |= Spec(P ) imply s |= Spec′(P ). We have translated the specifications given in [5] for all 23 design pat- terns in the GoF book into LAMBDES format. They are stored in a pattern specification repository. The conjecture generator of the LAMBDES tool is implemented to enable the proof (or disproof) of the conformance of a UML design model to a pattern. We have also conducted an experiment with the LAMBDES tool on its ability to recognise patterns in design instances. The experiment results show that the false negative error rate (for rejecting a pat- tern it should accept) is 0% while the false positive error rate (for accepting a pattern it should reject) is below 22%. Details of the experiment are omitted here for the sake of space, and will be reported separately. 1.4.5 Logic analysis of design patterns It is worth noting that the specification of a design pattern may contain errors. The conditions to satisfy the pattern may be in conflict with the semantics of the modelling language, or they may be in conflict with each other. Such logic errors can be detected by using LAMBDES tool and SPASS theorem prover. 26 UML DESCRIPTIVE SEMANTICS AND APPLICATIONS In particular, let Spec(P ) be a specification of a pattern P . If AxmD ∪ Spec(P ) false, we can conclude that Spec(P ) contains such errors. In the development of the pattern specification repository, using LAMB- DES and SPASS, we have proved that for all specifications of design patterns P in the repository, AxmD ∪ Spec(P ) false. So, all the specifications in our repository are consistent with the axioms of descriptive semantics. Another application of LAMBDES and SPASS in the logic analysis of de- sign patterns is to prove relations between patterns, for example, to prove one pattern is a specialisation of another. In [4], it is argued that the relationship that a design pattern P is a specialisation of pattern Q can be written as Spec(P ) → Spec(Q). Such a relationship can be formally proved by using LAMBDES and SPASS to infer that AxmD ∪ Spec(P ) Spec(Q). In the context of descriptive semantics, we can now prove the following property of the pattern specialisation relation. Theorem 1.3 Let Dom be a subject domain that is consistent with FOPL. If AxmD ∪ Spec(P ) Spec(Q), then, for all systems x ∈ Dom, if x is an instance of P then x is also an instance of pattern Q, i.e. ∀x·(x |= Spec(P ) → x |= Spec(Q)).","PeriodicalId":430141,"journal":{"name":"UML 2 Semantics and Applications","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125269083","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2009-10-19DOI: 10.1002/9780470522622.CH3
M. Broy, M. V. Cengarle, Hans Grönniger, Bernhard Rumpe
Semantics definition for the UnifiedModeling Language (UML) [33, 8] is not an easy task. Although considerable efforts have been made starting in the late nineties [19], no commonly agreed, formal and integrated semantics of the UML exists. In [1], we have defined a system model as a semantic domain for the UML. The system model is supposed to form a possible core and foundation of the UML semantics definition. For that purpose, the definitions are targeted towards UML which means that central concepts of UML have been formalized as theories of the system model. This contribution is structured as follows: In the rest of this Chapter, we discuss the general approach and highlight the main decisions. This Chapter is important to understand the system model definition, given in Chapter 4. This work is based on
{"title":"Considerations and Rationale for a UML System Model","authors":"M. Broy, M. V. Cengarle, Hans Grönniger, Bernhard Rumpe","doi":"10.1002/9780470522622.CH3","DOIUrl":"https://doi.org/10.1002/9780470522622.CH3","url":null,"abstract":"Semantics definition for the UnifiedModeling Language (UML) [33, 8] is not an easy task. Although considerable efforts have been made starting in the late nineties [19], no commonly agreed, formal and integrated semantics of the UML exists. In [1], we have defined a system model as a semantic domain for the UML. The system model is supposed to form a possible core and foundation of the UML semantics definition. For that purpose, the definitions are targeted towards UML which means that central concepts of UML have been formalized as theories of the system model. This contribution is structured as follows: In the rest of this Chapter, we discuss the general approach and highlight the main decisions. This Chapter is important to understand the system model definition, given in Chapter 4. This work is based on","PeriodicalId":430141,"journal":{"name":"UML 2 Semantics and Applications","volume":"41 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127410206","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2009-10-19DOI: 10.1002/9780470522622.CH2
K. Lano
{"title":"The Role of Semantics","authors":"K. Lano","doi":"10.1002/9780470522622.CH2","DOIUrl":"https://doi.org/10.1002/9780470522622.CH2","url":null,"abstract":"","PeriodicalId":430141,"journal":{"name":"UML 2 Semantics and Applications","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123012730","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}