A Formal Descriptive Semantics of Uml and Its Applications
نویسندگان
چکیده
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 ) inFOPL for model M and pattern P , then every system that is an instance ofM 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 formalspecification Spec(P ) of pattern P . For all models M , if [[M ]] ⇒Spec′(P ) istrue in FOPL, then, for all systems s ∈ D, s |= M and M |= Spec(P ) implys |= 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 patternspecification repository. The conjecture generator of the LAMBDES tool isimplemented to enable the proof (or disproof) of the conformance of a UMLdesign model to a pattern. We have also conducted an experiment with theLAMBDES tool on its ability to recognise patterns in design instances. Theexperiment 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 apattern it should reject) is below 22%. Details of the experiment are omittedhere 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 ofthe modelling language, or they may be in conflict with each other. Such logicerrors 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 patternsP in the repository, AxmD ∪ Spec(P ) false. So, all the specifications inour 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 onepattern is a specialisation of another. In [4], it is argued that the relationshipthat a design pattern P is a specialisation of pattern Q can be written asSpec(P ) → Spec(Q). Such a relationship can be formally proved by usingLAMBDES and SPASS to infer that AxmD ∪ Spec(P ) Spec(Q). In thecontext of descriptive semantics, we can now prove the following property ofthe 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 aninstance of P then x is also an instance of pattern Q, i.e. ∀x·(x |= Spec(P ) →x |= Spec(Q)).
منابع مشابه
A Formal Descriptive Semantics of UML
This paper proposes a novel approach to the formal definition of UML semantics. We distinguish descriptive semantics from functional semantics of modelling languages. The former defines which system is an instance of a model while the later defines the basic concepts underlying the models. In this paper, the descriptive semantics of class diagram, interaction diagram and state machine diagram a...
متن کاملMapping Sequence diagram in Fuzzy UML to Fuzzy Petri Net
This ability in fuzzy UML, practically leaves the customers and market’s need without response in this important and vital area. Here, the available sequence diagrams in fuzzy UML will map into fuzzy Petri net. However, the formal models ability will be added to the Semi-formal fuzzy UML. This formalization will add the automatic processing ability to the Semi-formal fuzzy UML. Further more, t...
متن کاملA Formal Mapping between UML Models and Object-Z Specifications
This paper provides a precise and descriptive semantics for core modeling concepts in Object-Z and a formal description for UML class constructs. Given the formal descriptions, it also provides a formal semantic mapping between the modeling constructs of the two languages.
متن کاملUML 2.0 State Machines: Complete Formal Semantics Via core state machine
UML has become the standard modeling language for object-oriented systems. The informal description of UML and its continuous extension cause many ambiguities. Therefore, a formal semantics for UML is necessary, especially for formal reasoning and tool development. We present a formal semantics of UML 2.0 state machines, which are used for modeling the reactive behavior of objects, by (i) deriv...
متن کاملA Typed Attributed Graph Grammar with Inheritance for the Abstract Syntax of UML Class and Sequence Diagrams
According to the UML Standard 2.0 class and sequence diagrams are defined in a descriptive way by a MOF meta-model and semi-formal constraints. This paper presents a formal and constructive definition of the abstract syntax of UML class and sequence diagrams based on the well-defined theory of typed attributed graph transformation with inheritance and application conditions. The generated langu...
متن کاملTowards Dynamic Meta Modeling of UML Extensions: An Extensible Semantics for UML Sequence Diagrams
The Unified Modeling Language (UML) still lacks a formal and commonly agreed specification of its semantics that also accounts for UML’s built-in semantic variation points and extension mechanisms. The semantics specification of such extensions must be formally integrated and consistent with the standard UML semantics without changing the latter. Feasible semantics approaches must thus allow ad...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2008