• Tidak ada hasil yang ditemukan

Superstructure Specification

N/A
N/A
AGUNG PRASETYO

Academic year: 2023

Membagikan "Superstructure Specification"

Copied!
640
0
0

Teks penuh

The base use case does not depend on the behavior of the extension use case. An object that exists only during the execution of the process or thread that created it.

Table 1 Summary of Compliance Points
Table 1 Summary of Compliance Points

Changes to Adopted OMG Specifications

Architectural Alignment and MDA Support

How to Read this Specification

These concepts are organized into three parts: Part I - "Structure", Part II - "Behaviour" and Part III - "Addition". Although the chapters are organized in a logical manner and can be read sequentially, this is a reference specification intended to be read in a non-sequential manner.

Acknowledgements

The following individuals were part of the core team that designed and wrote this specification: Don Baisley, Morgan Björkander, Conrad Bock, Steve Cook, Philippe Desfray, Nathan Dykman, Anders Ek, David Frankel, Eran Gery, Øystein Haugen, Sridhar Iyengar, Cris Kobryn, Birger Møller-Pedersen, James Odell, Gunnar Övergaard, Karin Palmkvist, Guus Ramackers, Jim Rumbaugh, Bran Selic, Thomas Weigert and Larry Williams. In addition, the following individuals contributed valuable ideas and feedback that significantly improved the content and quality of this specification: Colin Atkinson, Ken Baclawski, Mariano Belaunde, Steve Brodsky, Roger Burkhart, Bruce Douglass, Karl Frank, William Frank, Sandy Friedenthal, Sébastien Gerard, Dwayne Hardy, Mario Jeckle, Larry Johnson, Allan Kennedy, Mitch Kokar, Thomas Kuehne, Michael Latta, Antoine Lonjon, Dave Mellor, Stephen Mellor, Joaquin Miller, Jeff Mischkinksky, Hiroshi Miyazaki, Jishnu Mukerji, Ileana Ober, Barbara Price , Tom Rutt, Kendall Scott, Oliver Sims, Cameron Skinner, Jeff Smith, Doug Tolbert and Ian Wilkie.

Structure

Overview

The kernel package represents the core modeling concepts in UML, including classes, associations, and packages. All other packages in InfrastructureLibrary::Core are implicitly merged through those that are explicitly merged.

Kernel – the Root Diagram

  • Comment (from Kernel)
  • DirectedRelationship (from Kernel)
  • Element (from Kernel)
  • Relationship (from Kernel)

An annotation does not add any semantics to the annotated elements, but can represent information useful to the reader of the model. The comments for an element do not add any semantics, but can represent information useful to the reader of the model.

Kernel – the Namespaces Diagram

  • ElementImport (from Kernel)
  • NamedElement (from Kernel, Dependencies) A named element is an element in a model that may have a name.A named element is an element in a model that may have a name
  • Namespace (from Kernel)
  • PackageableElement (from Kernel)
  • PackageImport (from Kernel)
  • VisibilityKind (from Kernel)

If an element input has an alias, it is used instead of the name of the input element. The name is used for identification of the named element within the namespace in which it is defined.

Figure 7 - Example of element import
Figure 7 - Example of element import

Kernel – the Multiplicities Diagram

  • MultiplicityElement (from Kernel)
  • Type (from Kernel)
  • TypedElement (from Kernel)

5] The query upperBound() returns the upper bound of the multiplicity of a bounded multiplicity as an unbounded natural. If the multiplicity is attached to an element whose notation is a text string (such as an attribute, etc.), the multiplicity string will be enclosed in square brackets ([]) as part of that text string.

Figure 11 - Multiplicity within a textual specification
Figure 11 - Multiplicity within a textual specification

Kernel – the Expressions Diagram

  • Expression (from Kernel)
  • OpaqueExpression (from Kernel)
  • LiteralBoolean (from Kernel)
  • LiteralInteger (from Kernel)
  • LiteralNull (from Kernel)
  • LiteralSpecification (from Kernel)
  • LiteralString (from Kernel)
  • LiteralUnlimitedNatural (from Kernel)
  • ValueSpecification (from Kernel)

If the language is not specified, it may be implicit from the body of the expression or the context. 6] The query isNull() returns true if the value can be calculated to be zero.

Kernel – the Constraints Diagram

  • Constraint (from Kernel)

For an element whose record is a text string (such as an attribute, etc.), the constraint string may follow the element's text string in parentheses. A constraint string can be placed in a note symbol and attached to each of the constrained element symbols with a dashed line. For three or more paths of the same type (such as generalization paths or associative paths), the constraint can be attached to a dashed line crossing all paths.

Figure 15 - Constraint attached to an attribute
Figure 15 - Constraint attached to an attribute

Kernel – the Instances Diagram

  • InstanceSpecification (from Kernel)
  • Slot (from Kernel)

An instance specification specifies the existence of an entity in a modeled system and describes the entity in whole or in part. 1] The defining characteristic of each slot is a structural characteristic (direct or inherited) of a classifier from the instance specification. 2] One structural attribute (including the same attribute inherited from multiple classifiers) is the defining attribute of at most one slot in an instance specification.

Figure 21 - Instance specifications representing two objects connected by a link
Figure 21 - Instance specifications representing two objects connected by a link

Kernel – the Classifiers Diagram

  • Classifier (from Kernel, Dependencies, PowerTypes)
  • Generalization (from Kernel, PowerTypes)
  • RedefinableElement (from Kernel)

An instance of a specific classifier is also an (indirect) instance of each of the general classifiers. Any restriction that applies to instances of the general classifier also applies to instances of the specific classifier. Each instance of the specific classifier is also an indirect instance of the general classifier.

Figure 23 - Examples of attributesClassB
Figure 23 - Examples of attributesClassB

Kernel – the Features Diagram

  • BehavioralFeature (from Kernel)
  • Feature (from Kernel)
  • Parameter (from Kernel)
  • ParameterDirectionKind (from Kernel)
  • StructuralFeature (from Kernel)

A behavioral attribute is a characteristic of a classifier that specifies some aspect of the behavior of its instances. A structural feature is a typified feature of a classifier that specifies the structure of instances of the classifier. A resizable structural attribute is represented using {unrestricted} as part of the structural attribute notation.

Kernel – the Operations Diagram

  • Operation (from Kernel)

An operation is called on an instance of the classifier for which the operation is a function. The postconditions for an operation define conditions that will be met when the operation's invocation completes successfully, assuming the preconditions are met. When an exception is made, it should not be assumed that the postconditions or bodyCondition of the operation are met.

Kernel – the Classes Diagram

  • AggregationKind (from Kernel)
  • Association (from Kernel)
  • Class (from Kernel)
  • Property (from Kernel, AssociationClasses)

When a property is owned by an association, it represents a non-navigable portion of the association. In this case, the property type is the association end type. When owned by an association through ownEnd, it represents a non-navigable end of the association.

Figure 31 shows a binary association from Player to Year named PlayedInYear. The solid triangle indicates the order of
Figure 31 shows a binary association from Player to Year named PlayedInYear. The solid triangle indicates the order of

Kernel – the DataTypes Diagram

  • DataType (from Kernel)
  • Enumeration (from Kernel)
  • EnumerationLiteral (from Kernel)
  • PrimitiveType (from Kernel)

A data type is a special kind of classifier, similar to a class, whose instances are values ​​(not objects). An enumeration is a data type whose values ​​are enumerated in the model as an enumeration literal. An EnumerationLiteral defines an element in the runtime extension of an enumeration data type.

Kernel – the Packages Diagram

  • Package (from Kernel)
  • PackageMerge (from Kernel)

