Guide to Applying the UML

This chapter provides an introduction to using extension mechanisms in composing UML models. Our goal in this chapter is to gain an introductory understanding of how to extend the UML.
The UML is defined within a conceptual framework for modeling called a four-layer metamodeling architecture that consists of four distinct layers or levels of abstraction wherein the UML is defined in a circular or recursive manner, in which a subset of the language notation and semantics is used to specify the language itself. Within this framework, a concept is depicted as a vertex or node, including an icon or two-dimensional symbol that may contain other elements, and a relationship among concepts is depicted as an arc or path made of a series of line segments connecting the nodes. Other information is depicted as strings or sequences of characters within or attached to these symbols.
This conceptual framework for modeling may be understood by considering how computer programs and programming languages are related. There are many different programming languages (C, C+ +, Java, C#, Smalltalk, and so forth), and each particular program is developed using a specific programming language. All of these languages support various declarative constructs for declaring data, procedural constructs for defining the sequential, conditional, and repetitive logic that manipulates data, and the notions of input, data or declarative constructs, processing or procedural constructs, and output. These concepts may be partitioned into various models based on their level of abstraction. Programming...