ModelElement. AssociationEnd. Relationship 2. Association. Class. GeneralizableElement. ModelElement
|
|
- Stephanie Singleton
- 5 years ago
- Views:
Transcription
1 A UML Prole for Rigorous Requirements Modeling Robert B. France, Department of Computer Science Colorado State University Fort Collins, Colorado. Jean-Michel Bruel Laboratoire TASC, Department of Computer Science Universite de Pau et des Pays de l'adour Pau, France. Abstract A prole is a mechanism that allows one to specialize the syntax and semantics of the Unied Modeling Language (UML) to a particular usage. In this paper we outline a prole that denes a specialization of the UML that supports precise modeling and rigorous analysis of software requirements. 1 Introduction The Unied Modeling Language (UML) [10] is a set of notations for modeling systems from a variety of views using object-oriented (OO) concepts. A deterrent to the use of UML for modeling the requirements of complex systems is the lack of support for rigorous semantic analysis. Rigorous semantic analysis of models requires precise semantics of the modeling notations. A number of groups have attempted to dene precise semantics for subsets of the UML (e.g., see [6, 8, 11]). The precise UML (puml) group 1 consists of researchers and practitioners that are actively developing precise semantics for the UML. Discussions at puml organized OOPSLA and ECOOP workshops provide evidence that a single semantics for the UML may not be suitable for all conceivable usages of the UML. This has given rise to a new view of the UML as a family of languages [3], in which each member is a specialization of the UML to a particular usage. This view of the UML can be supported by the notion of a prole. A prole is a mechanism currently under development in the Object Management Group (OMG) to better manage the evolution of the UML [1]. Given a core set of UML concepts, the intent is that a prole would provide the extensions and specializations needed to eectively use the UML in particular ways. In our work, a prole is minimally dened as follows: prole = specialization/extension of UML metamodel classes + semantics This work was partially funded by NSF grant CCR
2 The result of specializing or extending UML metamodel classes is a set of constructs that are tailored to the particular usage of the UML. Such specializations/extensions determine the grammar of the UML variant dened by the prole. A prole also needs to dene the semantics of the structures created using the constructs of the UML variant. If the UML variant is to be used to precisely specify and rigorously analyze systems then the semantics must be formal. A prole should also dene techniques for analyzing the models created using the UML variant. If the semantics are formal then such analysis techniques can be used to determine properties that can be inferred from the models in a rigorous manner. In this paper we outline a UML prole for precisely modeling software requirements. The UML variant dened by the prole is referred to as the Rigorous Requirements Modeling Language (RRML). The material presented in this paper should be viewed as illustrations of some of the more prominent aspects and not as a full description of the prole; space does not allow ustogive a full description of the prole. The semantics part of the prole is expressed in the formal notation Z [12], but any other suitable formal notation can be used. We use Z because it conveniently expresses the semantics in a formal manner and it allows us to rigorously explore the consequences of the semantics. Knowledge of Z is not a prerequisite to the use of RRML; the semantics can also be expressed in natural language. In section 2 we give an overview of the metamodel dening the RRML grammar. In section 3 we describe the RRML semantics, and in section 4 we outline how the semantics can be used to support rigorous analysis of RRML models. We conclude in section 5 with an outline of our plans to further develop RRML. 2 The RRML Metamodel A RRML specication consists of the following specializations of UML models: A requirements-level Class Diagram (R-CD), and a set of formalized Use Cases (UCs). In the RRML there is a strict separation of concerns: R-CDs model only the static relationships among requirements elements while UCs model only the required behavior of the system. We describe the structure of these models in the following subsections. 2.1 Requirements Class Diagrams A R-CD is a problem-oriented conceptual model of a system. An example of a CD for a clinical laboratory system [9] is given in Fig. 1. The following modeling elements are used to construct R-CDs: Class: In a R-CD, a class is represented by a UML class symbol that consists of a partition containing the name of the class, and another containing a list of attributes for the class. Type information for attributes may ormay not be shown in a R-CD. In a R-CD, class properties are expressed using only object-scope attributes; operations are not associated with classes in a R-CD. We agree with the developers of the Fusion method [2] that assignment of operations to classes can lead to design-level decisions. All attributes are public in a R-CD in the sense that they can be referenced in other parts of the requirements specication. Only two types of relationships can be represented in a R-CD: association and generalization relationships. Associations consist of two association ends: only binary Relationship: 2
3 Figure 1: The Clinical Class Diagram associations are allowed in a R-CD. We have been able to reduce cases involving higher-order associations (those with 3 or more association ends) to binary associations using aggregation. The restriction to binary associations simplies the semantics and has insignicant impact on the expressiveness of RRML. Constraint: Constraints on model elements are expressed in the Object Constraint Language (OCL) [13]. An outline of the metamodel for R-CDs is shown in Fig. 2 (attributes and constraints are missing from the diagram - these are essentially the same as those found in the Core package of the UML metamodel [10]). 2.2 Formalized Use Cases RRML Use Cases are used to specify required system operations. A system operation can be (1) one that is invoked by users (external agents) of the system, or (2) one that is not invoked by an external agent, but is required of the system (e.g., logging of banking transactions). The Use Case format used in RRML is based on Fusion Operation Models [2]. An example is given below: Operation : enter test request Description : Enter information about a sample and the test to be performed on it. Reads : supplied sample inf o, ::: Change : new sample, ::: Sends : labeler : send label inf o Pre-Condition : There is a patient report that has been selected as current, current patient report Post-Condition : A new test request has been created to hold information about the requested test type and sample; ::: 3
4 RCDmetamodel 1(1) ModelElement 1..* constrainedelement{ordered} * constraint Relationship 2 AssociationEnd Constraint type * 1 {ordered} connection 1 Generalization Association Class owner 1 GeneralizableElement feature * Attribute multiplicity changeability ModelElement Figure 2: The R-CD MetaModel The use of natural language is for presentation purposes only; there is an underlying formal semantics for UCs as outlined later in this paper. One can use the OCL to express the Pre- and Post-condition parts of a UC. 3 RRML Semantics In this section we give anoverview of the precise semantics for Class Diagrams and Use Cases and outline how they can be used to support rigorous analyses. 3.1 R-CD Semantics We interpret a R-CD as a characterization of valid, externally observable application states. An (externally observable) application state is an object structure that consists of all the objects and links that can be observed by external agents at some point in time. A R-CD precisely states the properties that valid (application) states must have. In this paper we refer to the valid states that possess the properties expressed in a R-CD as congurations. The objects and links in a conguration are those that have been created and not yet destroyed at some point in time. Our semantics is similar to the interpretation of Class Diagrams used in the Catalysis method, where a conguration is called a snapshot [4]. Our interpretation of attributes, associations and generalization/specialization varies from those used in the Catalysis approach; our interpretation is tailored to the use of Class Diagrams for requirements modeling. The semantics of R-CD constructs are expressed using Z schemata. A Z schema consists of two parts: a declaration part and a predicate part. Variables and their types are declared in the declaration, and constraints on the variables are expressed in the predicate part. The predicate part is expressed using predicate logic and set notations. Natural language descriptions of the more complex schemata presented in this paper will be given to aid readability. Semantically, a 4
5 Z schema denes the values that can be associated with the declared variables. We illustrate the formal semantics by applying it to parts of the R-CD shown in Fig. 1 in the following subsections Class Semantics The set of all objects that have the properties specied in a class is called the object space of the class. In a conguration, the set of all objects that belong to a class is called the conguration set of the class, and the objects in the set are referred to as conguration objects of the class. A conguration set is always a subset of the object space of the class; it contains the set of objects that have been created and not yet destroyed at some point in time. A basic class is one that is not a specialization (subclass) in a generalization hierarchy. A basic class is formally interpreted as a characterization of its conguration sets. Our interpretation of a R-CD class implies that constraints associated with classes in a R-CD are constraints on their conguration sets. For example, class multiplicity restricts the number of objects that can be in a conguration set of the class. An attribute is interpreted as a placeholder for non-object values. The semantics of attributes in a class is expressed in Z by an attribute schema. The attribute schema for SampleSlot is given below (the qlength attribute in the R-CD is restricted to a value less than or equal to 20): SampleSlot Attrs qlength : N qlength 20 The semantics of a basic class is expressed by a Z schema called an instance schema. An instance schema denes the properties that each object of the class must possess when it is present in a conguration. The declaration part of the instance schema consists of (1) a variable representing conguration sets of the class (referred to as the conguration set variable), and (2) a partial function, called the attribute function, that relates conguration objects to their attribute values. The predicate part consists of a conjunct that restricts the domain of the attribute function to conguration objects and any other application-specic constraints on conguration objects (expressed as OCL constraints in the R-CD). The instance schema for SampleSlots is given below: SampleSlot sampleslot : PSAMPLESLOT sampleslot attribute : SAMPLESLOT dom sampleslot attribute = sampleslot 7! SampleSlot Attrs In the above SAMPLESLOT is the object space of the class, sampleslot is the conguration set variable and sampleslot attribute is the attribute function Generalization Semantics In a generalization structure superclasses are specialized by subclasses. In a R-CD, a subclass inherits the attributes of its superclass and may dene additional attributes. Semantically, we interpret subclasses as subsets of the conguration set of the root superclass (each generalization structure has exactly one root superclass). How the root superclass object space is carved up can be constrained as follows: 5
6 Overlapping and Disjoint Subclasses: A set of subclasses is said to be disjoint if there are no objects that are instances of more than one subclass in the set. If there is at least one object that is an instance of more than one subclass in the set then the set is said to be overlapping. Abstract and Non-Abstract Superclasses: An abstract superclass is one in which each superclass conguration object is also a conguration object of at least one depicted subclass. A superclass that can have conguration objects that are not conguration objects of depicted subclasses is said to be non-abstract. Given a conguration, the set of conguration sets for all classes in a generalization structure is called the specialization conguration of the structure. A generalization structure in a R-CD is a characterization of its specialization congurations. A subclass instance schema has essentially the same form as a basic class instance schema. The attribute schema of a subclass consists of the superclass attribute schema, a schema dening the subclass-specic attributes, and constraints on attribute values. An example of a subclass instance schema is given below: Blood Sample blood : PSAMPLE blood attribute : SAMP LE blood sample 7! Blood Attrs 8b : blood (blood attribute(b)):sample quality =(sample attribute(b)):sample quality dom blood attribute = blood In the above Sample is the instance schema for the Sample class in the R-CD. The second conjunct in the predicate part ensures that the attribute function of Blood maps the sample part of blood object to the same sample that the attribute function of Sample maps the blood object to (i.e., the subclass object inherits attributes of the corresponding superclass object). Subclass instance scehmata are not enough to dene a generalization structure. One also has to dene relationships among root superclass and subclass conguration sets, for example, abstractness and disjointedness. A gen-schema characterizes the specialization congurations of a specialization structure. The declaration part of a gen-schema consists of the instance schemata of leaf subclasses (each leaf schema includes all the instance schema of its ancestors). The predicate part of a gen-schema contains conjuncts that express disjoint and abstractness properties (and other constraints expressed as constraints on the structure in the R-CD). The gen-schema for the Analyzer specialization structure is given below: AnalyzerConf ig RegularAnalyzer AdvanceAnalyzer regularanalyzer \ advanceanalyzer = ; regularanalyzer [ advanceanalyzer = analyzer In the above, regularanalyzer and advanceanalyzer are conguration sets dened in the included schemata, RegularAnalyzer and AdvanceAnalyzer, respectively. The conguration set variable 6
7 for the superclass Analyzer, analyzer, is also dened in this schema (the superclass instance schema is included in subclass schemata) Association Semantics A R-CD (binary) association is interpreted as a mathematical relation between the conguration sets of the related classes that satises the multiplicity and other stated constraints on the association. The mathematical relations characterized by an association is dened by a Z schema called an association schema in our Z formalization. Multiplicity and other constraints on an association are stated in the predicate part of its association schema. Space allows us to illustrate only the formalization of the semantics for general associations. The Z formalization of association semantics is expressed as an Association schema that consists of schemata for the associated classes and a function representing the association in the declaration part. The predicate part states the multiplicity and any other constraints on the association. The following is the association schema for the carried out on association (the Assoc-Gen generator is expanded and simplied in the predicate part): Carried Out On Sample T est carried out on : SAMPLE $ TEST carried out on 2 sample >! test The semantics of associations that appear at both superclass and subclass levels of a specialization structure requires special treatment because of the need to relate the associations. An example of such an association can be found in the Clinical System R-CD (see Fig. 1): the aggregation between Analyzer and SampleSlot also appears at the subclass level as an aggregation between RegularAnalyzer and SampleSlot. In a R-CD, these two aggregations are not independent: the aggregation at the subclass level must be a subset of the aggregation at the superclass level. The aggregation at the subclass level is said to be a specialization of the aggregation at the superclass level. The multiplicities on an association at the superclass level are constraints on the links that can be formed between objects of the superclass and objects of the associated class. Given that instances of subclasses are also instances of superclasses in our semantics, the multiplicities at the superclass level also constrain the links that can exist between subclass objects and objects of the associated class. A modeler can further restrict the links at the subclass level (as is done in Fig. 1). These restrictions must be consistent with the multiplicities given at the superclass level. The Z formalization of the semantics for the specialized aggregation shown in Fig. 1 is given below: In what follows an expression of the form Rel 2 (m::n)! (s::t)[cl1s : CL1;cl2s: CL2] is a shorthand representation for an association between class CL1 with conguration set cl1s and CL2 with conguration set cl2s (interested readers can refer to [7] for an expansion of this 7
8 expression). The class names CL1 and CL2 are omitted if they can be inferred from the context. SlotAnaly Analyzer SampleSlot slotanaly : AN ALY ZER $ SAMPLESLOT slotanaly 2 1! (1::)[analyzer; sampleslot] SlotReg SlotAnaly RegularAnalyzer slotreg : AN ALY ZER $ SAMPLESLOT slotreg 2 (0; 1)! 1[reganalyzer; sampleslot] slotreg slotanaly The Z formalization of the semantics of a R-CD is expressed in a conguration schema. The conguration schema is formed by including the association schemata and gen-schemata for the R- CD. Some renaming of variables may be needed if unique variable names were not used for dierent variables across the schemata. 3.2 Formalized Use Cases Formally, a Use Case is interpreted as a characterization of a set of tuples of the form (startconf ig; endconf ig; inputs; outputs), where startconf ig is a conguration in which the operation starts, endconf ig is a conguration in which the operation ends, inputs is a set of input values for the operation (possibly empty), and outputs is a set of output values produced by the operation (possibly empty). We use Z operation schemata to express the semantics of Use Cases. A Z operation schema denes an operation as a relationship between a before and after state, and as a relationship between inputs and outputs. Space does not allow us to give an example of a Z operation schema for a UC, but a detailed example can be found in [7]. 4 Rigorous Analysis The precise semantics of a R-CD can be used to infer structural properties of the modeled application. The need to establish these properties may arise out of the need to show that the model conforms to certain requirements, or out of challenges posed by reviewers of the models. Rigorous analysis may also be required to tackle questions for which answers are not explicitly given in the model. For example, in the Clinical system one may ask whether an aggregation between AdvanceAnalyzer and SampleSlot is implied by the aggregation between Analyzer and SampleSlot and if so what are the constraints on the aggregation. An understanding of R-CD semantics leads to the conjecture that the aggregation at the Analyzer level implies that an aggregation also holds between AdvanceAnalyzer and SampleSlot, where the multiplicity at the SampleSlot end is 1:: and the multiplicity atthe AdvanceAnalyzer end is 0; 1. This conjecture 8
9 can be formally stated as follows: AnalyzerConfig `8s:slots ((9a : advs super agg(s) =a)6 (8a : advs super agg(s) 6= a)) Using the semantics outlined in this paper one can show that this conjecture is valid. In the case of a textual notation such as Z, analysis is carried out by constructing proofs. Each proof involves applying a sequence of inference rules and axioms to the specication to derive the required conclusion. Just as with a textual notation, a proof technique for CDs can be thought ofas a transformation process [5]. Precisely dened graphical notations such R-CDs oer the possibility of diagrammatic transformations as a proof strategy. In this approach, graphical inference rules are used to systematically transform a class diagram to another class diagram which represents some conclusion to be proved. Provided that each inference rule results in a diagram whose properties are implied by the previous diagram, a complete proof sequence can be constructed. We have developed some inference rules for R-CDs that support this view of analysis. For example, Fig. 3 gives the rule for the demotion of a binary association in a R-CD. In the left hand side (LHS) model, elements of class A are linked to elements of class D. Given that objects of a subclass are also objects of its superclass, then elements of the subclass can be linked to objects of class D. The R-CD is complete in the sense that the association between subclass objects and objects of the class D are constrained only by the superclass constraints. Given that a superclass object is associated with p::q D objects, then each subclass object is also associated with p::q D objects. In turn, a D object is associated with m::n superclass objects. Some (including none) of the superclass objects can be B objects and some (including none) can be C objects. The number of B (C) objects associated with a D object can not exceed n. A(abs) D A(abs) D m..n p..q Transformation m..n p..q Rel Rel B disjoint C disjoint D p..q B C 0..n 0..n p..q D RelB RelD {RelB U RelD = Rel} Figure 3: Demotion rule 5 Conclusion The work presented here focuses on dening a semantics that is suitable for precisely modeling software requirements. We are currently developing automatable analysis techniques based on the semantics, in particular, we are developing inference rules for R-CDs to support diagrammatic reasoning, and implementing a prototype analysis subsystem in a CASE tool. References [1] Analysis and Design Platform Task Force. Requirements for UML proles. Technical Report ad/ , Object Management Group,
10 [2] Derek Coleman, Patrick Arnold, Stephanie Bodo, Chris Dollin, Helena Gilchrist, Fiona Hayes, and Paul Jeremaes. Object-Oriented Development: The Fusion Method. Prentice Hall, Englewood Clis, NJ, Object-Oriented Series edition, [3] S. Cook, A. Kleppe, R. Mitchell, B. Rumpe, J. Warmer, and A. Wills. Dening UML family members using prefaces. In TOOLS 32. IEEE Press, [4] D. F. D'Souza and A. C. Wills. Objects, Components, and Grameworks with UML: The Catalysis Approach. Addison-Wesley, [5] A. S. Evans. Reasoning with UML class diagrams. In Workshop on Industrial Strength Formal Techniques (WIFT'98). IEEE Press, [6] R. France, A. Evans, K. Lano, and B. Rumpe. The UML as a formal modeling notation. Computer Standards and Interfaces, 19, [7] R. France, E. Grant, and J-M. Bruel. FUZed: An UML-based rigorous object-oriented analysis technique. CSU technical report, Colorado State University, Fort Collins, Colorado, USA, February [8] Johan Lilius and Ivan Porres Paltor. Formalising UML State Machines for Model Checking. In Proceedings of UML'99, Springer-Verlag LNCS 1723, pages 430{445, [9] Ruth Malan, Reed Letsinger, and Derek Coleman. Object-Oriented Development At Work: Fusion in the Real World. Hewlett-Packard professional books. Prentice Hall, Upper Saddle River, NJ, November [10] The Object Management Group (OMG). Unied Modeling Language. Version 1.3, OMG, June [11] Gunnar Overgaard. A Formal Approach to Collaborations in the Unied Modeling Language. In Proceedings of UML'99, Springer-Verlag LNCS 1723, pages 99{115, [12] J. Michael Spivey. The Z Notation: A Reference Manual. Prentice Hall, Englewood Clis, NJ, Second edition, [13] J. Warmer and A. Kleppe. The Object Constraint Language: Precise Modeling with UML. Addison- Wesley,
ASPECT GENERATOR. Audit Trail WEAVER. Aspect Editor. Weaving Strategies Editor. Model Editor. Mapping. Instructions. Original Model (XMI)
Tool Support for Aspect-Oriented Design Francois Mekerke 1, Geri Georg 2, Robert France 3, and Roger Alexander 3 1 Ecole Nationale Superieure des Etudes et Techniques d'armement, Brest, France mekerkfr@ensieta.fr
More informationObject-Oriented Theories for Model Driven Architecture
Object-Oriented Theories for Model Driven Architecture Tony Clark 1, Andy Evans 2, Robert France 3 1 King s College London, UK, anclark@dcs.kcl.ac.uk, 2 University of York, UK, andye@cs.york.ac.uk, 3 University
More information[EFL+99] A. Evans, R. France, K. Lano, B. Rumpe. The UML as a Formal Modeling Notation. In: The Unified Modeling Language - Workshop UML'98: Beyond
The UML as a Formal Modeling Notation Andy Evans 1, Robert France 2, Kevin Lano 3, and Bernhard Rumpe 4 1 Department of Computing, Bradford University, UK 2 Department of Computer Science & Engineering,
More informationChapter 8 The Enhanced Entity- Relationship (EER) Model
Chapter 8 The Enhanced Entity- Relationship (EER) Model Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 8 Outline Subclasses, Superclasses, and Inheritance Specialization
More informationSoftware Development Methodologies
Software Development Methodologies Lecturer: Raman Ramsin Lecture 2 Seminal Object-Oriented Methodologies: Fusion 1 Fusion First introduced in 1992 by a team of practitioners at Hewlett- Packard Laboratories
More informationUML Aspect Specification Using Role Models
UML Aspect Specification Using Role Models Geri Georg Agilent Laboratories, Agilent Technologies, Fort Collins, USA geri_georg@agilent.com Robert France Department of Computer Science, Colorado State University
More informationChapter 8: Enhanced ER Model
Chapter 8: Enhanced ER Model Subclasses, Superclasses, and Inheritance Specialization and Generalization Constraints and Characteristics of Specialization and Generalization Hierarchies Modeling of UNION
More informationAn Aspect-Based Approach to Modeling Security Concerns
An Aspect-Based Approach to Modeling Security Concerns Geri Georg Agilent Laboratories, Agilent Technologies, Fort Collins, USA geri_georg@agilent.com Robert France, Indrakshi Ray Department of Computer
More informationDefining UML Family Members Using Prefaces
Defining UML Family Members Using Prefaces Steve Cook IBM European Object Technology Practice, UK sj_cook@uk.ibm.com Anneke Kleppe Klasse Objecten, The Netherlands a.kleppe@klasse.nl Richard Mitchell University
More informationChapter 4. Enhanced Entity- Relationship Modeling. Enhanced-ER (EER) Model Concepts. Subclasses and Superclasses (1)
Chapter 4 Enhanced Entity- Relationship Modeling Enhanced-ER (EER) Model Concepts Includes all modeling concepts of basic ER Additional concepts: subclasses/superclasses, specialization/generalization,
More informationComponent Composition in Business and System Modeling
Stuart Kent *, Kevin Lano **, Juan Bicarregui **, Ali Hamie *, John Howse *1 * Division of Computing, University of Brighton, Lewes Rd., Brighton, UK. ** Department of Computing, Imperial College of Science
More informationModular UML Semantics: Interpretations in Z Based on Templates and Generics
Modular UML Semantics: Interpretations in Z Based on Templates and Generics Nuno Amálio, Susan Stepney, and Fiona Polack Dept. of Computer Science, University of York, YO10 5DD, UK {namalio,susan,fiona}@cs.york.ac.uk
More informationUSE CASE BASED REQUIREMENTS VERIFICATION
USE CASE BASED REQUIREMENTS VERIFICATION Verifying the consistency between use cases and assertions Stéphane S. Somé, Divya K. Nair School of Information Technology and Engineering (SITE), University of
More informationTeaching Encapsulation and Modularity in Object-Oriented Languages with Access Graphs
Teaching Encapsulation and Modularity in Object-Oriented Languages with Access Graphs Gilles Ardourel, Marianne Huchard To cite this version: Gilles Ardourel, Marianne Huchard. Teaching Encapsulation and
More informationMeta-Modelling Semantics of UML 1
Meta-Modelling Semantics of UML Chapter KEYWORDS, ETC. (The first two pages only resemble the abtract infos and are needed to ensure proper layout of the rest of the article. Bernhard) -------- Name(s)
More informationTIME-BASED CONSTRAINTS IN THE OBJECT CONSTRAINT LANGUAGE OCL
TIME-BASED CONSTRAINTS IN THE OBJECT CONSTRAINT LANGUAGE OCL Ali Hamie, John Howse School of Computing, Mathematical and Information Sciences, University of Brighton, Brighton, UK. {a.a.hamie@brighton.ac.uk,
More information(b) extended UML state machine diagram. (a) UML state machine diagram. tr D2 tr D1 D2 D1 D2
A Semantic Model for the State Machine in the Unied Modeling Language Kevin Compton 1, James Huggins 3, and Wuwei Shen 1? 1 EECS Department, University of Michigan 1301 Beal Avenue, Ann Arbor, MI 48109-2122
More informationA Tool for Rigorous Analysis of Object Models. J-M. Bruel, B. Chintapally, R. B. France and G. Raghavan. Florida Atlantic University
A Tool for Rigorous Analysis of Object Models J-M. Bruel, B. Chintapally, R. B. France and G. Raghavan Department of Computer Science & Engineering Florida Atlantic University Boca Raton, FL-33431, USA.
More informationRIGOROUSLY AUTOMATING TRANSFORMATIONS OF UML BEHAVIOR MODELS
RIGOROUSLY AUTOMATING TRANSFORMATIONS OF UML BEHAVIOR MODELS Jon Whittle 1, João Araújo 2, Ambrosio Toval 3, and Jose Luis Fernández Alemán 3 1 QSS / NASA Ames Research Center, M/S 269-2, Moffett Field,
More informationRepresenting Product Designs Using a Description Graph Extension to OWL 2
Representing Product Designs Using a Description Graph Extension to OWL 2 Henson Graves Lockheed Martin Aeronautics Company Fort Worth Texas, USA henson.graves@lmco.com Abstract. Product development requires
More informationIntegrating SysML and OWL
Integrating SysML and OWL Henson Graves Lockheed Martin Aeronautics Company Fort Worth Texas, USA henson.graves@lmco.com Abstract. To use OWL2 for modeling a system design one must be able to construct
More informationOperational Specification for FCA using Z
Operational Specification for FCA using Z Simon Andrews and Simon Polovina Faculty of Arts, Computing, Engineering and Sciences Sheffield Hallam University, Sheffield, UK {s.andrews, s.polovina}@shu.ac.uk
More informationProduct Line Annotations with UML-F
Product Line Annotations with UML-F Wolfgang Pree 1, Marcus Fontoura 2, and Bernhard Rumpe 3 1 Department of Computer Sciences (guest), Univ. of California, Berkeley, pree@eecs.berkeley.edu 2 IBM Almaden
More informationChapter 9: Relational DB Design byer/eer to Relational Mapping Relational Database Design Using ER-to- Relational Mapping Mapping EER Model
Chapter 9: Relational DB Design byer/eer to Relational Mapping Relational Database Design Using ER-to- Relational Mapping Mapping EER Model Constructs to Relations Relational Database Design by ER- and
More informationChapter 7. Modular Refactoring. 7.1 Introduction to Modular Refactoring
Chapter 7 Modular Refactoring I n this chapter, the role of Unified Modeling Language (UML) diagrams and Object Constraint Language (OCL) expressions in modular refactoring have been explained. It has
More informationCopyright 2016 Ramez Elmasri and Shamkant B. Navathe
CHAPTER 4 Enhanced Entity-Relationship (EER) Modeling Slide 1-2 Chapter Outline EER stands for Enhanced ER or Extended ER EER Model Concepts Includes all modeling concepts of basic ER Additional concepts:
More informationPattern for Structuring UML-Compatible Software Project Repositories
Pattern for Structuring UML-Compatible Software Project Repositories Pavel Hruby Navision Software a/s Frydenlunds Allé 6 2950 Vedbaek, Denmark E-mail: ph@navision.com Web site: www.navision.com/services/methodology/default.asp
More informationDeveloping Web-Based Applications Using Model Driven Architecture and Domain Specific Languages
Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 287 293. Developing Web-Based Applications Using Model Driven Architecture and Domain
More informationAutomated Model Transformations Based on STRIPS Planning
Automated Model Transformations Based on STRIPS Planning Old ich Nouza 1, Vojt ch Merunka 2, and Miroslav Virius 3 1 Czech Technical University in Prague, Faculty of Nuclear Sciences and Physical Engineering,
More informationA Formal V&V Framework for UML Models Based on Model Transformation Techniques
A Formal V&V Framework for UML Models Based on Model Transformation Techniques Soon-Kyeong Kim and David Carrington Information Technology and Electrical Engineering The University of Queensland, St. Lucia,
More informationMetamodeling with Metamodels. Using. UML/MOF including OCL
Metamodeling with Metamodels Using UML/MOF including OCL Introducing Metamodels (Wikipedia) A metamodel is a model of a model An instantiation of metamodel gives a model Metamodeling is the process of
More informationChapter (4) Enhanced Entity-Relationship and Object Modeling
Chapter (4) Enhanced Entity-Relationship and Object Modeling Objectives Concepts of subclass and superclass and the related concepts of specialization and generalization. Concept of category, which is
More informationDomain-Driven Development with Ontologies and Aspects
Domain-Driven Development with Ontologies and Aspects Submitted for Domain-Specific Modeling workshop at OOPSLA 2005 Latest version of this paper can be downloaded from http://phruby.com Pavel Hruby Microsoft
More informationAlgebraic Properties of CSP Model Operators? Y.C. Law and J.H.M. Lee. The Chinese University of Hong Kong.
Algebraic Properties of CSP Model Operators? Y.C. Law and J.H.M. Lee Department of Computer Science and Engineering The Chinese University of Hong Kong Shatin, N.T., Hong Kong SAR, China fyclaw,jleeg@cse.cuhk.edu.hk
More informationNOTES ON OBJECT-ORIENTED MODELING AND DESIGN
NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented
More informationMeta-Proof for Structured Specifications
Meta-Proof for Structured Specifications Nuno Amálio Susan Stepney Fiona Polack Department of Computer Science, University of York, Heslington, York, YO10 5DD, UK. [namalio susan fiona]@cs.york.ac.uk Abstract
More informationA Metamodeling Approach to Model Refactoring
A Metamodeling Approach to Model Refactoring Sheena R. Judson, Doris L. Carver, and Robert France 2 Department of Computer Science, Louisiana State University Baton Rouge, Louisiana USA sheena.r.judson@lmco.com,
More informationProfiles in a Strict Metamodeling Framework
Appeared in Science of Computer Programming, Vol. 44, Issue 1, July 2002, 5--22 Profiles in a Strict Metamodeling Framework Colin Atkinson and Thomas Kühne AG Component Engineering, University of Kaiserslautern,
More informationSoftware Language Engineering of Architectural Viewpoints
Software Language Engineering of Architectural Viewpoints Elif Demirli and Bedir Tekinerdogan Department of Computer Engineering, Bilkent University, Ankara 06800, Turkey {demirli,bedir}@cs.bilkent.edu.tr
More informationDATABASE DESIGN I - 1DL300
DATABASE DESIGN I - 1DL300 Fall 2009 An introductury course on database systems http://user.it.uu.se/~udbl/dbt1-ht2009/ alt. http://www.it.uu.se/edu/course/homepage/dbastekn/ht09/ Kjell Orsborn Uppsala
More informationDATABASDESIGN FÖR INGENJÖRER F
1 DATABASDESIGN FÖR INGENJÖRER - 1056F Sommar 2005 En introduktionskurs i databassystem http://user.it.uu.se/~udbl/dbt-sommar05/ alt. http://www.it.uu.se/edu/course/homepage/dbdesign/st05/ Kjell Orsborn
More informationSOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.
SOFTWARE ENGINEERING UML FUNDAMENTALS Saulius Ragaišis saulius.ragaisis@mif.vu.lt Information source Slides are prepared on the basis of Bernd Oestereich, Developing Software with UML: Object- Oriented
More informationEnhanced Entity-Relationship (EER) Modeling
CHAPTER 4 Enhanced Entity-Relationship (EER) Modeling Copyright 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1-2 Chapter Outline EER stands for Enhanced ER or Extended ER EER Model Concepts Includes
More informationMetamodeling. Janos Sztipanovits ISIS, Vanderbilt University
Metamodeling Janos ISIS, Vanderbilt University janos.sztipanovits@vanderbilt.edusztipanovits@vanderbilt edu Content Overview of Metamodeling Abstract Syntax Metamodeling Concepts Metamodeling languages
More informationA Type Graph Model for Java Programs
A Type Graph Model for Java Programs Arend Rensink and Eduardo Zambon Formal Methods and Tools Group, EWI-INF, University of Twente PO Box 217, 7500 AE, Enschede, The Netherlands {rensink,zambon}@cs.utwente.nl
More informationEngineering Modelling Languages: A Precise Meta-Modelling Approach
Engineering Modelling Languages: A Precise Meta-Modelling Approach Tony Clark1 1), Andy Evans 2), and Stuart Kent 3) 1) Department of Computer Science, King s College London, UK anclark@dcs.kcl.ac.uk 2)
More informationDomain Engineering And Variability In The Reuse-Driven Software Engineering Business.
OBM 7 -draft 09/02/00 1 Domain Engineering And Variability In The Reuse-Driven Software Engineering Business. Martin L. Griss, Laboratory Scientist, Hewlett-Packard Laboratories, Palo Alto, CA. Effective
More information(An Example for) Metamodeling Syntax and Semantics of Two Languages, their Transformation, and a Correctness Criterion
(An Example for) Metamodeling Syntax and Semantics of Two Languages, their Transformation, and a Correctness Criterion Martin Gogolla University of Bremen, Computer Science Department Database Systems
More informationUse Cases: the Pros and Cons
Use Cases: the Pros and Cons By Donald G. Firesmith Introduction Over the last three years, use cases have become well established as one of the fundamental techniques of objectoriented analysis. Although
More informationAn Ontological Analysis of Metamodeling Languages
An Ontological Analysis of Metamodeling Languages Erki Eessaar and Rünno Sgirka 2 Department of Informatics, Tallinn University of Technology, Estonia, eessaar@staff.ttu.ee 2 Department of Informatics,
More informationSemi-Formal, not Semi-Realistic: A New Approach to Describing Software Components
Semi-Formal, not Semi-Realistic: A New Approach to Describing Software Components E James Montgomery, Rune Meling, Daniela Mehandjiska School of Information Technology Bond University Queensland, Australia
More informationModel Composition Directives
Model Composition Directives Greg Straw, Geri Georg, Eunjee Song, Sudipto Ghosh, Robert France, and James M. Bieman Department of Computer Science Colorado State University, Fort Collins, CO, 80523 {straw,
More informationDatabase Management
204320 - Database Management Chapter 9 Relational Database Design by ER and EERto-Relational Mapping Adapted for 204320 by Areerat Trongratsameethong Copyright 2011 Pearson Education, Inc. Publishing as
More informationA UML 2 Profile for Variability Models and their Dependency to Business Processes
A UML 2 Profile for Variability Models and their Dependency to Business Processes Birgit Korherr and Beate List Women s Postgraduate College for Internet Technologies Institute of Software Technology and
More informationProduct line annotations with UML-F
Product line annotations with UML-F Wolfgang Pree 1), Marcus Fontoura 2), Bernhard Rumpe 3) 1) Department of Computer Sciences, University of California, Berkeley 2) IBM Almaden Research Center, San Jose,
More informationUML Specification and Correction of Object-Oriented Anti-patterns
UML Specification and Correction of Object-Oriented Anti-patterns Maria Teresa Llano and Rob Pooley School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh, United Kingdom {mtl4,rjpooley}@hwacuk
More informationication text. It is essential that already proven results are maintained when programs are changed, or guaranteed by additional verication conditions.
On Combining Reasoning Control with Distribution and Openness in Object Oriented Systems Olaf Owe and Isabelle Ryl Department of Informatics University of Oslo, P.O.Box 1080 Blindern, N-0316 Olso, Norway
More informationPetri Nets. Robert A. McGuigan, Department of Mathematics, Westfield State
24 Petri Nets Author: College. Robert A. McGuigan, Department of Mathematics, Westfield State Prerequisites: The prerequisites for this chapter are graphs and digraphs. See Sections 9.1, 9.2, and 10.1
More informationUML data models from an ORM perspective: Part 4
data models from an ORM perspective: Part 4 by Dr. Terry Halpin Director of Database Strategy, Visio Corporation This article first appeared in the August 1998 issue of the Journal of Conceptual Modeling,
More informationChapter 6: Entity-Relationship Model. The Next Step: Designing DB Schema. Identifying Entities and their Attributes. The E-R Model.
Chapter 6: Entity-Relationship Model The Next Step: Designing DB Schema Our Story So Far: Relational Tables Databases are structured collections of organized data The Relational model is the most common
More informationChapter 2: Entity-Relationship Model
Chapter 2: Entity-Relationship Model! Entity Sets! Relationship Sets! Design Issues! Mapping Constraints! Keys! E-R Diagram! Extended E-R Features! Design of an E-R Database Schema! Reduction of an E-R
More informationUML Semantics FAQ. ECOOP 99 Workshop Proposal
UML Semantics FAQ ECOOP 99 Workshop Proposal 1 Cover Page Title: UML Semantics FAQ Organizers: on behalf of puml (precise UML group), http://www.cs.york.ac.uk/ puml/ Stuart Kent (primary contact), Computing
More informationDATABASE DESIGN I - 1DL300
DATABASE DESIGN I - 1DL300 Fall 2010 An introductory course on database systems http://www.it.uu.se/edu/course/homepage/dbastekn/ht10/ Manivasakan Sabesan Uppsala Database Laboratory Department of Information
More informationThe Next Step: Designing DB Schema. Chapter 6: Entity-Relationship Model. The E-R Model. Identifying Entities and their Attributes.
Chapter 6: Entity-Relationship Model Our Story So Far: Relational Tables Databases are structured collections of organized data The Relational model is the most common data organization model The Relational
More information2 nd UML 2 Semantics Symposium: Formal Semantics for UML
2 nd UML 2 Semantics Symposium: Formal Semantics for UML Manfred Broy 1, Michelle L. Crane 2, Juergen Dingel 2, Alan Hartman 3, Bernhard Rumpe 4, and Bran Selic 5 1 Technische Universität München, Germany
More informationProposal of a Supporting Method for Diagrams Generation with the Transformation Rules in UML
Proposal of a Supporting Method for Diagrams Generation with the Transformation Rules in UML Tetsuro Katayama Department of Computer Science and Systems Engineering, Faculty of Engineering, Miyazaki University
More informationDirectives for Composing Aspect-Oriented Design Class Models
Directives for Composing Aspect-Oriented Design Class Models Y. R. Reddy, S. Ghosh, R. B. France, G. Straw, J. M. Bieman, N. McEachen, E. Song, G. Georg Contact Email: ghosh@cs.colostate.edu Computer Science
More informationFormal Methods for Software Engineers
Formal Methods for Software Engineers Professor Ray Welland Department of Computing Science University of Glasgow ray@dcs.gla.ac.uk INF3120-FM 1 Overview Motivation Why have formal specifications? Where
More informationThunks (continued) Olivier Danvy, John Hatcli. Department of Computing and Information Sciences. Kansas State University. Manhattan, Kansas 66506, USA
Thunks (continued) Olivier Danvy, John Hatcli Department of Computing and Information Sciences Kansas State University Manhattan, Kansas 66506, USA e-mail: (danvy, hatcli)@cis.ksu.edu Abstract: Call-by-name
More informationObject Oriented Program Correctness with OOSimL
Kennesaw State University DigitalCommons@Kennesaw State University Faculty Publications 12-2009 Object Oriented Program Correctness with OOSimL José M. Garrido Kennesaw State University, jgarrido@kennesaw.edu
More informationLecture Notes on Programming Languages
Lecture Notes on Programming Languages 85 Lecture 09: Support for Object-Oriented Programming This lecture discusses how programming languages support object-oriented programming. Topics to be covered
More informationDATABASTEKNIK - 1DL116
1 DATABASTEKNIK - 1DL116 Fall 2003 An introductury course on database systems http://user.it.uu.se/~udbl/dbt-ht2003/ Kjell Orsborn Uppsala Database Laboratory Department of Information Technology, Uppsala
More informationDimensions for the Separation of Concerns in Describing Software Development Processes
Dimensions for the Separation of Concerns in Describing Software Development Processes Pavel Hruby Navision Software Frydenlunds Allé 6 DK-2950 Vedbæk, Denmark ph@navision.com http://www.navision.com,
More informationChapter 3. Semantics. Topics. Introduction. Introduction. Introduction. Introduction
Topics Chapter 3 Semantics Introduction Static Semantics Attribute Grammars Dynamic Semantics Operational Semantics Axiomatic Semantics Denotational Semantics 2 Introduction Introduction Language implementors
More informationVerbalizing Business Rules: Part 9
Verbalizing Business Rules: Part 9 Terry Halpin Northface University Business rules should be validated by business domain experts, and hence specified using concepts and languages easily understood by
More informationS T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A
S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A G R A M S ) WHAT IS CLASS DIAGRAM? A class diagram
More informationCS:5810 Formal Methods in Software Engineering
CS:5810 Formal Methods in Software Engineering Introduction to Alloy Part 1 Copyright 2001-17, Matt Dwyer, John Hatcliff, Rod Howell, Laurence Pilard, and Cesare Tinelli. Created by Cesare Tinelli and
More informationCONSTRAINT SPECIFICATIONS USING PATTERNS IN OCL
CONSTRAINT SPECIFICATIONS USING PATTERNS IN OCL Ali Hamie. University of Brighton, Brighton, UK a.a.hamie@brighton.ac.uk ABSTRACT Constraint patterns are very useful for specifying OCL constraints on UML
More informationTowards the integration of security patterns in UML Component-based Applications
Towards the integration of security patterns in UML Component-based Applications Anas Motii 1, Brahim Hamid 2, Agnès Lanusse 1, Jean-Michel Bruel 2 1 CEA, LIST, Laboratory of Model Driven Engineering for
More informationOn UML2.0 s Abandonment of the Actors-Call-Use-Cases Conjecture
On UML2.0 s Abandonment of the Actors-Call-Use-Cases Conjecture Sadahiro Isoda Toyohashi University of Technology Toyohashi 441-8580, Japan isoda@tutkie.tut.ac.jp Abstract. UML2.0 recently made a correction
More informationChapter 11 Object and Object- Relational Databases
Chapter 11 Object and Object- Relational Databases Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 11 Outline Overview of Object Database Concepts Object-Relational
More informationModeling variability with UML
Modeling variability with UML Matthias Clauß Intershop Research Software Engineering Group Intershop, Jena Dresden University of Technology Matthias.Clauss@gmx.de Keywords: product families, domain modeling,
More informationEntity Relationship modeling from an ORM perspective: Part 2
Entity Relationship modeling from an ORM perspective: Part 2 Terry Halpin Microsoft Corporation Introduction This article is the second in a series of articles dealing with Entity Relationship (ER) modeling
More informationModeling Heuristic Rules of Methods
Modeling Heuristic Rules of Methods Bedir 7HNLQHUGR DQÃÉÃ0HKPHWÃAkúLW TRESE project, Department of Computer Science, University of Twente, P.O. Box 217, 7500 AE Enschede, The Netherlands. email: {bedir
More informationAn Object-Oriented Structuring for Z based on Views
An Object-Oriented Structuring for Z based on Views Nuno Amálio, Fiona Polack, and Susan Stepney Department of Computer Science, University of York, York, YO10 5DD, UK {namalio,fiona,susan}@cs.york.ac.uk
More informationUNIVERSITÄT PADERBORN. ComponentTools
UNIVERSITÄT PADERBORN ComponentTools Component Library Concept Project Group ComponentTools pg-components@uni-paderborn.de Alexander Gepting, Joel Greenyer, Andreas Maas, Sebastian Munkelt, Csaba Pales,
More informationSpemmet - A Tool for Modeling Software Processes with SPEM
Spemmet - A Tool for Modeling Software Processes with SPEM Tuomas Mäkilä tuomas.makila@it.utu.fi Antero Järvi antero.jarvi@it.utu.fi Abstract: The software development process has many unique attributes
More informationFUZZY SPECIFICATION IN SOFTWARE ENGINEERING
1 FUZZY SPECIFICATION IN SOFTWARE ENGINEERING V. LOPEZ Faculty of Informatics, Complutense University Madrid, Spain E-mail: ab vlopez@fdi.ucm.es www.fdi.ucm.es J. MONTERO Faculty of Mathematics, Complutense
More information[BGH+97] R. Breu, R. Grosu, F. Huber, B. Rumpe, W. Schwerin. Towards a Precise Semantics for Object-Oriented Modeling Techniques. In: Object-Oriented
Towards a Precise Semantics for Object-Oriented Modeling Techniques? Ruth Breu, Radu Grosu, Franz Huber, Bernhard Rumpe, Wolfgang Schwerin Institut fur Informatik Technische Universitat Munchen email:
More informationDetecting Structural Refactoring Conflicts Using Critical Pair Analysis
SETra 2004 Preliminary Version Detecting Structural Refactoring Conflicts Using Critical Pair Analysis Tom Mens 1 Software Engineering Lab Université de Mons-Hainaut B-7000 Mons, Belgium Gabriele Taentzer
More informationObject-Oriented Design
Object-Oriented Design Lecturer: Raman Ramsin Lecture 9: Generalization/Specialization 1 Analysis Workflow: Analyze a Use Case The analysis workflow consists of the following activities: Architectural
More informationSoftware Component Relationships. Stephen H. Edwards. Department of Computer Science. Virginia Polytechnic Institute and State University
Software Component Relationships Stephen H. Edwards Department of Computer Science Virginia Polytechnic Institute and State University 660 McBryde Hall Blacksburg, VA 24061-0106 Tel: (540)-231-7537 Email:
More informationImplementing Software Connectors through First-Class Methods
Implementing Software Connectors through First-Class Methods Cheoljoo Jeong and Sangduck Lee Computer & Software Technology Laboratory Electronics and Telecommunications Research Institute Taejon, 305-350,
More informationAspect-Orientation from Design to Code
Aspect-Orientation from Design to Code Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany groher@informatik.tu-darmstadt.de Thomas Baumgarth Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739
More informationChapter 6: Entity-Relationship Model
Chapter 6: Entity-Relationship Model Database System Concepts, 5th Ed. See www.db-book.com for conditions on re-use Chapter 6: Entity-Relationship Model Design Process Modeling Constraints E-R Diagram
More informationDesign and Implementation of an RDF Triple Store
Design and Implementation of an RDF Triple Store Ching-Long Yeh and Ruei-Feng Lin Department of Computer Science and Engineering Tatung University 40 Chungshan N. Rd., Sec. 3 Taipei, 04 Taiwan E-mail:
More informationFormal Specification of Software Systems
Formal Specification of Software Systems Lecture Notes Winter Term 2001 / 2002 Heinrich Hußmann Technische Universität Dresden Formal Specification of Software Systems Summary: Construction of large software
More informationUML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools
UML Modeling I Instructor: Yongjie Zheng September 3, 2015 CS 490MT/5555 Software Methods and Tools Object-Oriented Design: Topics & Skills Rational Unified Process Unified Modeling Languages (UML) Provide
More informationCEN/ISSS WS/eCAT. Terminology for ecatalogues and Product Description and Classification
CEN/ISSS WS/eCAT Terminology for ecatalogues and Product Description and Classification Report Final Version This report has been written for WS/eCAT by Mrs. Bodil Nistrup Madsen (bnm.danterm@cbs.dk) and
More informationObject-Oriented Software Engineering Practical Software Development using UML and Java
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes Lecture 5 5.1 What is UML? The Unified Modelling Language is a standard graphical
More information