ModelElement. AssociationEnd. Relationship 2. Association. Class. GeneralizableElement. ModelElement

Size: px
Start display at page:

Download "ModelElement. AssociationEnd. Relationship 2. Association. Class. GeneralizableElement. ModelElement"

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)

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 information

Object-Oriented Theories for Model Driven Architecture

Object-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

[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 information

Chapter 8 The Enhanced Entity- Relationship (EER) Model

Chapter 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 information

Software Development Methodologies

Software 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 information

UML Aspect Specification Using Role Models

UML 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 information

Chapter 8: Enhanced ER Model

Chapter 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 information

An Aspect-Based Approach to Modeling Security Concerns

An 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 information

Defining UML Family Members Using Prefaces

Defining 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 information

Chapter 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. 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 information

Component Composition in Business and System Modeling

Component 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 information

Modular UML Semantics: Interpretations in Z Based on Templates and Generics

Modular 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 information

USE CASE BASED REQUIREMENTS VERIFICATION

USE 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 information

Teaching Encapsulation and Modularity in Object-Oriented Languages with Access Graphs

Teaching 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 information

Meta-Modelling Semantics of UML 1

Meta-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 information

TIME-BASED CONSTRAINTS IN THE OBJECT CONSTRAINT LANGUAGE OCL

TIME-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

(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 information

A 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. 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 information

RIGOROUSLY AUTOMATING TRANSFORMATIONS OF UML BEHAVIOR MODELS

RIGOROUSLY 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 information

Representing Product Designs Using a Description Graph Extension to OWL 2

Representing 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 information

Integrating SysML and OWL

Integrating 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 information

Operational Specification for FCA using Z

Operational 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 information

Product Line Annotations with UML-F

Product 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 information

Chapter 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 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 information

Chapter 7. Modular Refactoring. 7.1 Introduction to Modular Refactoring

Chapter 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 information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 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 information

Pattern for Structuring UML-Compatible Software Project Repositories

Pattern 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 information

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

Developing 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 information

Automated Model Transformations Based on STRIPS Planning

Automated 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 information

A 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 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 information

Metamodeling with Metamodels. Using. UML/MOF including OCL

Metamodeling 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 information

Chapter (4) Enhanced Entity-Relationship and Object Modeling

Chapter (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 information

Domain-Driven Development with Ontologies and Aspects

Domain-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 information

Algebraic 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. 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 information

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

NOTES 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 information

Meta-Proof for Structured Specifications

Meta-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 information

A Metamodeling Approach to Model Refactoring

A 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 information

Profiles in a Strict Metamodeling Framework

Profiles 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 information

Software Language Engineering of Architectural Viewpoints

Software 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 information

DATABASE DESIGN I - 1DL300

DATABASE 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 information

DATABASDESIGN FÖR INGENJÖRER F

DATABASDESIGN 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 information

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.

SOFTWARE 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 information

Enhanced Entity-Relationship (EER) Modeling

Enhanced 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 information

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

Metamodeling. 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 information

A Type Graph Model for Java Programs

A 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 information

Engineering Modelling Languages: A Precise Meta-Modelling Approach

Engineering 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 information

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business.

Domain 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 (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 information

Use Cases: the Pros and Cons

Use 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 information

An Ontological Analysis of Metamodeling Languages

An 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 information

Semi-Formal, not Semi-Realistic: A New Approach to Describing Software Components

Semi-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 information

Model Composition Directives

Model 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 information

Database Management

Database 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 information

A 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 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 information

Product line annotations with UML-F

Product 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 information

UML Specification and Correction of Object-Oriented Anti-patterns

UML 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 information

ication text. It is essential that already proven results are maintained when programs are changed, or guaranteed by additional verication conditions.

ication 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 information

Petri Nets. Robert A. McGuigan, Department of Mathematics, Westfield State

Petri 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 information

UML data models from an ORM perspective: Part 4

UML 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 information

Chapter 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. 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 information

Chapter 2: Entity-Relationship Model

Chapter 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 information

UML Semantics FAQ. ECOOP 99 Workshop Proposal

UML 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 information

DATABASE DESIGN I - 1DL300

DATABASE 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 information

The Next Step: Designing DB Schema. Chapter 6: Entity-Relationship Model. The E-R Model. Identifying Entities and their Attributes.

The 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 information

2 nd UML 2 Semantics Symposium: Formal Semantics for UML

2 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 information

Proposal 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 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 information

Directives for Composing Aspect-Oriented Design Class Models

Directives 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 information

Formal Methods for Software Engineers

Formal 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 information

Thunks (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 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 information

Object Oriented Program Correctness with OOSimL

Object 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 information

Lecture Notes on Programming Languages

Lecture 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 information

DATABASTEKNIK - 1DL116

DATABASTEKNIK - 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 information

Dimensions for the Separation of Concerns in Describing Software Development Processes

Dimensions 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 information

Chapter 3. Semantics. Topics. Introduction. Introduction. Introduction. Introduction

Chapter 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 information

Verbalizing Business Rules: Part 9

Verbalizing 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 information

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

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 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 information

CS:5810 Formal Methods in Software Engineering

CS: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 information

CONSTRAINT SPECIFICATIONS USING PATTERNS IN OCL

CONSTRAINT 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 information

Towards the integration of security patterns in UML Component-based Applications

Towards 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 information

On UML2.0 s Abandonment of the Actors-Call-Use-Cases Conjecture

On 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 information

Chapter 11 Object and Object- Relational Databases

Chapter 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 information

Modeling variability with UML

Modeling 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 information

Entity Relationship modeling from an ORM perspective: Part 2

Entity 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 information

Modeling Heuristic Rules of Methods

Modeling 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 information

An Object-Oriented Structuring for Z based on Views

An 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 information

UNIVERSITÄT PADERBORN. ComponentTools

UNIVERSITÄ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 information

Spemmet - A Tool for Modeling Software Processes with SPEM

Spemmet - 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 information

FUZZY SPECIFICATION IN SOFTWARE ENGINEERING

FUZZY 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

[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 information

Detecting Structural Refactoring Conflicts Using Critical Pair Analysis

Detecting 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 information

Object-Oriented Design

Object-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 information

Software 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 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 information

Implementing Software Connectors through First-Class Methods

Implementing 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 information

Aspect-Orientation from Design to Code

Aspect-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 information

Chapter 6: Entity-Relationship Model

Chapter 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 information

Design and Implementation of an RDF Triple Store

Design 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 information

Formal Specification of Software Systems

Formal 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 information

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools

UML 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 information

CEN/ISSS WS/eCAT. Terminology for ecatalogues and Product Description and Classification

CEN/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 information

Object-Oriented Software Engineering Practical Software Development using UML and Java

Object-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