A classifier from the target package (merged) is transformed into a classifier with the same name in the source package (merge), unless the source package already contains a classifier of the same type with the same name. In addition, the classifier in the source package gets generalizations to each transformed superclassifier of the classifier from the target package. Classifiers of the same kind with the same name from multiple target packages are transformed into a single classifier in the source package, with generalizations to each target classifier.

Figure 44 - Examples of a package with membersTypes
Figure 44 - Examples of a package with membersTypes

Dependencies

  • Abstraction (from Dependencies)
  • Classifier (from Dependencies)
  • Dependency (from Dependencies)
  • NamedElement (from Dependencies)
  • Permission (from Dependencies)
  • Realization (from Dependencies)
  • Substitution (from Dependencies)
  • Usage (from Dependencies)

A dependency denotes a vendor/client relationship between model elements where changing the vendor can affect the client model elements. A realization means that the client set of elements is an implementation of the provider set that acts as. In the meta-model, a Usage is a dependency where the customer requires the supplier's presence.

Figure 51 - The contents of Dependencies package
Figure 51 - The contents of Dependencies package

Interfaces

  • BehavioredClassifier (from Interfaces)
  • Interface (from Interfaces)

A classifier that implements an interface specifies instances that are consistent with the interface and any of its predecessors. An implementation relationship between a classifier and an interface means that the classifier supports the set of properties possessed by the interface and any of its parent interfaces. The implementation dependency of a classifier on an interface is shown by representing the interface with a circle or ball, labeled with the name of the interface, attached with a solid line to the classifier that implements this interface (see Figure 59).

Figure 61 - Isensor is the required interface of TheftAlarm as well as the pro- pro-vided interface of ProximitySensor
Figure 61 - Isensor is the required interface of TheftAlarm as well as the pro- pro-vided interface of ProximitySensor

AssociationClasses

An associated class is shown as a class symbol appended to the link path with a dashed line. The connection path and the association class symbol represent the same basic model element, which has a single name. Logically, the association class and the association are the same semantic entity; however, they are graphically distinct.

Figure 66 - The contents of AssociationClasses packageAss ociat ionClass
Figure 66 - The contents of AssociationClasses packageAss ociat ionClass

PowerTypes

  • Classifier (from PowerTypes)
  • Generalization (from PowerTypes)

The powertype mapping relates a classifier to the instances of that classifier—which are the specific classifiers identified for a generalization set. In reality, the subtypes of wood and the instances of tree species are the same objects. It can also be interpreted as: the subtypes of account are instances of account type.

Figure 69 - Generalization set constraint notation
Figure 69 - Generalization set constraint notation

Diagrams

In other words, unless you are programming in Smalltalk or CLOS, the designer must be aware of the integrity problem of keeping the list of energy type instances in sync with the existing subclasses. Or if a new subclass of Policy has been added, a new instance must also be added to the appropriate energy type. InstanceSpecification See “InstanceSpecification (from Kernel)” on page 57. Note that instances of any classifier can be displayed by prefixing the classifier name with the instance name, followed by a colon, and underlining the entire name string .

Table 3  Graphic nodes included in structure diagrams
Table 3 Graphic nodes included in structure diagrams

Overview

Abstract syntax

Class Descriptions

  • Component

These interfaces may be implemented or realized by a component or any of its implementation classifiers, or may be types of its required ports. These interfaces may be used by the component or any of its implementation classifiers, or may be the types of its required ports. The external view of a component is by means of interface symbols that protrude from the component field (external view or black box view).

Figure 80 - A Component with one provided interface
Figure 80 - A Component with one provided interface

Order

Connector (from InternalStructures, as specialized)

An assembly connector is a connector that is defined by a required interface or port on a given interface or port. 2] If a delegation connector is defined between a used interface or port and an internal part classifier, then that classifier must have an "implements" relationship with the interface type of that port. 5] A mount connector should only be defined by a required interface or port on a given interface or port.

