Ad/2010-08-01 Concrete Syntax for a uml action Language for Foundational uml (Alf) Second Revised Submission



Download 1.74 Mb.
Page52/62
Date28.01.2017
Size1.74 Mb.
#9041
1   ...   48   49   50   51   52   53   54   55   ...   62

19.3Package Definitions


  1. A package definition maps to a package. If the package definition is a stub, then it is mapped according to the associated subunit definition.

  2. The applied profiles of a package definition map to profile application relationships from the package to each of the applied profiles.

  3. Each package member is mapped according to its kind. The resulting elements are a packaged elements of the package.

See also the mapping for visibility in Subclause 19.2.

19.4Classifier Definitions


  1. A classifier definition (other than a classifier template parameter) maps to a classifier and its features, as specified for each kind of classifier in the appropriate subsequent subclause. If the classifier definition is a stub, then it is mapped according to its associated subunit definition.

Specialization

  1. If the classifier definition has specialization referents, then the classifier being defined has generalization relationships with each of the referents. If the classifier definition is abstract, then the classifer has isAbstract=true. Otherwise isAbstract=false.

Template Parameters

  1. If a classifier definition has owned members that are classifier template parameters, then these map classifier template parameters of the classifier. If a classifier template parameter has a specialization referent, this maps to a constraining classifier for the parameter.

  2. Each template parameter has a corresponding parametered element which is a private member owned by the classifier being defined with the same name as the template parameter. If the template parameter has a constraining classifier, then the parametered element is a classifier of the same kind as the constraining classifier and it has a generalization relationship to the constraining classifier. Otherwise it is a data type. In all cases, the parametered element is abstract.

19.5Class Definitions


  1. A class definition maps to a class with isActive=false. (For active classes, see Subclause 19.6).

Class Members

  1. A nested classifier definition maps to a classifier as specified in the subclause for the appropriate kind of classifier. If the nested classifier definition is a stub declaration, then the stub declaration is mapped according to the associated subunit definition. The resulting classifier is a nested classifier of the class.

  2. A property definition maps to an owned attribute of the class as specified in Subclause 19.14.

  3. An operation definition maps to an owned operation of the class as specified in Subclause 19.15.

See also the mapping for visibility in Subclause 19.2.

Default Constructors and Destructors

  1. If a class definition has no operation definitions that are constructors, a public, concrete owned operation is added to the class with the same name as the class and no parameters and the standard «Create» stereotype applied. It has a corresponding method activity that is a private owned behavior of the class with the default behavior described in Subclause 10.5.3.1. Within this behavior, initializers for attributes of the class are mapped as sequenced structured activity nodes containing the mappings of the initializer expressions (see Subclause 17.24).

  2. If a class definition has no operation definitions that are destructors, a public, concrete owned operation with the name “destroy”, no parameters and the standard «Destroy» stereotype applied is added to the class. It has a corresponding method activity that is a private owned behavior of the class with the default behavior described in Subclause 10.5.3.2.

19.6Active Class Definitions


  1. An active class is mapped like a passive class (see Subclause 19.4), except an active class has isActive=true and the following additional rules for mapping the classifier behavior and receptions.

  2. If the behavior clause for an active class is a name, then the classifier behavior for the class is the named activity. If the behavior clause is a block, then the classifier behavior is an activity with the activity nodes and edges mapped from the block (see Subclause 18.1).

  3. An active feature definition maps to an owned reception of the class as specified in Subclause 19.16. An active feature stub declaration is mapped according to the associated subunit definition.

19.7Data Type Definitions


  1. A data type definition that is not primitive maps to a data type (that is not an enumeration or a primitive type).

  2. A data type definition that is primitive maps to a primitive type. This primitive type is registered as a built-in type with the execution factory at the execution locus for the unit (see Subclause 8.2 of the fUML Specification).

Data Type Members

  1. A property definition maps to an owned attribute of the data type as specified in Subclause 19.14.

See also the mapping for visibility in Subclause 19.2.

19.8Association Definitions


  1. An association definition maps to an association.

Association Members

  1. A property definition maps to an owned end of the association as specified in Subclause 19.14. All ends are navigable owned ends of the association.

See also the mapping for visibility in Subclause 19.2.

19.9Enumeration Definitions


  1. An enumeration definition maps to an enumeration.

  2. An enumeration literal name maps to an enumeration literal that is an owned literal of the enumeration and has the given unqualified name.


Download 1.74 Mb.

Share with your friends:
1   ...   48   49   50   51   52   53   54   55   ...   62




The database is protected by copyright ©ininet.org 2024
send message

    Main page