Wednesday, July 11, 2007

Language Architecture UML 2.0

The design principles include
  1. Modularity/partitioning - Maximize reuse, isolated, small, well-defined.
  2. Layaring - The packages in each layer may also separate model elements to define levels of abstraction within the layer.
  3. Extensibility - 2 type of extension, One type uses profiles, Second specialized to create a new lanuage like UML.

UML 2.0 is comprised of two libraries,
  1. Infrastructure
    Defines the core metamodel used to define the MOF, UML, CWM and profiles.
  2. Superstructure.
    It extends and customizes the infrastructure to define the UML metamodel.
    Defines the elements to make up the modeling notations of the UML.
    These elements created by extending and adding to the basic elements defined in the infrastructure.


Infrastructure library
contains 2 packages
  1. Core package
  2. Profiles packages
Core package
Provides the foundation on which to build the MOF, UML, CWM, profiles and future languages.
The common metamodel makes possible model interchange via XML Model Interchange(XMI).
Each of the four packages, UML, CWM, MOF and profiles, need help from Core package. They depend on the contents of the Core in order to complete their own sets of definitions.
The Core package contains three other packages, all depend on the data types defined in the PrimitiveTypes package
  1. Abstractions
  2. Basic
  3. Constructs
The primitive Types package defines a small set of data types that are userd to specify the core metamodel. The 3 types are Integer, Boolean, and String.
Abstractions package - defines the common concepts needed to build modeling abstract elements such as classifiers, behavioral elements, comments, generalizations, and visibilities.
Basic package - defines the common characteristics of classifiers, classes, data types, and packages.
Constructs package - refines contents of the Abstractions and Basic packages, merging and refining abstract concepts to create a set of common modeling elements. They are implementable concepts with package names like Classes, Attributes, Associations, and Packages.

Profiles package

The Profiles package contains mechanisms to adapt existing metaclasses to a specific subject or platform.



Superstructure(or UML)
defines all the diagramming elements of the UML.
The 3 categories are
  1. Structure section defines Class, Object, Composite Structure, Component, Deployment, and Package diagrams.
  2. Behavioral section defines Sequence, Interaction Overview, Timing, Communication, and State Machine diagrams, as well as Action Semantics.
  3. Supplimental section defines auxilary concepts likw information flows and class templates, and profiles as defined within the UML.

New diagrams added in UML 2.0

  • replaced the Collabration diagram with a more limited Communication diagram.
  • added new 2 interaction diagrams: the interaction Overview diagram the Timing diagram.
  • added the Protocol State Machine.
  • added the Composite Structure diagram
  • isolated the Activity diagram with its own semantics separate from the State Machine.

No comments: