UML  «Prev  Next»
Lesson 3 What is and is not included in the UML specification
Objective Define Scope of UML specification.

UML Scope Specification

The UML has a more limited scope than people often assume. The OMG's Request for Proposal was primarily concerned with the development of a metamodel for OO modeling. The metamodel was expected to define an underlying language that could be transmitted between products that support visual modeling without constraining the vendors to a particular methodology for developing the models. Additional Information
  • What is and is not included in the UML specification
    A common misconception is that the UML defines the visual representation for each notation element. The UML defines the underlying metamodel, but only suggests a visual representation. Technically, the visual representations are customizable. This allows users in very specialized applications to tailor the model to their unique needs. In reality, most people stick with the suggested visuals since, after all, we are talking about a standard for visual modeling. The objective of UML is to provide system architects, software engineers, and software developers with tools for analysis, design, and implementation of software based systems as well as for modeling business and similar processes. The initial versions of UML (UML 1) originated with three leading object-oriented methods (Booch, OMT, and OOSE), and incorporated a number of best practices from modeling language design, object-oriented programming, and architectural description languages. Relative to UML 1, this revision of UML has been enhanced with significantly more precise definitions of its abstract syntax rules and semantics, a more modular language structure, and a greatly improved capability for modeling large-scale systems. One of the primary goals of UML is to advance the state of the industry by enabling object visual modeling tool interoperability. However, to enable meaningful exchange of model information between tools, agreement on semantics and notation is required. UML meets the following requirements:

  1. A formal definition of a common MOF-based metamodel that specifies the abstract syntax of the UML. The abstract syntax defines the set of UML modeling concepts, their attributes and their relationships, as well as the rules for combining these concepts to construct partial or complete UML models.
  2. A detailed explanation of the semantics of each UML modeling concept. The semantics define, in a technologyindependent manner, how the UML concepts are to be realized by computers.
  3. A specification of the human-readable notation elements for representing the individual UML modeling concepts as well as rules for combining them into a variety of different diagram types corresponding to different aspects of modeled systems.
  4. A detailed definition of ways in which UML tools can be made compliant with this specification. This is supported (in a separate specification) with an XML-based specification of corresponding model interchange formats (XMI) that must be realized by compliant tools.

Improve the System Architecture

Rework the physical metamodel so that it is more tightly aligned with the MOF meta-metamodel. Improve the guidelines that establish what constructs should be defined in the kernel language and what constructs should be defined in UML profiles or standard model libraries
  • Meta-Object Facility (MOF): The Meta-Object Facility (MOF) is at the heart of the MDA strategy along with the UML, CWM, CORBA, and XMI. It is the starting point, the standard that defines the languages used to describe systems and MDA itself. The MOF is a metamodel (often called M2), a model defining the concepts required to build a model and to store the model in a repository. The model is stored by representing the metadata as CORBA objects.
  • System Development
    System development focuses on three different models of the system
    1. The functional model, represented in UML with use case diagrams, describes the functionality of the system from the point of view of the user .
    2. The object model, represented in UML with class diagrams, describes the structure of the system in terms of objects, attributes, associations, and operations. During requirements and analysis, the object model starts as the analysis object model and describes the application concepts relevant to the system. During system design, the object model is refined into the system design object model and includes descriptions of the subsystem interfaces. During object design, the object model is refined into the object design model and includes detailed descriptions of solution objects.
    3. The dynamic model, represented in UML with interaction diagrams, state machine diagrams, and activity diagrams, describes the internal behavior of the system. Interaction diagrams describe behavior as a sequence of messages exchanged among a set of objects, whereas state machine diagrams describe behavior in terms of states of an individual object and the possible transitions between states. Activity diagrams describe behavior in terms control and data flows.

UML Metamodel

This metamodel defines the underlying meaning of each element used in visual modeling and the relationships among them. For example, in the UML metamodel, you will find a detailed description of a class; its component parts, attributes, and operations; and the relationships among them. You will not find a process for finding classes or for evaluating a "good" class specification versus a "bad" class specification. Nor does the metamodel define the visual icons used for each model element .
  • Nine diagrams are defined in the UML Metamodel: Nine diagrams are defined in the UML metamodel. Each is fully described in the metamodel using class diagrams and textual narrative. The net result for most of us is a set of standardized visual models that may be used with many different modeling processes. The process chosen may vary widely among industries, applications, and practitioners. The key to the UML is understanding that you can use it with any number of different development methods, process controls, and quality measures. The rest of this course is devoted to explaining the purpose and definition of each UML diagram and their relationships to one another. This understanding should prepare you to apply the models in your own unique environment.

The "UML (Unified Modeling Language) Metamodel" specifies the structural and behavioral components of the UML language itself. It defines the elements and relationships that make up UML diagrams. Within the UML Metamodel, the diagrams are broadly classified into two categories:
  1. Structural Diagrams

    These focus on the static aspects of a system, such as classes, objects, components, and their relationships.

    • Class Diagram: Describes the structure of a system by showing its classes, attributes, methods, and relationships.
    • Object Diagram: Represents a snapshot of objects and their relationships at a particular moment in time.
    • Component Diagram: Depicts the components of a system and their dependencies.
    • Deployment Diagram: Shows the physical deployment of artifacts on nodes.
    • Package Diagram: Groups related elements into packages to organize a system's structure.
    • Profile Diagram: Used to define custom stereotypes and tagged values for extending UML metamodel elements.
  2. Behavioral Diagrams

    These focus on the dynamic aspects of a system, including its behavior and interactions.

    • Use Case Diagram: Represents the functionality of a system as seen by external actors.
    • Activity Diagram: Models workflows, business processes, or system activities.
    • State Machine Diagram: Captures the states and transitions of an entity in response to events.
    • Sequence Diagram: Displays object interactions arranged in a time sequence.
    • Communication Diagram: Shows interactions between objects or parts, emphasizing the messages exchanged.
    • Interaction Overview Diagram: Combines activity and sequence diagrams to provide an overview of control flow.
    • Timing Diagram: Focuses on time-based behavior of objects.

Metamodel Focus The UML Metamodel is defined using the Meta-Object Facility (MOF), and it specifies:
  • Core concepts: Such as elements, relationships, and diagrams.
  • Syntax and semantics: How diagrams are expressed and what they mean.
  • Extensibility mechanisms: Like stereotypes and tagged values.

Purpose: The metamodel is not tied to specific tools or applications but provides the foundational framework for creating and understanding UML diagrams consistently across tools and domains.
In the next lesson, how UML is being refined and extended to provide the most flexibility and applicability will be discussed.

SEMrush Software