Figure 91 - Delegation connectors connect the externally provided
Figure 91 - Delegation connectors connect the externally provided

Realization (from Dependencies, as specialized)

It should be noted that for applications that require several different sets of realizations for a single component specification, a set of default stereotypes is defined in the UML Standard Profile. The following changes from UML 1.x have been made: Realization is defined in UML 1.4 as a 'stand-alone' general dependency - it is not extended to specifically include component realization.

Diagrams

Variations of structure diagrams often focus on particular structural aspects, such as relationships between packages, displaying instance specifications, or relationships between classes. There are no strict boundaries between different variations; it is possible to display any element you would normally display in a structure diagram in any variation.

Table 5 Graphic nodes included in structure diagrams
Table 5 Graphic nodes included in structure diagrams

Overview

Abstract syntax

Class Descriptions

  • Class (from StructuredClasses, as specialized)
  • Classifier (from Collaborations, as specialized)
  • Collaboration (from Collaborations)
  • CollaborationOccurrence (from Collaborations)

The properties of the classifier are mapped to the roles in cooperation with the role bindings of the cooperation occurrence. A collaboration occurrence denotes the set of roles and connectors that participate within a classifier with respect to a given collaboration, denoted by the collaboration occurrence type. This mapping shows which connecting element of a classifier or operation plays which role(s) in the collaboration.

Figure 105 - In the Observer collaboration two roles, a Subject and an                       Observer, collaborate to produce the desired behavior
Figure 105 - In the Observer collaboration two roles, a Subject and an Observer, collaborate to produce the desired behavior

Sale

A collaboration event is shown with a dashed ellipse containing the name of the event, a colon, and the name of the collaboration type. For each role binding, there is a dashed line from the ellipse to the client element; the dashed line is marked on the client side with the name of the supplier element. The BrokeredSale specification shows that it consists of two occurrences of the Sale participation, indicated by dashed ellipses.

BrokeredSale

EncapsulatedClassifier (from Ports)

InvocationAction (from Actions, as specialized)

Parameter (Collaboration, as specialized)

Port (from Ports)

The interaction point object must be an instance of a classifier that realizes the provided interfaces of the gateway. As long as the environment obeys the constraints expressed by the provided and required interfaces of the engine, the engine will function properly. The Car class connects port p of the engine to a set of wheels via the axle.

Figure 110 - Port notation
Figure 110 - Port notation

Property (from InternalStructures, as specialized)

An attribute that specifies an instance that is not owned by composition by the instance of the containing classifier is shown by graphical nesting of a box symbol with a dashed line. On the left, the property indicates that the containing instance will own four instances of the Wheel class by composition. The property on the right indicates that the containing instance will reference one or two instances of the Engine class.

Figure 116 - “Star” connector pattern
Figure 116 - “Star” connector pattern

Trigger (from InvocationActions, as specialized)

It describes the internal structure of the car it creates and how the four recorded instances of Wheel will be initialized. The left wheel instances are named and all wheel instances are displayed playing the games. Specifying one or more ports for an event means that the event will only trigger the execution of an associated behavior if the event is received on one of the specified ports.

Variable (from StructuredActivities, as specialized)

Diagrams

Additional graphical paths that can be included in composite structure diagrams are shown in Table 7. All graphical nodes and paths shown on composite structure diagrams can also appear on other structure diagrams.

Table 7 - Graphic nodes included in composite structure diagrams
Table 7 - Graphic nodes included in composite structure diagrams

Overview

Abstract syntax

Class Descriptions

  • Artifact

Gambar

Figure 2 describes the dependencies (i.e., package merges) between the subpackages of the package Classes
Figure 3 - The InfrastructureLibrary packages that are merged by Kernel; all  dependencies in the picuture represent package merges
Figure 4 - The Root diagram of the Kernel packageKernel
Figure 6 - The Namespaces diagram of the Kernel package
+7

Referensi

Dokumen terkait