7.2 Abstract Syntax

7.2 Abstract Syntax

7.2 Abstract Syntax Figure 7.2 shows the package dependencies of the Kernel packages. Figure 7.2 - Subpackages of the Classes package and their dependencies 24 UML Superstructure Specification, v2.4 Package Kernel Figure 7.3 - Root diagram of the Kernel package UML Superstructure Specification, v2.4 25 Figure 7.4 - Namespaces diagram of the Kernel package 26 UML Superstructure Specification, v2.4 Figure 7.5 - Multiplicities diagram of the Kernel package . TypedElement PackageableElement {ordered, subsets ownedElement} + operand ValueSpecification * 0..1 Expression OpaqueExpression LiteralSpecification InstanceValue symbol : String body : String {ordered, nonunique} * language : String {ordered} + instanceValue + expression {subsets owner} 1 + instance LiteralNull LiteralInteger LiteralString InstanceSpecification LiteralBoolean LiteralReal LiteralUnlimitedNatura l Figure 7.6 - Expressions diagram of the Kernel package UML Superstructure Specification, v2.4 27 Figure 7.7 - Constraints diagram of the Kernel package Figure 7.8 - Instances diagram of the Kernel package 28 UML Superstructure Specification, v2.4 {readOnly, union} RedefinableElement + /redefinedElement * * + redefinableElement Type Namespace {readOnly, subsets member} + /inheritedMember * NamedElement Classifier {subsets redefinedElement} * + classifie r + isAbstract : Boolean = false + redefinedClassifier {subsets memberNamespace} + isFinalSpecialization : Boolean = false * * RedefinableElement + redefinableElement * + isLeaf : Boolean = false * + /redefinitionContext + classifier {readOnly, union} {subsets redefinableElement} {readOnly, union, subsets member} + /general + /feature * Feature * + isStatic : Boolean = false * + /featuringClassifier * {readOnly, union, subsets memberNamespace} StructuralFeature DirectedRelationship {readOnly, union, subsets redefinableElement, {subsets target} subsets feature} + general + /attribute 0..1 Property 1 * + classifier + generalization 1 + specific * {subsets redefinitionContext, {subsets source, {subsets directedRelationship} subsets featuringClassifier} subsets owner} Generalization * + isSubstitutable : Boolean [0..1] = true + generalization {subsets directedRelationship, subsets ownedElement} Figure 7.9 - Classifiers diagram of the Kernel package UML Superstructure Specification, v2.4 29 {readOnly, union} + /member + memberNamespace NamedElement Namespace * * {readOnly, union,{readOnly, union, subsets RedefinableElement subsets member}memberNamespace} + /feature + /featuringClassifier Feature Classifier + isStatic : Boolean = false * * 0..1 + /ownedMember Namespace NamedElement + /namespace * MultiplicityElement MultiplicityElement TypedElement TypedElement {ordered, subsets ownedMember} StructuralFeature BehavioralFeature 0..1 + ownedParameter Parameter + isReadOnly : Boolean = false + direction : ParameterDirectionKind = in + ownerFormalParam * + /default : String [0..1] {readOnly} {subsets namespace} * + raisedException Type + behavioralFeature * Figure 7.10 - Features diagram of the Kernel package 30 UML Superstructure Specification, v2.4 + /namespace + /ownedMember Namespace NamedElement 0..1 * TypedElement {subsets namespace} {ordered, subsets ownedMember} Type + raisedException * + ownerFormalParam + ownedParameter BehavioralFeature Parameter * + behavioralFeature 0..1 * + direction : ParameterDirectionKind = in + /default : String [0..1] {readOnly} {ordered, redefines ownedParameter} {redefines raisedException} 0..1 + ownedParameter Operation + raisedException * + isQuery : Boolean = false + operation * + /isOrdered : Boolean = false {readOnly} {subsets ownerFormalParam} * + operation + /isUnique : Boolean = true {readOnly} + /lower : Integer [0..1] = 1 {readOnly} {subsets behavioralFeature} + owningParameter + /upper : UnlimitedNatural [0..1] = 1 {readOnly} 0..1 {subsets context} {subsets ownedRule} Constraint {subsets owner} {readOnly} + preContext + precondition + /type * 0..1 * {subsets ownedElement} 0..1 + operation {subsets context} {subsets ownedRule} 0..1 + defaultValue + bodyContext + bodyCondition {subsets redefinedElement} ValueSpecification + redefinedOperation 0..1 0..1 1 {subsets ownedElement} {subsets context} {subsets ownedRule} * + specification + postContext + postcondition * 0..1 * 0..1 + operation {subsets redefinableElement} {subsets namespace} {subsets ownedMember} + owningConstraint + context + ownedRule {subsets owner} Namespace 0..1 * Figure 7.11 - Operations diagram of the Kernel package UML Superstructure Specification, v2.4 31 Classifier {subsets namespace, subsets {ordered, subsets ownedMember, redefinitionContext} subsets redefinableElement} + class + nestedClassifier Class Classifier 0..1 * {subsets featuringClassifier, {ordered, subsets feature, subsets redefinitionContext, subsets redefinableElement, subsets namespace} subsets ownedMember} + class + ownedOperation Operation 0..1 * {ordered, readOnly, Relationship Classifier {redefines general} subsets relatedElement} {subsets relationship} + /endType + association * + /superClass Type Association * + class 1..* * + isDerived : Boolean = false 0..1 {subsets classifier} 0..1 0..1 + class + association + owningAssociation 0..1 + association {subsets classifier, subsets namespace} {subsets memberNamespace} {subsets association, {subsets owningAssociation} subsets featuringClassifier, StructuralFeature subsets namespace, subsets redefinitionContext} {ordered, subsets member} 2..* + memberEnd {ordered, subsets attribute, {subsets ownedEnd} Property * subsets ownedMember} + navigableOwnedEnd + ownedAttribute + isDerived : Boolean = false + isReadOnly : Boolean = false {redefines isReadOnly} + isDerivedUnion : Boolean = false * * + /default : String [0..1] + aggregation : AggregationKind = none + /isComposite : Boolean + ownedEnd * + isID : Boolean = false {ordered, subsets memberEnd, subsets feature, subsets ownedMember, subsets redefinableElement} + redefinedProperty {subsets redefinedElement} + subsettedProperty {subsets redefinableElement} + property * * * + owningProperty 0..1 0..1 + /opposite 0..1 {subsets owner} «enumeration» {subsets ownedElement} AggregationKind + defaultValue none shared ValueSpecification composite 0..1 Figure 7.12 - Classes diagram of the Kernel package 32 UML Superstructure Specification, v2.4 Classifier + classifie r + instanceSpecification InstanceSpecification * * {readOnly, union, subsets memberNamespace} {readOnly, union, subsets member} + /featuringClassifier + /feature Feature * * StructuralFeature {subsets redefinitionContext, {readOnly, union, subsets subsets featuringClassifier} redefinableElement, subsets feature} + classifie r + /attribute Property 0..1 * {subsets classifier, {ordered, subsets attribute, subsets namespace} subsets ownedMember} DataType + datatype + ownedAttribute 0..1 * {subsets featuringClassifier, subsets redefinitionContext, {ordered, subsets feature, BehavioralFeature subsets namespace} subsets redefinableElement, subsets ownedMember} + datatype + ownedOperation Operation 0..1 * {subsets namespace} {ordered, subsets ownedMember} + enumeration + ownedLiteral PrimitiveType Enumeration EnumerationLiteral 1 * 1 * + /classifie r + enumerationLiteral {redefines classifier} {redefines instanceSpecification} Figure 7.13 - DataTypes diagram of the Kernel package UML Superstructure Specification, v2.4 33 Namespace PackageableElement {subsets namespace} {subsets ownedMember} + owningPackage + packagedElement Package PackageableElement URI : String [0..1] 0..1 * {subsets owningPackage} {subsets packagedElement} + package + /ownedType Type 0..1 * {subsets source, DirectedRelationship subsets owner} {subsets directedRelationship, + receivingPackage subsets ownedElement} + packageMerge PackageMerge 1 * {subsets target} {subsets directedRelationship} + mergedPackage + packageMerge 1 * {subsets packagedElement} + /nestedPackage * 0..1 + nestingPackage {subsets owningPackage} Figure 7.14 - The Packages diagram of the Kernel package 34 UML Superstructure Specification, v2.4 Package Dependencies 1..* * Element DirectedRelationship (from Kernel) (from Kernel) + /source + directedRelationship 1..* * + /target + directedRelationship PackageableElement (from Dependencies) {subsets source} {subsets directedRelationship} NamedElement + client + clientDependency Dependency (from Dependencies) 1..* * 1..* * + supplier + supplierDependency {subsets target} {subsets directedRelationship} Usage 0..1 Abstraction Namespace (from Dependencies) + abstraction Realization {subsets owner} {subsets client, {subsets clientDependency, subsets owner} subsets ownedElement} Classifier Substitution (from Dependencies) + substitutingClassifier + substitution 1 * {subsets ownedElement} + mapping 0..1 OpaqueExpression 1 * (from Kernel) + contract + substitution {subsets supplier} {subsets supplierDependency} Figure 7.15 - Contents of Dependencies package UML Superstructure Specification, v2.4 35 Package Interfaces {ordered, subsets redefinableElement, + redefinedClassifier Classifier subsets ownedMember} (from Kernel) + nestedClassifier * * * StructuralFeature (from Kernel) + classifie r {readOnly, union} + classifie r Property + /attribute Classifie r (from Interfaces) (from Interfaces) * 0..1 {ordered, subsets attribute, {subsets classifier, {subsets redefinitionContext, subsets ownedMember} subsets namespace} subsets namespace} + interface + ownedAttribute + interface Interface 0..1 * 0..1 {subsets redefinedClassifier} + redefinedInterface BehavioralFeature {ordered, subsets feature, {subsets featuringClassifier,

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    14 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us