diff options
Diffstat (limited to 'winery/documentation/TOSCA specification/TOSCA-v1.0-os-class-diagram.plantuml')
-rw-r--r-- | winery/documentation/TOSCA specification/TOSCA-v1.0-os-class-diagram.plantuml | 470 |
1 files changed, 0 insertions, 470 deletions
diff --git a/winery/documentation/TOSCA specification/TOSCA-v1.0-os-class-diagram.plantuml b/winery/documentation/TOSCA specification/TOSCA-v1.0-os-class-diagram.plantuml deleted file mode 100644 index d186078..0000000 --- a/winery/documentation/TOSCA specification/TOSCA-v1.0-os-class-diagram.plantuml +++ /dev/null @@ -1,470 +0,0 @@ -/*********************************************************************** - * Copyright (c) 2013-2014 University of Stuttgart. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and Apache License v2.0 which accompanies this distribution. - * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html - * and the Apache License v2.0 is available at - * http://www.opensource.org/licenses/apache2.0.php. - * You may elect to redistribute this code under either of these licenses. - * Contributors: - * Oliver Kopp - initial implementation - ************************************************************************* - -This model describes the XSD of TOSCA-v1.0.xsd as released by TOSCA v1.0 cos01. -URL: http://docs.oasis-open.org/tosca/TOSCA/v1.0/os/schemas/TOSCA-v1.0.xsd -Specification: http://docs.oasis-open.org/tosca/TOSCA/v1.0/TOSCA-v1.0.html - -@startuml - -'skinparam monochrome true -'Chooses LightGray as background color -'We're better off with manual setting - -skinparam class { - BackgroundColor White - ArrowColor Black - BorderColor Black - LegendBackgroundColor White -} - -skinparam stereotypeCBackgroundColor LightGray - -skinparam noteBackgroundColor White -skinparam noteBorderColor Black - -'required for SVG -skinparam defaultFontName sans-serif - - -Title <size:33>TOSCA v1.0 as UML class diagram. This is not an official OASIS document. No warranty. (c) University of Stuttgart. Dual-licensed under EPL and ASLv2. Version 2014-01-29. - -legend right -== Note on the model -The model stays close to the XSD with following exceptions: -* Containers such as tTags are ignored: A class is then wired using a 1:n relation to the elements nested in the container -* Relations to TOSCA artifacts are encoded. -** E.g., a QName modelling a substitutable Node Type is modeled as reference to a Node Type -** *Ref elements are not modeled, the association is drawn directly -*** E.g., tCapabilityRef is not contained in the model -* xsd types are presented more relaxed. E.g., xsd:string becomes String - -== Conventions -* green: required (+ prefix) -* all others: optional -endlegend - - - -'OS line 19 -class tExtensibleElements { - documentation - contents of other namespaces -} - -'OS line 26 -tExtensibleElements <|-- tImport -class tImport { - anyURI namespace - anyURI location - +(anyURI) importType -} - -'OS line 42 -tExtensibleElements <|-- tDefinitions -class tDefinitions { - +ID id - String name - anyURI targetNamespace - List<Object> Types -} -tDefinitions *-- "*" tExtension -tDefinitions *-- "*" tImport - -'OS line 61 -tDefinitions *-- "*" tServiceTemplate -tDefinitions *-- "*" tNodeType -tDefinitions *-- "*" tNodeTypeImplementation -tDefinitions *-- "*" tRelationshipType -tDefinitions *-- "*" tRelationshipTypeImplementation -tDefinitions *-- "*" tCapabilityType -tDefinitions *-- "*" tArtifactType -tDefinitions *-- "*" tArtifactTemplate -tDefinitions *-- "*" tPolicyType -tDefinitions *-- "*" tPolicyTemplate - -'OS line 81 -tExtensibleElements <|-- tServiceTemplate -class tServiceTemplate { - +ID id - String name - anyURI targetNamespace -} -tServiceTemplate *-- "*" tTag -tServiceTemplate *-- "*" tBoundaryDefinitions -tServiceTemplate *-- tTopologyTemplate -tServiceTemplate *-- "*" tPlan -tServiceTemplate --> "0..1" tNodeType : substitutable - -'OS line 102 -class tTag { - +String name - +String value -} - -'OS line 106 -class tBoundaryDefinitions { - Properties -} -tBoundaryDefinitions *-- "*" tPropertyMapping -tBoundaryDefinitions *-- "*" tPropertyConstraint -tBoundaryDefinitions --> "*" tRequirement -tBoundaryDefinitions --> "*" tCapability -tBoundaryDefinitions *-- "*" tPolicy -tBoundaryDefinitions *-- "*" tExportedInterface - -'OS line 159 -class tPropertyMapping { - +String serviceTemplatePropertyRef - +String targetPropertyRef -} -tPropertyMapping --> "0..1" tNodeTemplate -tPropertyMapping --> "0..1" tRelationshipTemplate -tPropertyMapping --> "0..1" tRequirement -tPropertyMapping --> "0..1" tCapability - -'OS lines 164 to 171 define tRequiermentRef and tCapabilityRef -'to enable referencing requirements and capabilities -'We directly point to the elements - -'OS line 172 -abstract class tEntityType -tExtensibleElements <|-- tEntityType -class tEntityType { -' DerivedFrom is rendered as self-association in all subclasses -' DerivedFrom - PropertiesDefinition - +NCName name - Boolean abstract [no] - Boolean final [no] - anyURI targetNamespace -} -tEntityType *-- "*" tTag - -'OS line 196 -abstract class tEntityTemplate -tExtensibleElements <|-- tEntityTemplate -class tEntityTemplate { - Properties - +xs:ID id - +QName type -} -tEntityTemplate *-- "*" tPropertyConstraint - -'OS line 219 -tEntityTemplate <|-- tNodeTemplate -class tNodeTemplate #DDDDDD/EEEEEE { - String name - int minInstances [1] - int|unbounded maxInstances [1] -} -tNodeTemplate *-- "*" tRequirement -tNodeTemplate *-- "*" tCapability -tNodeTemplate *-- "*" tPolicy -tNodeTemplate *-- "*" tDeploymentArtifact -'due to the subclassing of tEntityTemplate -'There, the type attribute references the parent class -tNodeTemplate --> tNodeType : type - -'OS line 268 -tExtensibleElements <|-- tTopologyTemplate -class tTopologyTemplate -'no attributes exist -tTopologyTemplate *-- "*" tNodeTemplate -tTopologyTemplate *-- "*" tRelationshipTemplate - -'OS line 278 -tEntityType <|-- tRelationshipType -class tRelationshipType #DDDDDD/EEEEEE -'no attributes -'InstanceStates -tRelationshipType *-- "*" tTopologyElementInstanceState -'SourceInterfaces -tRelationshipType *-- "*" tInterface : SourceInterface -'TargetInterfaces -tRelationshipType *-- "*" tInterface : TargetInterface -'ValidSource -tRelationshipType --> "0..1" tNodeType : ValidSource -tRelationshipType --> "0..1" tRequirementType : ValidSource -'ValidTarget -tRelationshipType --> "0..1" tNodeType : ValidTarget -tRelationshipType --> "0..1" tCapabilityType : ValidTarget -'DerivedFrom -tRelationshipType --> "0..1" tRelationshipType : DerivedFrom - - -'OS line 311 -tExtensibleElements <|-- tRelationshipTypeImplementation -class tRelationshipTypeImplementation { - +NCName name - anyURI targetNamespace - Boolean abstract - Boolean final -} -tRelationshipTypeImplementation --> tRelationshipType -tRelationshipTypeImplementation *-- "*" tTag -tRelationshipTypeImplementation --> "0..1" tRelationshipTypeImplementation : DerivedFrom -tRelationshipTypeImplementation *-- "*" tRequiredContainerFeature -tRelationshipTypeImplementation *-- "*" tImplementationArtifact - -'OS line 332 -tEntityTemplate <|-- tRelationshipTemplate -class tRelationshipTemplate #DDDDDD/EEEEEE { - String name -} -'SourceElement -tRelationshipTemplate --> "0..1" tNodeTemplate : SourceElement -tRelationshipTemplate --> "0..1" tRequirement : SourceElement -'TargetElement -tRelationshipTemplate --> "0..1" tNodeTemplate : TargetElement -tRelationshipTemplate --> "0..1" tCapability : TargetElement -' -tRelationshipTemplate *-- "*" tRelationshipConstraint -'due to the subclassing of tEntityTemplate -tRelationshipTemplate --> tRelationshipType - -'OS line 349 -'not modeled as t, but directly nested in tRelationshipTemplate -'We model it as t to be consistent with the other definitions -class tRelationshipConstraint { - +anyURI constraintType -} - -'OS line 365 -tEntityType <|-- tNodeType -class tNodeType #DDDDDD/EEEEEE -'No new attributes -' -tNodeType *-- "*" tRequirementDefinition -tNodeType *-- "*" tCapabilityDefinition -tNodeType *-- "*" tTopologyElementInstanceState -tNodeType *-- "*" tInterface -'DerivedFrom -tNodeType --> "0..1" tNodeType : DerivedFrom - -'OS line 395 -tExtensibleElements <|-- tNodeTypeImplementation -class tNodeTypeImplementation { - +NCname name - anyURI targetNamespace - Boolean abstract - Boolean final -} -tNodeTypeImplementation --> tNodeType -tNodeTypeImplementation *-- "*" tTag -tNodeTypeImplementation --> "0..1" tNodeTypeImplementation : DerivedFrom -tNodeTypeImplementation *-- "*" tRequiredContainerFeature -tNodeTypeImplementation *-- "*" tDeploymentArtifact -tNodeTypeImplementation *-- "*" tImplementationArtifact - -'OS line 417 -tEntityType <|-- tRequirementType -class tRequirementType -tRequirementType --> "0..1" tCapabilityType : requiredCapabilityType -'DerivedFrom -tRequirementType --> "0..1" tRequirementType : DerivedFrom - -'OS line 424 -tExtensibleElements <|-- tRequirementDefinition -class tRequirementDefinition { - +String name - int lowerBound [1] - int|unbounded upperBound [1] -} -tRequirementDefinition *-- "*" tConstraint -tRequirementDefinition --> tRequirementType - -'OS line 458 -tEntityTemplate <|-- tRequirement -class tRequirement { - +String name -} -'"name" is also used to point to tRequirementDefinition -tRequirement --> tRequirementDefinition : name -'due to the subclassing of tEntityTemplate -tRequirement --> tRequirementType - -'OS line 465 -tEntityType <|-- tCapabilityType -'DerivedFrom -tCapabilityType --> "0..1" tCapabilityType : DerivedFrom - -'OS line 470 -tExtensibleElements <|-- tCapabilityDefinition -class tCapabilityDefinition { - +String name - int lowerBound [1] - int|unbounded upperBound [1] -} -tCapabilityDefinition *-- "*" tConstraint -tCapabilityDefinition --> tCapabilityType - -'OS line 504 -tEntityTemplate <|-- tCapability -class tCapability { - +String name -} -'"name" is also used to point to tCapabilityDefinition -tCapability --> tCapabilityDefinition : name -'due to the subclassing of tEntityTemplate -tCapability --> tCapabilityType - -'OS line 511 -tEntityType <|-- tArtifactType -tArtifactType --> "0..1" tArtifactType : DerivedFrom - -'OS line 516 -tEntityTemplate <|-- tArtifactTemplate -'PDF line 2607 -class tArtifactTemplate { - String name -} -tArtifactTemplate *-- "*" tArtifactReference -'due to the subclassing of tEntityTemplate -tArtifactTemplate --> tArtifactType - -'OS line 537 -tExtensibleElements <|-- tDeploymentArtifact -class tDeploymentArtifact { - +String Name -} -tDeploymentArtifact --> tArtifactType -tDeploymentArtifact --> "0..1" tArtifactTemplate - -'OS line 557 -tExtensibleElements <|-- tImplementationArtifact -class tImplementationArtifact { - anyURI interfaceName - String operationName -} -tImplementationArtifact --> tArtifactType -tImplementationArtifact --> "0..1" tArtifactTemplate - -'OS line 573 -tExtensibleElements <|-- tPlan -class tPlan { - +ID id - String name - +anyURI planType - +anyURI languageUsed - PlanModel | PlanModelReference -} -tPlan *-- "0..1" tCondition : Precondition -tPlan *-- "*" tParameter : InputParamter -tPlan *-- "*" tParameter : OutputParamter - -'OS line 614 -tEntityType <|-- tPolicyType -class tPolicyType { - anyURI policyLanguage -} -'AppliesTo/NodeTypeReference: CS02 line 631 -tPolicyType --> "*" tNodeType : tAppliesTo/NodeTypeReference -'DerivedFrom -tPolicyType --> "0..1" tPolicyType : DerivedFrom - -'OS line 624 -tEntityTemplate <|-- tPolicyTemplate -class tPolicyTemplate { - String name -} -'due to inheritance of tEntityTemplate -tPolicyTemplate --> tPolicyType - -'OS line 640 -tExtensibleElements <|-- tPolicy -class tPolicy { - String name -} -tPolicy --> tPolicyType -tPolicy --> "0..1" tPolicyTemplate - -'OS line 649 -class tConstraint { - +anyURI constraintType -} - -'OS line 655 -tConstraint <|-- tPropertyConstraint -class tPropertyConstraint { - +String property -} - -'OS line 671 -tExtensibleElements <|-- tExtension -class tExtension { - +anyURI namespace - Boolean mustUnderstand [yes] -} - -'OS line 679 -class tParameter { - +String name - +String type - Boolean required [yes] -} - -'OS line 684 -class tInterface { - +anyURI name 'NCName is a subset of anyURI -} -tInterface *-- tOperation - -'OS line 690 -class tExportedInterface { - +anyURI name -} -tExportedInterface --> "1..*" tExportedOperation - -'OS line 696 -tExtensibleElements <|-- tOperation -class tOperation { - +NCName name -} -tOperation *-- "*" tParameter : InputParameters -tOperation *-- "*" tParameter : OutputParamters - -'OS line 719 -class tExportedOperation { - +NCName name - +anyURI interfaceName - +NCName operationName -} -tExportedOperation --> "0..1" tNodeTemplate -tExportedOperation --> "0..1" tRelationshipTemplate -tExportedOperation --> "0..1" tPlan - - -'OS line 743 -class tCondition { - +anyURI expressionLanguage -} - -'OS line 751 -'tTopologyElementInstanceState does not exist directly, but to be consistent with the others, we introduce it -class tTopologyElementInstanceState { - anyURI state -} - -'OS line 758 -class tArtifactReference { - Include - Exclude - +anyURI reference -} - -'OS line 773 -class tRequiredContainerFeature { - +anyURI feature -} -@enduml |