Unified Modeling Language 2.0 Proposal
|
|
- Damian Stephens
- 5 years ago
- Views:
Transcription
1 ad/yyyy-mm-dd Date: 25 January 2002 Revised submission to OMG RFPs ad/ and ad/ : Unified Modeling Language 2.0 Proposal version (draft) Submitters: Alcatel Computer Associates Enea Business Software Ericsson Hewlett-Packard I-Logix International Business Machines IONA Jaczone Kabira Technologies Motorola Oracle Rational Software SOFTEAM Telelogic Unisys WebGain Supporters: Ceira Technologies Commissariat à L'Energie Atomique Embarcadero Technologies Gentleware Intellicorp Lockheed Martin MSC.Software Sims Associates Syntropy Ltd. University of Kaiserslautern
2 Copyright U2 Partners ( NOTICES Since this document is a proposal to revise the OMG Unified Modeling Specification, some of its content is adapted from the OMG Unified Modeling Language Specification v. 1.4, which contains the following copyright: Object Management Group. The information contained in this document is subject to change without notice. The material in this document details a proposed specification by a consortium of vendors and users. This document does not represent a commitment to implement any portion of this specification in any companies' products. TRADEMARKS OMG, OBJECT MANAGEMENT GROUP, CORBA, CORBA ACADEMY, CORBA ACADEMY & DESIGN, THE INFORMATION BROKERAGE, OBJECT REQUEST BROKER, OMG IDL, CORBAFACILITIES, CORBASER- VICES, CORBANET, CORBAMED, CORBADOMAINS, GIOP, IIOP, OMA, CORBA THE GEEK, MODEL DRIVEN ARCHITECTURE, UNIFIED MODELING LANGUAGE, UML, and UML CUBE LOGO are registered trademarks or trademarks of the Object Management Group, Inc. ISSUE REPORTING This proposal is subject to continuous review and improvement. As part of this process we encourage readers to report any ambiguities, inconsistencies, or inaccuracies they may find by reporting issues to u2p-issues@yahoogroups.com.
3 Preface 6 Submission summary 6 Technical submission 6 Compliance Issues 7 Resolution of Infrastructure RFP requirements 7 Resolution of Superstructure RFP requirements 9 Relation to Other MDA Specifications 13 How to Read this Specification 14 Part I. Introduction 16 Chapter 1. Language Architecture 18 The Common Core 18 The Four-Layer Metamodel Hierarchy 19 Architectural Alignment between UML and MOF 21 Package Structure 21 Chapter 2. Language Formalism 24 Levels of Formalism 24 Package Specification Structure 25 Class Specification Structure 25 Use of a Constraint Language 26 Use of Natural Language 27 Conventions and Typography 27 Part II. Core 28 Chapter 3. Core::Foundation::Classifiers 32 Class Descriptions 32 Chapter 4. Core::Foundation::Elements 38 Class Descriptions 38 Chapter 5. Core::Foundation::Generalizations 42 Class Descriptions 43 Chapter 6. Core::Foundation::Multiplicities 48 Class Descriptions 48 Chapter 7. Core::Foundation::Namespaces 54 Class Descriptions 54 Chapter 8. Core::Constructs::Aggregations 60 Class Descriptions 60 Chapter 9. Core::Constructs::Associations 64 Class Descriptions 64 Chapter 10. Core::Constructs::Attributes 72 Class Descriptions 72 Chapter 11. Core::Constructs::Classes 76 Class Descriptions 77 Chapter 12. Core::Constructs::Constraints 84 Class Descriptions. 85 Chapter 13. Core::Constructs::DataTypes 90 Class Descriptions 90 Chapter 14. Core::Constructs::Expressions 96 Class Descriptions 96 Chapter 15. Constructs - Increments 98 Class Descriptions 98 Chapter 16. Core::Constructs::Operations 106
4 Class Descriptions 107 Chapter 17. Core::Constructs::Packages 112 Class Descriptions 112 Chapter 18. Core::Primitive Types 120 Class Descriptions 120 Part III. Structure 124 Chapter 19. Structure::Associations 126 Class Descriptions 126 Chapter 20. Structure::Auxiliary Elements 132 Class Descriptions 132 Chapter 21. Structure::Classes 136 Class Descriptions 136 Chapter 22. Structure::Collaborations 140 Class Descriptions 141 Diagrams 147 Chapter 23. Structure::Components 152 Class Descriptions 154 Diagrams 188 Chapter 24. Structure::Dependencies 190 Class Descriptions 191 Chapter 25. Structure::Ports 196 Class Descriptions 196 Chapter 26. Structure::Interfaces 202 Class Descriptions 203 Chapter 27. Structure::Internal Structure 208 Class Descriptions 208 Chapter 28. Structure::Packages 214 Class Descriptions 214 Chapter 29. Structure::Relationships 218 Class Descriptions 218 Chapter 30. Structure::Templates 222 Class Descriptions 222 Part IV. Behavior 228 Chapter 31. Behavior::Actions 230 Class Descriptions 230 Chapter 32. Behavior::Activities 238 Class Descriptions 238 Chapter 33. Behavior::Common Behavior 292 Class Descriptions 293 Chapter 34. Behavior::Interactions 306 Class Descriptions 306 Diagrams 329 Semantic Model 336 Chapter 35. Behavior::State Machines 338 Class Descriptions 339 Chapter 36. Behavior::Use Cases 382 Class Descriptions 383 Diagrams 396 Part V. Profiles 398
5 Chapter 37. Profiles 400 Class Descriptions 400 Part VI. Diagrams 408 Chapter 38. Structural Diagrams 410 Graphic Nodes 410 Graphic Paths 411 Examples 412 Changes from UML 1.x 412 Appendices 414 Appendix A: Abstract Syntax Summary 416 Core 417 Structure 426 Behavior 437 Profiles 451 Appendix B: Glossary 452
6 1 1.1 Submission summary Preface This proposed UML 2.0 specification is in response to the Object Management Group Request For Proposals ad/ (UML 2.0 Infrastructure RFP) and ad/ (UML 2.0 Superstructure RFP). It integrates complementary proposals for both RFPs into a complete modeling language definition. This Preface summarizes the relationship of this submission to the RFPs and explains how it satisfies their requirements. The main body of the document describes the technical submission itself Submission summary Copyright waiver This document may be freely copied by the OMG or by any member of the OMG, but any excerpts from this document should be properly attributed to it. Submission contact points The following persons may be contacted for information regarding this submission: Cris Kobryn (Cris.Kobryn@telelogic.com) Guus Ramackers (Guus.Ramackers@oracle.com) Bran Selic (bselic@rational.com) A complete list of U2 Partner representatives for each company that is submitting is available on the Partners page of the U2 Partners web ( In addition, the following mailing lists are available for requesting information and reporting issues: u2p-info@yahoogroups.com to request general information u2p-issues@yahoogroups.com to report issues Guide to material in the submission See Part I, Introduction. Overall design rationale To be provided. Statement of proof of concept To be provided Technical submission The technical submission is presented in the main body of this document. It comprises a set of new packages that will result in a major revision to the architecture and foundation constructs of the UML 1.x specification. Preface.fm Version January 28, :37 pm 1-6
7 1 1.3 Compliance Issues 1.3. Compliance Issues To be provided Resolution of Infrastructure RFP requirements The submission meets the requirements of the UML 2.0 Infrastructure RFP ( ad/ ), as shown in the tables below: Table 1: Infrastructure RFP Mandatory Requirements MANDATORY REQUIREMENT a: Proposals shall enforce a clear separation of concerns between the specification of the metamodel semantics and notation, including precise bi-directional mappings between them b: Proposals shall minimize the impact on users of the current UML 1.x, XMI 1.x and MOF 1.x specifications, and will provide a precise mapping between the current UML 1.x and the UML 2.0 metamodels. Proposals shall ensure that there is a well-defined upgrade path from the XMI DTD for UML 1.x to the XMI DTD for UML 2.0. Wherever changes have adversely impacted backward compatibility with previous specifications, submissions shall provide rationales and change summaries along with their precise mappings c: Proposals shall identify language elements to be retired from the language for reasons such as being vague, gratuitous, too specific, or not used d: Proposals shall specify an XMI DTD for the UML metamodel. RESOLUTION The proposed specification defines the semantics and notation for each metamodel construct, so that there is a straightforward and precise mapping between them. The proposed speficiation defines precise mappings between UML 1.x and UML 2.0 metamodel constructs in the Changes from UML 1.4 section for each construct. The upgrade path between the UML 1.x and UML 2.0 XMI DTDs will be provided in a future version of this proposal. Language elements to be retired from UML will be addressed in a future version of this proposal. An XMI DTD will be provided with a future version of this proposal. Preface.fm Version January 28, :37 pm 1-7
8 1 1.4 Resolution of Infrastructure RFP requirements MANDATORY REQUIREMENT a: Proposals shall specify the UML metamodel in a manner that is strictly aligned with the MOF meta-metamodel by conformance to a 4-layer metamodel architectural pattern. Stated otherwise, every UML metamodel element must be an instance of exactly one MOF metametamodel element. If this architectural alignment requires that the MOF metametamodel also needs to be changed, then those changes (including changes to XML and IDL mappings) should be fully documented in the proposal b: Proposals shall strive to share the same metamodel elements between the UML kernel and the MOF kernel, so that there is an isomorphic mapping between MOF meta-metamodel kernel elements and UML metamodel kernel elements. a c: Proposals shall restructure the UML metamodel to separate kernel language constructs from the standard elements that depend on them. The standard elements shall be restructured consistent with the requirements in d: Proposals shall decompose the metamodel into a package structure that supports compliance points and efficient implementation e: Proposals shall identify all semantic variation points in the metamodel a: Proposals shall specify how profiles are defined b: Proposals shall specify a firstclass extension mechanism that will allow modelers to add their own metaclasses, which will be instances of MOF metametaclasses. This mechanism must be compatible with profiles and consistent with the 4-layer metamodel architecture described in RESOLUTION The UML Infrastructure metamodel is an instance of a common Core package that will be shared between UML 2.0 and MOF 2.0. This is intended to be part of MOF 2.0. Therefore the XMI DTD for UML 2.0 will be generated using combination of the common Core and MOF. The proposed specification defines a common Core package that will be shared between UML 2.0 and MOF 2.0. This Core package contains common model elements that can be used as a kernel for different modeling domains. The relation of the common Core to UML, MOF and CWM is explained in Chapter 1, Language Architecture. The proposed specification will apply profiles to itself to separate kernel language constructs from standard elements that depend on them. The proposed specification defines a package structure that is finergrained than UML 1.x, which is intended to support more flexible compliance points and more efficient implementations. The package structure for this submission is specified in Chapter 1, Language Architecture. Semantic variation points will be defined in a future version of this proposal. The proposed specification includes an Extensions package that specifies how UML can be extended using profiles. Modelers can add their own meta classes either by instantiating MOF model elements or defining Profiles. The Profiles approach is compatible with the 4-layer metamodel architecture. Preface.fm Version January 28, :37 pm 1-8
9 1 1.5 Resolution of Superstructure RFP requirements MANDATORY REQUIREMENT 6.5.3c: Proposals shall identify model elements whose detailed semantics preclude specialization in a profile. If proposals need to generalize these model elements, they should propose refactoring consistent with the architecture and restructuring requirements described in RESOLUTION A meta-attribute "isfinal" will be added to UML classes to prevent any extensions. In regard to refactoring, the proposed package structure that is finer-grained than UML 1.x, and is intended to support more flexible compliance points and more efficient implementations. a. Kernel refers to core metamodel constructs that are used as the foundation for defining other metamodel constructs. e.g., in UML 1.4 the Core package may be considered the kernel for the rest of the metamodel. Table 2: Infrastructure RFP Optional Requirements OPTIONAL REQUIREMENTS 6.6.1a Proposals may refactor the UML metamodel to improve its structure if they can demonstrate that the refactoring will make it easier to implement, maintain or extend. RESOLUTION The proposed specification defines packages and classes that are finer-grained than UML 1.x, and which make the language more efficient to implement, maintain and extend. The package structure for this submission is specified in Chapter 1, Language Architecture and the advantages of the refactoring are described in Chapter 1, Language Architecture b Proposals may consider architectural alignment with other specification language standards a Proposals may support the definition of new kinds of diagrams using profiles. Architectural alignment of the proposed specification with other specification language standards is addressed in Chapter 1, Language Architecture. The support of new diagram types that use profiles will be addressed in a future version of this proposal Resolution of Superstructure RFP requirements The submission meets the requirements of the UML 2.0 Superstructure RFP ( ad/ ), as shown in the tables below: Table 3: Superstructure RFP Mandatory Requirements MANDATORY REQUIREMENT a: Proposals shall enforce a clear separation of concerns between the specification of the metamodel semantics and notation, including precise bi-directional mappings between them. RESOLUTION The proposed specification defines the semantics and notation for each metamodel construct, so that there is a straightforward and precise mapping between them. Preface.fm Version January 28, :37 pm 1-9
10 1 1.5 Resolution of Superstructure RFP requirements MANDATORY REQUIREMENT b: Proposals shall minimize the impact on users of the current UML 1.x, XMI 1.x and MOF 1.x specifications, and will provide a precise mapping between the current UML 1.x and the UML 2.0 metamodels. Proposals shall ensure that there is a well-defined upgrade path from the XMI DTD for UML 1.x to the XMI DTD for UML 2.0. Wherever changes have adversely impacted backward compatibility with previous specifications, submissions shall provide rationales and change summaries along with their precise mappings c: Proposals shall identify language elements to be retired from the language for reasons such as being vague, gratuitous, too specific, or not used d: Proposals shall specify an XMI DTD for the UML metamodel : Component-Based Development Proposals shall support component assembly and plug-substitutability by providing for the specification of both what a component makes available to other components and its connection requirements (e.g., which operations and signals it will require from its connected components). Proposals shall support the specification of common interaction patterns that might occur between two or more components as reusable and generalizable modeling elements. Proposals shall support modeling of component execution contexts (e.g., EJB and CCM containers), and communication between an execution context and the components that it contains. Proposals shall enable definition of profiles for models based on, at least, the following component architectures: EJB, CORBA components, and COM+. RESOLUTION The proposed speficiation defines precise mappings between UML 1.x and UML 2.0 metamodel constructs in the Changes from UML 1.4 section for each construct. The upgrade path between the UML 1.x and UML 2.0 XMI DTDs will be provided in a future version of this proposal. Language elements to be retired from UML will be addressed in a future version of this proposal. An XMI DTD will be provided with a future version of this proposal. The requirements for component-based development are addressed in the following chapters: Chapter 27, Structure::Internal Structure and Chapter 23, Structure::Components. Preface.fm Version January 28, :37 pm 1-10
11 1 1.5 Resolution of Superstructure RFP requirements MANDATORY REQUIREMENT Run-Time Architectures: Proposals shall support the modeling of the internal structureof a classifier in terms of its hierarchical decomposition. The internal structure shall be allowed to contain instances of classifiers and links between these instances, without affecting the usage of these classifiers elsewhere. The connections between instances shall, at a minimum, specify possible communication. Proposals shall support the specification of the dynamic behavior of the internal structure of a classifier, including its connection to the statemachine of the classifier, if any, its initial instantiation, as well as the dynamic addition and removal of parts and connections to/from the internal structure Relationships: Proposals shall specify how the features and behavior of all generalizable model elements are affected by specialization. They shall also address the replacement of features and behavior that are specialized from an ancestor. Proposals shall specify what «refine» and «trace» mean and provide usage guidelines. Proposals shall specify the scope that is covered by an association. It shall be possible that associations or initial attribute values specified within a scope are valid only within the context of that scope. In particular, proposals shall clarify the semantics of composite aggregation with respect to scope. RESOLUTION The requirements for run-time architectures are addressed in the following chapters: Chapter 27, Structure::Internal Structure and Chapter 35, Behavior::State Machines. The requirements for relationships areaddressed in the following chapters: Chapter 5, Core::Foundation::Generalizations, Chapter 19, Structure::Associations, and Chapter 29, Structure::Relationships. Preface.fm Version January 28, :37 pm 1-11
12 1 1.5 Resolution of Superstructure RFP requirements MANDATORY REQUIREMENT State Machines: Proposals shall provide for an encapsulation mechanism for states and state machines, so that the internal details of a composite state can be defined independently of its use in the enclosing state. Proposals shall support reuse of behavioral specifications across multiple classes. Proposals shall clarify the semantics of protocol state machines. Proposals shall clarify the application of state machines to Behavioral Features and to Classifiers other than Classes. Proposals shall specify how StateMachines can be specialized Activity Graphs: Proposals shall provide for improved control and data flow modeling in activity graphs. For example, more permissive concurrency or separate semantics for control and data flow. Proposals shall improve the management of events in activity graphs. Examples are keeping and referring to event history or Boolean combination of events in triggers Interactions: Proposals shall define mechanisms to describe the decomposition of a role in an interaction into an interaction of its constituent parts. Proposals shall provide mechanisms to refer from one interaction to other interactions to support composition of interactions. It shall be possible to define, at least, sequences of interactions, alternative interactions based on conditions, parallel execution of interactions, and repetition of an interaction. RESOLUTION The requirements for relationships are addressed in the following chapter: Chapter 35, Behavior::State Machines. The requirements for relationships are addressed in the following chapter: Chapter 32, Behavior::Activities. The requirements for relationships are addressed in the following chapter: Chapter 34, Behavior::Interactions. Preface.fm Version January 28, :37 pm 1-12
13 1 1.6 Relation to Other MDA Specifications Table 4: Superstructure RFP Optional Requirements OPTIONAL REQUIREMENTS Structural Modeling: Proposals may provide for data flow modeling at a high level of abstraction. For example, it may be possible to show data or object flow between packages and classifiers Behavioral Modeling: Proposals may support the grouping of states into possibly overlapping sets of states, such that it is possible to share behavior across such sets. Proposals may support specification of the particular events that an instance can receive and from which objects it can receive them. Proposals may provide for the capability to establish the target object of a communication by various means with differing levels of coupling between the communicating objects Notation: Proposals may review and improve the consistency of how symbols and icons are used in the various kinds of diagrams. Proposals may provide an improved notation for defining patterns. Proposals may define notation for applying constraints on the instantiation of templates (e.g., constraints on template parameters that are checked at instantiation time) Other: Proposals may consider semantic alignment with other specification language standards, such as ISO EXPRESS, ITU-T SDL/MSC, ISO GRM, or ITU-T RM-ODP. RESOLUTION To be addressed in a future version of this proposal. To be addressed in a future version of this proposal. To be addressed in a future version of this proposal. To be addressed in a future version of this proposal Relation to Other MDA Specifications To be addressed in a future version of this proposal. Preface.fm Version January 28, :37 pm 1-13
14 1 1.7 How to Read this Specification 1.7. How to Read this Specification This specification is organized in a manner consistent with the architecture of the UML. Consequently, readers are encouraged to first read Chapter 1, Language Architecture and Chapter 2, Language Formalism to familiarize themselves with the structure of the language and the formal approach used for its specification. Afterwards the reader may choose to read Parts II-V, which describe the top-level packages of the UML: Core, Structure, Behavior and Extensions. These top-level packages are organized into subpackages, as described in Chapter 1, Language Architecture. The structure of the chapters parallels that of the UML package structure, where leaf packages are alphabetized for easy reference. Although the packages are organized in a logical manner and they can be read sequentially, this is a reference specification is intended to be read in a non-sequential manner. Consequently, extensive cross-references and indices are provided to facilitate browsing and search. Preface.fm Version January 28, :37 pm 1-14
15 1 1.7 How to Read this Specification Preface.fm Version January 28, :37 pm 1-15
16 1 Introduction Part I. Introduction The Unified Modeling Language is a language for visualizing, specifying, constructing and documenting the artifacts of software systems. It is a general-purpose modeling language that can be used with all major object and component methods and applied to all application domains. The OMG adopted the UML 1.1 specification in November Since then UML Revision Task Forces have produced several minor revisions, the most recent being the UML 1.4 specification, which was adopted in May Under the stewardship of the OMG, the UML has emerged as the software industry s dominant modeling language. It has been successfully applied to a wide range of domains, ranging from health and finance to aerospace to e-commerce. As should be expected, its extensive use has raised numerous application and implementation issues by modelers and vendors. As of the time of this writing over 500 formal usage and implementation issues have been submitted to the OMG for consideration. Although many of the issues have been resolved in minor revisions by Revision Task Forces, other issues require major changes to the language that are outside the scope of an RTF. Consequently, the OMG has issued four complementary and architecturally aligned RFPs to define UML 2.0: UML 2.0 Infrastructure, UML 2.0 Superstructure, UML 2.0 Object Constraint Language and UML 2.0 Diagram Interchange. This proposed UML 2.0 specification integrates complementary proposals for the UML 2.0 Infrastructure and Superstructure RFPs into a complete modeling language definition. The manner in which the proposal address individual RFP requirements is addressed in the Preface of this proposal. The next two chapters describe the language architecture and formalism approach used to define UML 2.0. Part-Introduction.fm Version January 28, :37 pm 1-16
17 1 Introduction Part-Introduction.fm Version January 28, :37 pm 1-17
18 1 Language Architecture 1.1 The Common Core Chapter 1. Language Architecture This section contains a description of the architecture of the UML. It explains how the UML metamodel and other related OMG metamodels (e.g., Meta Object Facility, Common Warehouse Metamodel) are based on the UML s Core package. It also describes the package structure of the UML metamodel The Common Core The foundation of UML 2.0 is its Core package, which contains the basic elements that are used to specify the UML metamodel and other related OMG metamodels, such as the Meta-Object Facility (MOF) and the Common Warehouse Metamodel (CWM). In addition to fully supporting the advanced constructs in the UML 2.0 Superstructure, the Core package has been designed to be forward-compatible with the next major revisions of MOF and CWM. This Core-centric architecture is shown in Figure 1-1. MOF CWM «import» «import» Core «import» «import» UML Profiles Figure 1-1. The Core architecture Since the metamodels that import and reuse the Core are central to the OMG Model-Driven Architecture (MDA), the UML 2.0 Core may also be considered the architectural kernel of the MDA. The architectural intent is for UML 2.0 and other future MDA metamodels to import the Core and reuse its abstract syntax, well-formedness rules and detailed semantics. This reuse-based approach will allow new metamodels to be created more efficiently and precisely, since they can share the same precise semantics on which UML 2.0 is based. The Profiles package of UML 2.0 makes the extension mechanisms of UML more powerful and flexible, and is applicable to all metamodels that are based on the Core. Language-Architecture.fm Version January 28, :37 pm 1-18
19 1 Language Architecture 1.2 The Four-Layer Metamodel Hierarchy This submission is a joint response to both the UML 2.0 Infrastructure RFP and the UML 2.0 Superstructure RFP. Architecturally, the Core and Profiles packages belong to Infrastructure part, while the rest of the submission packages belong to the Superstructure part. The UML 2.0 submission thus covers the shaded parts of Figure 1-2. MOF CWM «import» «import» Core «import» «import» UML Profiles Figure 1-2. The UML architecture 1.2. The Four-Layer Metamodel Hierarchy The Core architecture is a complementary view of the four-layer metamodel hierarchy on which the UML metamodel is based. This architecture is a proven framework for precisely defining metamodels, and how models can be instantiated from them. Other advantages associated with this approach include the following: It provides a basis for defining future UML metamodel extensions. It allows dynamic extensions of UML models through profiles. It facilitates aligning the UML metamodel with other standards based on the same metamodeling principles, for example the Meta-Object Facility (MOF). Although frameworks for metamodeling may be based on an arbitrary number of different metalayers, it is convenient to limit the number of levels in practice: a meta-metamodel, a metamodel, a model, and run-time instances. This architecture is depicted in Figure 1-3. The meta-metamodeling layer forms the foundation of the metamodeling hierarchy. The primary responsibility of this layer is to define the language for specifying a metamodel. The layer is often referred to as M3, and MOF is a prime example of a meta-metamodel. A meta-metamodel is typically more compact than a metamodel that it describes, and often defines several metamodels. It is generally desirable that related metamodels and meta-metamodels share common design philosophies and constructs. However, each layer can be viewed independently of other layers, and needs to maintain its own design integrity. A metamodel is an instance of a meta-metamodel, meaning that every element of the metamodel is an instance of an element in the meta-metamodel. The primary responsibility of the metamodel layer is to define a language for specifying models. The layer is often referred to as M2; UML and the OMG Common Warehouse Metamodel (CWM) are prime examples of metamodels. Metamodels are typically more elaborate than the meta-metamodels that describe them, especially when they define dynamic semantics. The UML metamodel is an instance of the MOF (in effect, each UML metaclass is an instance of an element in Core). A model is an instance of a metamodel. The primary responsibility of the model layer is to define languages that describe semantic domains, i.e., to allow users to model a wide variety of different problem domains, such as software, business processes, and requirements. The things that are being modeled reside outside the metamodel hierar- Language-Architecture.fm Version January 28, :37 pm 1-19
20 1 Language Architecture 1.2 The Four-Layer Metamodel Hierarchy chy. This layer is often referred to as M1. A user model is an instance of the UML metamodel. Note that the user model contains both model elements and snapshots (illustrations) of instances of these model elements. The metamodel hierarchy bottoms out at M0, which contains the run-time instances of model elements defined in a model. The snapshots that are modeled at M1 are constrained versions of the M0 run-time instances. An Example of the Four-layer Architecture of UML A simple example of the four-layer architecture in action is shown in Figure 1-3. M3 (MOF) Class «instanceof» «instanceof» «instanceof» M2 (UML) Attribute Class classifier Instance «instanceof» «instanceof» «instanceof» «instanceof» M1 (User model) Video +title: String «snapshot» : Video title = "2001: A Space Odyssey" «instanceof» M0 (Run-time instances) avideo Figure 1-3. An example of the four-layer architecture Language-Architecture.fm Version January 28, :37 pm 1-20
21 1 Language Architecture 1.3 Architectural Alignment between UML and MOF 1.3. Architectural Alignment between UML and MOF Both the UML and the MOF share the same common Core package and are based on the same four-layer metamodel hierarchy. In Figure 1-4, the meta-relationships between UML, MOF, and CWM are shown (considering only the M2 and M3 metalayers). M3 «metamodel» MOF «instanceof» «instanceof» M2 «metamodel» UML «metamodel» CWM Figure 1-4. Relationships between UML and MOF Just like the Core specifies the basic constructs for defining UML, it also serves a similar function for MOF. MOF defines for example how UML models are interchanged between tools using XML Metadata Interchange (XMI). MOF also defines reflective interfaces (MOF::Reflection) for introspection that work for MOF itself, but also for CWM, UML, and any other metamodel that is an instance of MOF. MOF further defines an extension mechansism that can be used to extend metamodels as an alternative or in conjunction with profiles (as described in Chapter 37, Profiles ). In fact, profiles are defined to be a limited subset of the MOF extension mechanism Package Structure The packages of UML (shown in Figure 1-5) are all divided into a number of fine-grained logical packages. Both Core and the other UML packages are described in a combination of graphical notation, natural langauge, and formal language. We recognize that there are theoretical limits to what one can express about a metamodel using the metamodel itself. However, our experience suggests that this combination strikes a reasonable balance between expressiveness and readability. «import» Profiles Core «import» Structure «import» Behavior Figure 1-5. The packages that define UML Language-Architecture.fm Version January 28, :37 pm 1-21
22 1 Language Architecture 1.4 Package Structure The Core Package The general structure of the Core package is accomplished by distinguishing between a Foundation package containing packages with mostly abstract metaclasses, and a Constructs package that builds on the foundation and contains packages with mostly concrete metaclasses. The primary reason for the fine-grained packages is to make it easy for other metamodels to extend Core (or parts thereof). Each package defined contain metaclasses that show strong cohesion with each other, and loose coupling with metaclasses in other packages. These two packages also make use of a PrimitiveTypes package containing types used in both Foundation and Constructs, such as Integer, Boolean, and String. Each package contains an abstract syntax that is modeled using the Core, consisting of a UML class diagram and a supporting natural language description. Structure Package The Structure package imports the Core package. Some of the subpackages of Structure extends elements defined in Core when the requirements go beyond what is required for metamodeling, and in general the package itself is mostly concerned with different architectural aspects, such as relationships between elements (in the packages InternalStructure, Depencencies, and Relationships), contracts between elements (in the packages Interfaces, Ports, and Collaborations), and the elements as structural entities (in the packages Classes and Components). Behavior Package The Behavior package imports the Structure package, and is mostly concerned with modeling behavioral aspects, including packages like Actions, Activities, Interactions, StateMachines, and UseCases. These all existed in UML 1.x, but they have all been more or less improved. Profiles Package Profiles, which are defined in the Profiles package, are a restricted way to extend metamodels based on the Core, such as the UML metamodel. The profiles mechanism allows these extensions to be dynamically applied to and removed from models. UML a general-purpose modeling language intended to be suitable for a wide array of applications. However, because of this generality there are often situations or domains that are not fully captured as part of the language. It is therefore necessary to express specific concerns by introducing mechanisms to extend or tailor UML language constructs. Typical examples of when these mechanisms are desired are when targeting a specific environment (such as Java, C++, CORBA, or EJB), when addressing a specific domain (such as real-time, business objects, or software process modeling), and when tailoring the UML for different development phases (such as requirements, analysis, or design). A profile expresses one way to extend or tailor a metamodel. A profile is a restricted metamodel, and manifests a subset of the capabilities offered by the more general extension mechanisms of MOF with the intent to offer a lightweight extensibility mechanism. Each profile created extends the UML metamodel. In the end-user s model, there are always instances of elements in the UML metamodel. In addition, there may be elements that are instances of elements in one or more profiles, and which are linked to the instances of the UML metamodel. Some of the specific properties exhibited by profiles are: A profile may extend a reference metamodel that is based on the Core package. A reference metamodel is a metamodel that is being extended. It is called referenced because it cannot be changed, and the profile cannot be used without it. Specifically, since the UML metamodel is based on the Core it may be extended using profiles. A profile is created by extending the referenced metamodel using a delegation pattern (a kind of generalization). This is done to achieve a dynamic extension mechanism that allows extensions to be freely added and removed from a model. There are several constraints associated with a profile to guarantee that it is dynamically applicable. Specifically, the delegation patterns ensures that an extended UML model can always be interpreted as an ordinary UML model without extensions. Language-Architecture.fm Version January 28, :37 pm 1-22
23 1 Language Architecture 1.4 Package Structure The use of the delegation pattern allows multiple profiles to be applied to a model at the same time. Each profile can thus represent a specific view of the same model. The referenced metamodel and its XMI DTD remains unchanged. A model extended by profiles can be interchanged through the XMI format, and interpreted using only the DTD of the referenced metamodel. The profiles can also be interchanged using the same DTD. Specifically, a UML model extended by profiles can be interchanged using only the UML DTD. If a tool does not support the applied profiles, it can still understand the model as an ordinary UML model. Language-Architecture.fm Version January 28, :37 pm 1-23
24 2 Language Formalism 2.1 Levels of Formalism Chapter 2. Language Formalism This section contains a description of the techniques used to describe UML. The specification adapts formal techniques to improve precision while maintaining readability. The technique describes the UML metamodel in three views using both text and graphic presentations. The benefits of adapting formal techniques include: the correctness of the description is improved, ambiguities and inconsistencies are reduced, the architecture of the metamodel is validated by a complementary technique, and the readability of the description is increased. It is important to note that the current description is not a completely formal specification of the language because to do so would have added significant complexity without clear benefit. The structure of the language is nevertheless given a precise specification, which is required for tool interoperability. The detailed semantics are described using natural language, although in a precise way so they can easily be understood. Currently, the semantics are not considered essential for the development of tools; however, this will probably change in the future Levels of Formalism A common technique for specification of languages is to first define the syntax of the language and then to describe its static and dynamic semantics. The syntax defines what constructs exist in the language and how the constructs are built up in terms of other constructs. Sometimes, especially if the language has a graphic syntax, it is important to define the syntax in a notation independent way (i.e., to define the abstract syntax of the language). The concrete syntax is then defined by mapping the notation onto the abstract syntax. The static semantics of a language define how an instance of a construct should be connected to other instances to be meaningful, and the dynamic semantics define the meaning of a well-formed construct. The meaning of a description written in the language is defined only if the description is well formed (i.e., if it fulfills the rules defined in the static semantics). The specification uses a combination of languages - a subset of UML, an object constraint language, and precise natural language to describe the abstract syntax and semantics of the full UML. The description is self-contained; no other sources of information are needed to read the document 1. Although this is a metacircular description 2, understanding this document is practical since only a small subset of UML constructs are needed to describe its semantics. In constructing the UML metamodel different techniques have been used to specify language constructs, using some of the capabilities of UML. The main language constructs are reified into metaclasses in the metamodel. Other constructs, in essence being variants of other ones, are defined as stereotypes of metaclasses in the metamodel. This mechanism allows the semantics of the variant construct to be significantly different from the base metaclass. Another more lightweight way of defining variants is to use metaattributes. As an example, the aggregation construct is specified by an attribute of the metaclass AssociationEnd, which is used to indicate if an association is an ordinary aggregate, a composite aggregate, or a common association. 1. Although a comprehension of the UML s four-layer metamodel architecture and its underlying metametamodel is helpful, it is not essential to understand the UML semantics. 2. In order to understand the description of the UML semantics, you must understand some UML semantics. Language-Formalism.fm Version January 28, :37 pm 2-24
25 2 Language Formalism 2.2 Package Specification Structure 2.2. Package Specification Structure This section provides information for each package and each class in the UML metamodel. Each package has one or more of the following subsections: Class Descriptions The section contains an enumeration of the classes specifying the constructs defined in the package. It begins with one diagram or several diagrams depicting the abstract syntax of the constructs (i.e. the classes and their relationships) in the package, together with some of the well-formedness requirements (multiplicity and ordering). Then follows a specification of each class in alphabetic order (see below). Diagrams If a specific kind of diagram usually presents the constructs that are defined in the package, a section describing this kind of diagram is included. Instance Model An example may be provided to show how an instance model of the contained classes may be populated. The elements in the example are instance of the classes contained in the package (or in an imported package) Class Specification Structure The specification of a class starts with a presentation of the general meaning of the concept which sets the context for the definition. Description The section includes an informal definition of the metaclass specifying the construct in UML. The section states if the metaclass is abstract. This section together with the following two constitute a description of the abstract syntax of the construct. Attributes Each of the attributes of the class are enumerated together with a short explanation. The section states if the attribute is derived, or if it is a specialization of another attribute. If the multiplicity of the attribute is suppressed if it is 1 (default in UML). Associations The opposite ends of associations connected to the class are also listed in the same way. The section states if the association is derived, or if it is a specialization of another association. The multiplicity of an association end is suppressed if it is (default in UML). Constraints The well-formedness rules of the metaclass, except for multiplicity and ordering constraints that are defined in the diagram at the beginning of the package section, are defined as a (possibly empty) set of invariants for the metaclass, which must be satisfied by all instances of that metaclass for the model to be meaningful. The rules thus specify constraints over attributes and associations defined in the metamodel. Most invariant is defined by an OCL expression together with an informal explanation of the expression, but in some cases the invariant is expressed by other means (in exceptional cases with natural language). The statement No additional constraints means that all well-formed- Language-Formalism.fm Version January 28, :37 pm 2-25
26 2 Language Formalism 2.4 Use of a Constraint Language ness rules are expressed in the superclasses together with the multiplicity and type information expressed in the diagrams. Additional Operations (optional) In many cases, additional operations on the classes are needed for the OCL expressions. These are then defined in a separate subsection after the constraints for the construct, using the same approach as the Constraints section: an informal explanation followed by the OCL expression defining the operation. Semantics The meaning of a well-formed construct is defined using natural language. Semantic Variation Points (optional) If the semantics of a construct is allowed to be different from what is defined in the previous section, the specific part of the semantics is described in this section as well as how it may vary. Notation The notation of the construct is presented in this section. Presentation Options (optional) If there are different ways to show of the construct, e.g. it is not necessary to show all parts of the construct in every occurrence, these possibilities are described in this section. Style Guidelines (optional) Often is an informal convention how to show (a part of) a construct, like the name of a class should be centered and in bold. These conventions are presented in this section. Examples (optional) In this section, examples of how the construct is to be depicted are given. Rationale (optional) If there is a reason for why a construct is defined like it is, or why its notation is defined as it is, this reason is given in this section. Changes from UML 1.4 Here, changes compared with UML 1.4 are described and a migration approach from 1.4 to 2.0 is specified Use of a Constraint Language The specification uses the Object Constraint Language (OCL), as defined in Chapter 6, Object Constraint Language Specification of the UML 1.4 specification, for expressing well-formedness rules. The following conventions are used to promote readability: Self - which can be omitted as a reference to the metaclass defining the context of the invariant, has been kept for clarity. In expressions where a collection is iterated, an iterator is used for clarity, even when formally unnecessary. The type of the iterator is usually omitted, but included when it adds to understanding. The collect operation is left implicit where this is practical. Language-Formalism.fm Version January 28, :37 pm 2-26
27 2 Language Formalism 2.5 Use of Natural Language The context part of an OCL constraint is not included explicitly, as it is well-defined in the section where the constraint appears Use of Natural Language We strove to be precise in our use of natural language, in this case English. For example, the description of UML semantics includes phrases such as X provides the ability to and X is a Y. In each of these cases, the usual English meaning is assumed, although a deeply formal description would demand a specification of the semantics of even these simple phrases. The following general rules apply: When referring to an instance of some metaclass, we often omit the word instance. For example, instead of saying a Class instance or an Association instance, we just say a Class or an Association. By prefixing it with an a or an, assume that we mean an instance of. In the same way, by saying something like Elements we mean a set (or the set) of instances of the metaclass Element. Every time a word coinciding with the name of some construct in UML is used, that construct is ment. Terms including one of the prefixes sub, super, or meta are written as one word (e.g., metamodel, subclass) Conventions and Typography In the description of UML, the following conventions have been used: When referring to constructs in UML, not their representation in the metamodel, normal text is used. Metaclass names that consist of appended nouns/adjectives, initial embedded capitals are used (e.g., ModelElement, StructuralFeature ). Names of metaassociations are written in the same manner as metaclasses (e.g., ElementReference ). Initial embedded capital is used for names that consist of appended nouns/adjectives (e.g., ownedelement, all- Contents ). Boolean metaattribute names always start with is (e.g., isabstract ). Enumeration types always end with Kind (e.g., AggregationKind ). While referring to metaclasses, metaassociations, metaattributes, etc. in the text, the exact names as they appear in the model are always used. No visibilities are presented in the diagrams, as all elements are public. If a mandatory section does not apply for a metaclass, the text No additional XXX is used, where XXX is the name of the heading. If an optional section is not applicable, it is not included. A collection of design patterns have been used. These patterns are described in... [ to be written ]. Language-Formalism.fm Version January 28, :37 pm 2-27
28 2 Core Part II. Core This part describes the package structure and contents of the UML Core package, which defines the basic constructs of the language used to define UML and other metamodels (e.g., Meta Object Facility, Common Warehouse Model). The Core package is one of the four top-level packages that define the UML. The relationship of the Core package to the other top-level packages is shown in Figure 2-6. Core <<import>> <<import>> Extensions Structure <<import>> Behavior Figure 2-6. Top-Level Packages The Core package is further decomposed as shown in Figure 2-7. The general structure is accomplished by distinguishing between a Foundation package containing mainly packages with abstract metaclasses, and a Constructs package that builds on the foundation and contains packages with mostly concrete metaclasses. The primary reason for fine-grained packages is to make it easy for other metamodels to extend the Core (or parts thereof). These two packages also make use of a PrimitiveTypes package containing types used in both Foundation and Constructs, such as Integer, Boolean, and String. Part-Core.fm Version January 28, :37 pm 2-28
Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):
viii Preface The software industry has evolved to tackle new approaches aligned with the Internet, object-orientation, distributed components and new platforms. However, the majority of the large information
More informationUML Semantics 2. Contents. Section Title. This chapter contains the following sections.
UML Semantics 2 Contents This chapter contains the following sections. Section Title Page Part 1 - Background Introduction 2-2 Language Architecture 2-4 Language Formalism 2-7 Part 2 - Foundation Foundation
More informationAn introduction to MOF MetaObject Facility.
An introduction to MOF MetaObject Facility pierre-alain.muller@irisa.fr About The MetaObject Facility Specification is the foundation of OMG's industry-standard standard environment where models can be
More informationUML Proposal to the Object Management Group
UML Proposal to the Object Management Group in response to the OA&D Task Force s RFP-1 version 1.1 1 September 1997 Rational Software Microsoft Hewlett-Packard Oracle Sterling Software MCI Systemhouse
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 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 informationOutline. A little history. Outline. The Unified Modeling Language Opportunities and Challenges for Formal Methods
Outline The Unified Modeling Language Opportunities and Challenges for Formal Methods An update on UML Language definition Tools A precise OO meta-modeling facility - MMF Stuart Kent University of Kent
More informationModel Driven Development Unified Modeling Language (UML)
Model Driven Development Unified Modeling Language (UML) An Overview UML UML is a modeling notation standardized by OMG (proposal 1997, ver.1.1 in 1998, ver. 2.0 in 2004) now in 2.4.1 mature based on notations
More informationOMG Unified Modeling Language TM (OMG UML), Infrastructure
Date: August 2011 OMG Unified Modeling Language TM (OMG UML), Infrastructure Version 2.4.1 OMG Document Number: formal/2011-08-05 Standard document URL: http://www.omg.org/spec/uml/2.4.1/infrastructure
More informationOMG Modeling Glossary B
OMG Modeling Glossary B This glossary defines the terms that are used to describe the Unified Modeling Language (UML) and the Meta Object Facility (MOF). In addition to UML and MOF specific terminology,
More informationUML 2.0 Infrastructure Specification
UML 2.0 Infrastructure Specification This OMG document replaces the submission document (ad/03-01-01) and the Draft Adopted specification (ptc/03-07-05). It is an OMG Final Adopted Specification and is
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 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 informationSystems Modeling Language (SysML) INCOSE MDSD Review
Systems Modeling Language (SysML) INCOSE MDSD Review SysML Partners www.sysml.org 10 July 2005 Objectives Summarize submission status and proposed updates to V0.9 since MDSD Review at INCOSE IW on Jan
More informationMETADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE
UDC:681.324 Review paper METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE Alma Butkovi Tomac Nagravision Kudelski group, Cheseaux / Lausanne alma.butkovictomac@nagra.com Dražen Tomac Cambridge Technology
More information1 Executive Overview The Benefits and Objectives of BPDM
1 Executive Overview The Benefits and Objectives of BPDM This is an excerpt from the Final Submission BPDM document posted to OMG members on November 13 th 2006. The full version of the specification will
More informationSystems Modeling Language (SysML) Specification
Date: 11 October 2004 Systems Modeling Language (SysML) Specification version 0.85R1 DRAFT SysML Partners (www.sysml.org) American Systems Corporation ARTISAN Software Tools* BAE SYSTEMS The Boeing Company
More informationOMG Specifications for Enterprise Interoperability
OMG Specifications for Enterprise Interoperability Brian Elvesæter* Arne-Jørgen Berre* *SINTEF ICT, P. O. Box 124 Blindern, N-0314 Oslo, Norway brian.elvesater@sintef.no arne.j.berre@sintef.no ABSTRACT:
More informationSystems Modeling Language (SysML) Specification
Date: 10 January 2005 Systems Modeling Language (SysML) Specification version 0.9 DRAFT SysML Partners (www.sysml.org) American Systems Corporation ARTISAN Software Tools* BAE SYSTEMS The Boeing Company
More informationSCOS-2000 Technical Note
SCOS-2000 Technical Note MDA Study Prototyping Technical Note Document Reference: Document Status: Issue 1.0 Prepared By: Eugenio Zanatta MDA Study Prototyping Page: 2 Action Name Date Signature Prepared
More informationIDERA ER/Studio Software Architect Evaluation Guide. Version 16.5/2016+ Published February 2017
IDERA ER/Studio Software Architect Evaluation Guide Version 16.5/2016+ Published February 2017 2017 IDERA, Inc. All rights reserved. IDERA and the IDERA logo are trademarks or registered trademarks of
More informationUML 2.5: Specification Simplification
A division of Data Access Technologies, Inc. UML 2.5: Specification Simplification Presented at the Third Biannual Workshop on Eclipse Open Source Software and OMG Open Specifications Ed Seidewitz Timeline
More informationCOSC 3351 Software Design. An Introduction to UML (I)
COSC 3351 Software Design An Introduction to UML (I) This lecture contains material from: http://wps.prenhall.com/esm_pfleeger_softengtp_2 http://sunset.usc.edu/classes/cs577a_2000/lectures/05/ec-05.ppt
More informationUML Profile for Enterprise Distributed Object Computing Specification
UML Profile for Enterprise Distributed Object Computing Specification This OMG document replaces the submission (ad/2001-06-09) and the draft adopted specification (ptc/2001-12-04). It is an OMG Final
More informationOCL Support in MOF Repositories
OCL Support in MOF Repositories Joachim Hoessler, Michael Soden Department of Computer Science Technical University Berlin hoessler@cs.tu-berlin.de, soden@cs.tu-berlin.de Abstract From metamodels that
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 informationModel Driven Architecture and Rhapsody
Model Driven Architecture and Rhapsody Dr. Bruce Powel Douglass Chief Evangelist Telelogic Model Driven Architecture and Rhapsody Abstract MDA, short for Model Driven Architecture, is a unification by
More information09. Component-Level Design
09. Component-Level Design Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 What is Component OMG UML Specification defines a component as OO view a
More informationModelling in Enterprise Architecture. MSc Business Information Systems
Modelling in Enterprise Architecture MSc Business Information Systems Models and Modelling Modelling Describing and Representing all relevant aspects of a domain in a defined language. Result of modelling
More informationThe Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling
UML and Meta ling Topics: UML as an example visual notation The UML meta model and the concept of meta modelling Driven Architecture and model engineering The AndroMDA open source project Applying cognitive
More informationAppendix A - Glossary(of OO software term s)
Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component
More informationISO/IEC INTERNATIONAL STANDARD
INTERNATIONAL STANDARD This is a preview - click here to buy the full publication ISO/IEC 19500-3 First edition 2012-04-15 Information technology Object Management Group Common Object Request Broker Architecture
More informationMDA & Semantic Web Services Integrating SWSF & OWL with ODM
MDA & Semantic Web Services Integrating SWSF & OWL with ODM Elisa Kendall Sandpiper Software March 30, 2006 Level Setting An ontology specifies a rich description of the Terminology, concepts, nomenclature
More informationISO/IEC INTERNATIONAL STANDARD. Information technology Open Distributed Processing Unified Modeling Language (UML) Version 1.4.
INTERNATIONAL STANDARD ISO/IEC 19501 First edition 2005-04-01 Information technology Open Distributed Processing Unified Modeling Language (UML) Version 1.4.2 Technologies de l'information Traitement distribué
More informationUML 2.0 State Machines
UML 2.0 State Machines Frederic.Mallet@unice.fr Université Nice Sophia Antipolis M1 Formalisms for the functional and temporal analysis With R. de Simone Objectives UML, OMG and MDA Main diagrams in UML
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 informationCWM: Model Driven Architecture
CWM: Model Driven Architecture Dr. Daniel T. Chang IBM DBTI for e-business (dtchang@us.ibm.com) Abstract CWM is a new metadata standard for data warehousing and business intelligence, which was adopted
More informationMeta Object Facility (MOF) 2.0 Core Specification
Meta Object Facility (MOF) 2.0 Core Specification This OMG document replaces the submission document (ad/03-04-07), the Draft Adopted specification (ptc/03-08-06), and the Final Adopted Specification (ptc/03-10-04).
More informationModel Driven Architecture Targets Middleware Interoperability Challenges
Model Driven Architecture Targets Middleware Interoperability Challenges by Richard Soley Chairman and Chief Executive Officer Object Management Group and the OMG Staff Strategy Group "CORBA was a powerful
More informationCHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview
CHAPTER 1 Topic: UML Overview After studying this Chapter, students should be able to: Describe the goals of UML. Analyze the History of UML. Evaluate the use of UML in an area of interest. CHAPTER 1:
More informationIngegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML
Ingegneria del Software Corso di Laurea in Informatica per il Management Introduction to UML Davide Rossi Dipartimento di Informatica Università di Bologna Modeling A model is an (abstract) representation
More informationUNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?
Department: Information Technology Questions Bank Class: B.E. (I.T) Prof. Bhujbal Dnyaneshwar K. Subject: Object Oriented Modeling & Design dnyanesh.bhujbal11@gmail.com ------------------------------------------------------------------------------------------------------------
More informationUML PROFILING AND DSL
UML PROFILING AND DSL version 17.0.1 user guide No Magic, Inc. 2011 All material contained herein is considered proprietary information owned by No Magic, Inc. and is not to be shared, copied, or reproduced
More informationActivity Nets: A UML profile for modeling workflow and business processes
Activity Nets: A UML profile for modeling workflow and business processes Author: Gregor v. Bochmann, SITE, University of Ottawa (August 27, 2000) 1. Introduction 1.1. Purpose of this document Workflow
More informationImpacts of changes in enterprise software construction for telecommunications
Project Report Impacts of changes in enterprise software construction for telecommunications Model Driven Architecture Assessments of relevant technologies Editor: Olaf Kath, IKV++ Technologies AG DRAFT
More informationUNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting
UNIT II Syllabus Introduction to UML (08 Hrs, 16 Marks) a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting b. Background, UML Basics c. Introducing UML 2.0 A Conceptual Model
More informationBusiness Process Definition MetaModel (BPDM)
OMG Document bmi/2006-09-06 Business Process Definition MetaModel (BPDM) (Revised submission) September 4, 2006 In Response to: Business Process Definition Metamodel RFP (OMG Document bei/2003-0-06) Submitted
More informationFrom Object Composition to Model Transformation with the MDA
From Object Composition to Transformation with the MDA Jean Bézivin University of Nantes 2, rue de la Houssinière, BP 92208 44322 Nantes cedex 3, France Jean.Bezivin@sciences.univ-nantes.fr Abstract The
More information[MS-PICSL]: Internet Explorer PICS Label Distribution and Syntax Standards Support Document
[MS-PICSL]: Internet Explorer PICS Label Distribution and Syntax Standards Support Document Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft
More informationTINA-CAT WorkGroup Request For Proposals
TINA-CAT WorkGroup Request For Proposals TINA Conformance Testing Framework Document information Title: TINA Conformance Testing Framework RfP Version: 1.0: Approved and Released Date: July 19, 1999 1.
More informationOral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer
Unit-1 Concepts Oral Question/Assignment/Gate Question with Answer The Meta-Object Facility (MOF) is an Object Management Group (OMG) standard for model-driven engineering Object Management Group (OMG)
More informationSERIES M: TELECOMMUNICATION MANAGEMENT, INCLUDING TMN AND NETWORK MAINTENANCE Telecommunications management network
International Telecommunication Union ITU-T M.3020 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (07/2011) SERIES M: TELECOMMUNICATION MANAGEMENT, INCLUDING TMN AND NETWORK MAINTENANCE Telecommunications
More informationWHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES. Introduction. Production rules. Christian de Sainte Marie ILOG
WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES Christian de Sainte Marie ILOG Introduction We are interested in the topic of communicating policy decisions to other parties, and, more generally,
More informationComponent-Level Design. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only
Chapter 10 Component-Level Design Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For non-profit
More informationAn Information Model for High-Integrity Real Time Systems
An Information Model for High-Integrity Real Time Systems Alek Radjenovic, Richard Paige, Philippa Conmy, Malcolm Wallace, and John McDermid High-Integrity Systems Group, Department of Computer Science,
More information[MS-XHTML]: Internet Explorer Extensible HyperText Markup Language (XHTML) Standards Support Document
[MS-XHTML]: Internet Explorer Extensible HyperText Markup Language (XHTML) Standards Support Document Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation.
More informationCHAPTER 9 DESIGN ENGINEERING. Overview
CHAPTER 9 DESIGN ENGINEERING Overview A software design is a meaningful engineering representation of some software product that is to be built. Designers must strive to acquire a repertoire of alternative
More informationModel Driven Development of Component Centric Applications
Model Driven Development of Component Centric Applications Andreas Heberle (entory AG), Rainer Neumann (PTV AG) Abstract. The development of applications has to be as efficient as possible. The Model Driven
More informationModelicaML: Getting Started Issue April 2012
ModelicaML: Getting Started Issue 1.6.5 13. April 2012 Wladimir Schamai EADS Innovation Works (Hamburg, Germany) Linkoping University (Linkoping, Sweden) Abstract: This document provides a short introduction
More informationAutomation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1
Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1 Dhirubhai Ambani Institute for Information and Communication Technology, Gandhinagar, Gujarat, India Email:
More informationModel Driven Architecture
Model Driven Architecture Vision VS Reality EDOC 2001 September 4-7, Seattle, USA Sridhar Iyengar Unisys Fellow Member, OMG Architecture Board sridhar.iyengar2@unisys.com Slide 1 Model Driven Architecture
More informationUML for Real-Time Overview
Abstract UML for Real-Time Overview Andrew Lyons April 1998 This paper explains how the Unified Modeling Language (UML), and powerful modeling constructs originally developed for the modeling of complex
More informationObject-Oriented Analysis and Design. Pre-UML Situation. The Unified Modeling Language. Unification Efforts
Object-Oriented Analysis and Design Analysis vs. Design Analysis Activities Finding the Objects/ Classes An Analysis Example The Unified Modeling Language Pre-UML Situation Early 90s Explosion of OO methods/notations
More informationMDA and Integration of Legacy Systems: An Industrial Case Study
MDA and Integration of Legacy Systems: An Industrial Case Study Parastoo Mohagheghi 1, Jan Pettersen Nytun 2, Selo 2, Warsun Najib 2 1 Ericson Norway-Grimstad, Postuttak, N-4898, Grimstad, Norway 1 Department
More informationThe Eclipse Modeling Framework and MDA Status and Opportunities
The Eclipse Modeling Framework and MDA Status and Opportunities David Frankel Consulting df@davidfrankelconsulting.com www.davidfrankelconsulting.com Portions adapted from the book Model Driven Architecture:
More informationSysML, It s Coming Are You Prepared?
SysML, It s Coming Are You Prepared? Presentation for George Mason University Shana L. Lloyd The Aerospace Corporation 703-324-8877 Shana.l.lloyd@aero.org January 31, 07 1 Outline Introduction SysML Background
More informationRich Hilliard 20 February 2011
Metamodels in 42010 Executive summary: The purpose of this note is to investigate the use of metamodels in IEEE 1471 ISO/IEC 42010. In the present draft, metamodels serve two roles: (1) to describe the
More informationSysML Past, Present, and Future. J.D. Baker Sparx Systems Ambassador Sparx Systems Pty Ltd
SysML Past, Present, and Future J.D. Baker Sparx Systems Ambassador Sparx Systems Pty Ltd A Specification Produced by the OMG Process SysML 1.0 SysML 1.1 Etc. RFI optional Issued by Task Forces RFI responses
More informationSemantic Information Modeling for Federation (SIMF)
Purpose Semantic Information Modeling for Federation (SIMF) Overview V0.2-04/21/2011 The Architecture Ecosystem SIG of the Object Management Group (OMG) is in the process of drafting an RFP focused on
More informationFundamentals to Creating Architectures using ISO/IEC/IEEE Standards
Fundamentals to Creating Architectures using ISO/IEC/IEEE Standards What to Architect? How to Architect? IEEE Goals and Objectives Chartered by IEEE Software Engineering Standards Committee to: Define
More informationINTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2
INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2 1 Faculty of Sciences, Lebanese University 2 LINA Laboratory, University of Nantes ABSTRACT:
More informationMeta Object Facility (MOF) Specification
Date: July 2005 Meta Object Facility (MOF) Specification Version 1.4.1 formal/05-05-05 This version is also available from ISO as ISO/IEC 19502. Contents Foreword... ix Introduction... xi 1 Scope...1
More informationProposed Revisions to ebxml Technical Architecture Specification v ebxml Business Process Project Team
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 Proposed Revisions to ebxml Technical Architecture Specification v1.0.4 ebxml Business Process Project Team 11
More informationWhat's New in UML 2.0
What's New in UML 2.0 M.W.Richardson Lead Applications Engineer I-Logix UK mrichardson@ilogix.com What is UML? Unified Modeling Language Comprehensive full life-cycle 3 rd Generation modeling language
More informationDeveloping Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach
Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach Ninat Wanapan and Somnuk Keretho Department of Computer Engineering, Kasetsart
More informationCoral: A Metamodel Kernel for Transformation Engines
Coral: A Metamodel Kernel for Transformation Engines Marcus Alanen and Ivan Porres TUCS Turku Centre for Computer Science Department of Computer Science, Åbo Akademi University Lemminkäisenkatu 14, FIN-20520
More informationEvent Metamodel and Profile (EMP) Proposed RFP Updated Sept, 2007
Event Metamodel and Profile (EMP) Proposed RFP Updated Sept, 2007 Robert Covington, CTO 8425 woodfield crossing boulevard suite 345 indianapolis in 46240 317.252.2636 Motivation for this proposed RFP 1.
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 informationSUMMARY: MODEL DRIVEN SECURITY
SUMMARY: MODEL DRIVEN SECURITY JAN-FILIP ZAGALAK, JZAGALAK@STUDENT.ETHZ.CH Model Driven Security: From UML Models to Access Control Infrastructres David Basin, Juergen Doser, ETH Zuerich Torsten lodderstedt,
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 informationVocabulary-Driven Enterprise Architecture Development Guidelines for DoDAF AV-2: Design and Development of the Integrated Dictionary
Vocabulary-Driven Enterprise Architecture Development Guidelines for DoDAF AV-2: Design and Development of the Integrated Dictionary December 17, 2009 Version History Version Publication Date Author Description
More informationPosition Paper on the Definition of SOA-RM
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 Position Paper on the Definition of SOA-RM Authors: C. Matthew MacKenzie (mattm@adobe.com), Duane A.
More informationISO/IEC INTERNATIONAL STANDARD. Information technology CDIF transfer format Part 3: Encoding ENCODING.1
INTERNATIONAL STANDARD ISO/IEC 15475-3 First edition 2002-11-01 Information technology CDIF transfer format Part 3: Encoding ENCODING.1 Technologies de l'information Format de transfert CDIF Partie 3:
More informationSoftware Engineering from a
Software Engineering from a modeling perspective Robert B. France Dept. of Computer Science Colorado State University USA france@cs.colostate.edu Softwaredevelopment problems Little or no prior planning
More informationFuture Directions for SysML v2 INCOSE IW MBSE Workshop January 28, 2017
Future Directions for SysML v2 INCOSE IW MBSE Workshop January 28, 2017 Sanford Friedenthal safriedenthal@gmail.com 1/30/2017 Agenda Background System Modeling Environment (SME) SysML v2 Requirements Approach
More informationSupporting and Applying the UML Conceptual Framework
Supporting and Applying the UML Conceptual Framework Colin Atkinson Fraunhofer Institute for Experimental Software Engineering D-67661 Kaiserslautern, Germany atkinson@iese.fhg.de Abstract. The Unified
More informationWhat Is UML? The Goals and Features of UML. Overview. The goals of UML
What Is UML? Overview The Unified Modeling Language (UML) has been formally under development since 1994. UML is a distillation of three major notations and a number of modeling techniques drawn from widely
More informationAn Introduction to MDE
An Introduction to MDE Alfonso Pierantonio Dipartimento di Informatica Università degli Studi dell Aquila alfonso@di.univaq.it. Outline 2 2» Introduction» What is a Model?» Model Driven Engineering Metamodeling
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 informationSoftwaretechnik Model Driven Architecture Meta Modeling
Softwaretechnik Model Driven Architecture Meta Modeling Prof. Dr. Peter Thiemann Universität Freiburg 22.06.2009 PT (Univ. Freiburg) Softwaretechnik Model Driven Architecture Meta Modeling 22.06.2009 1
More informationISO/IEC INTERNATIONAL STANDARD
INTERNATIONAL STANDARD ISO/IEC 19500-2 This is a preview of "ISO/IEC 19500-2:2012". Click here to purchase the full version from the ANSI store. Second edition 2012-04-15 Information technology Object
More informationUML Extension for Objectory Process for Software Engineering
UML Extension for Objectory Process for Software Engineering version 1.1 1 September 1997 Rational Software Microsoft Hewlett-Packard Oracle Sterling Software MCI Systemhouse Unisys ICON Computing IntelliCorp
More informationSDMX self-learning package No. 3 Student book. SDMX-ML Messages
No. 3 Student book SDMX-ML Messages Produced by Eurostat, Directorate B: Statistical Methodologies and Tools Unit B-5: Statistical Information Technologies Last update of content February 2010 Version
More informationCSSE 490 Model-Based Software Engineering: Introduction to Domain Engineering
CSSE 490 Model-Based Software Engineering: Introduction to Domain Engineering Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu Learning Outcomes: Metamodels Design
More informationQoS-aware model-driven SOA using SoaML
QoS-aware model-driven SOA using SoaML Niels Schot A thesis submitted for the degree of MSc Computer Science University of Twente EEMCS - TRESE: Software Engineering Group Examination committee: Luís Ferreira
More informationUnambiguous UML (2U) Revised Submission to UML 2 Infrastructure RFP (ad/ ) Convenience document with errata (ad/ ) applied
Unambiguous UML (2U) Revised Submission to UML 2 Infrastructure RFP (ad/00-09-0) Submitted by Adaptive Data Access Project Technology Softlab Siemens Convenience document with errata (ad/2002-06-3) applied
More informationJOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2004 Vol. 3, No. 7, July-August 2004 UML 2 Activity and Action Models Part 5: Partitions
More informationUnified Modeling Language (UML)
Appendix H Unified Modeling Language (UML) Preview The Unified Modeling Language (UML) is an object-oriented modeling language sponsored by the Object Management Group (OMG) and published as a standard
More information02291: System Integration
02291: System Integration Introduction to UML Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2019 What is the UML? Unified Modelling Language (UML) Family of graphical
More informationUnified Modeling Language: Infrastructure
Date: February 2007 Unified Modeling Language: Infrastructure version 2.1.1 (without change bars) formal/07-02-06 Copyright 2001-2003 Adaptive Copyright 2001-2003 Alcatel Copyright 2001-2003 Borland Copyright
More information