--============================================================ model UMLProject -- v11 (11 Set 2009) --============================================================ -------------------------------------------------------------- -- PACKAGE: Connectors -> Enumerated Types -------------------------------------------------------------- enum DirectionType {None, To, From, Both} enum SequenceFlowType {Normal, Conditional, Default} -------------------------------------------------------------- -- PACKAGE: FlowObjects -> Enumerated Types -------------------------------------------------------------- enum EndEventType {None, Message, Error, Compensation, Terminate, Signal, Multiple, Cancel} enum StartEventType {None, Message, Conditional, Timer, Signal, Multiple} enum TaskType {None, MultipleInstances, Loop, Compensation} enum SubprocessType {None, MultipleInstances, Loop, Compensation, Adhoc} enum TaskKind {Send, Receive, Service, Script, User, Manual, Reference, None} enum SubprocessKind {Embedded, Independent} enum IntermediateEventType {Message, Timer, Error, Cancel, Compensation, Conditional, Signal, Multiple, Link, None} enum GateType {Input, Output} enum EventDynamicType {Catching, Throwing} enum ActivityStatusType {None, Ready, Active, Cancelled, Aborted, Aborting, Completed} -------------------------------------------------------------- -- PACKAGE: Simulation -> Enumerated Types -------------------------------------------------------------- enum DistributionType {Constant, Uniform, Normal, Exponential} enum TimeType {Month, Day, Hour, Minute, Second} -------------------------------------------------------------- -- PACKAGE: Model (Class: ProcessType) -> Enumerated Types -------------------------------------------------------------- enum ProcessType {None, Private, Abstract, Collaboration} enum ProcessStatus {None, Ready, Active, Cancelled, Aborting, Aborted, Completing, Completed} class Object end -------------------------------------------------------------- -- PACKAGE: Connectors -> Classes -------------------------------------------------------------- class Connectors_SequenceFlow < Connectors_Connector attributes type: SequenceFlowType end --SequenceFlow class Connectors_MessageFlow < Connectors_Connector end --MessageFlow class Connectors_Association < Connectors_Connector end --Association abstract class Connectors_Connector < StructuralElements_GraphicalElement attributes dtype: DirectionType end --Connector class Connectors_SequenceFlowCondition < Object attributes condition: String end --SequenceFlowCondition -------------------------------------------------------------- -- PACKAGE: FlowObjects -> Classes -------------------------------------------------------------- class FlowObjects_SubProcess < FlowObjects_Activity , Model_Process attributes type: SubprocessType kind: SubprocessKind end --SubProcess class FlowObjects_Task < FlowObjects_Activity attributes type: TaskType kind: TaskKind end --Task abstract class FlowObjects_Activity < FlowObjects_FlowObject , Orchestration__OrchestrationElement attributes activityStatus: ActivityStatusType end --Activity class FlowObjects_Event < FlowObjects_FlowObject , Orchestration__OrchestrationElement attributes eventDynamic: EventDynamicType end --Event abstract class FlowObjects_FlowObject < StructuralElements_GraphicalElement end --FlowObject class FlowObjects_StartEvent < FlowObjects_Event attributes type: StartEventType end --StartEvent class FlowObjects_EndEvent < FlowObjects_Event attributes type: EndEventType end --EndEvent class FlowObjects_IntermediateEvent < FlowObjects_Event attributes type: IntermediateEventType end --IntermediateEvent abstract class FlowObjects_Gateway < FlowObjects_FlowObject end --Gateway class FlowObjects_GatewayDataBasedExclusive < FlowObjects_GatewayExclusive end --GatewayDataBasedExclusive class FlowObjects_GatewayEventBasedExclusive < FlowObjects_GatewayExclusive end --GatewayEventBasedExclusive class FlowObjects_GatewayDataBasedInclusive < FlowObjects_Gateway end --GatewayDataBasedInclusive class FlowObjects_ComplexGateway < FlowObjects_Gateway end --ComplexGateway class FlowObjects_ParallelGateway < FlowObjects_Gateway end --ParallelGateway class FlowObjects_AttachedIntermediateEvent < FlowObjects_IntermediateEvent end --AttachedIntermediateEvent class FlowObjects_Gate < SupportingElements_SupportingElement attributes type: GateType order: Integer end --Gate class FlowObjects_GatewayExclusive < FlowObjects_Gateway end --GatewayExclusive class FlowObjects_ConditionGate < Object attributes incomingCondition: String outgoingCondition: String end --ConditionGate -------------------------------------------------------------- -- PACKAGE: Artifacts -> Classes -------------------------------------------------------------- class Artifacts_DataObject < Artifacts_Artifact end --DataObject abstract class Artifacts_Artifact < StructuralElements_GraphicalElement end --Artifact class Artifacts_Group < Artifacts_Artifact end --Group class Artifacts_TextAnnotation < Artifacts_Artifact attributes contents: String end --TextAnnotation -------------------------------------------------------------- -- PACKAGE: Orchestration -> Classes -------------------------------------------------------------- abstract class Orchestration__OrchestrationElement < Object end --OrchestrationElement -------------------------------------------------------------- -- PACKAGE: Simulation -> Classes -------------------------------------------------------------- class Simulation_Resource < SupportingElements_SupportingElement attributes cost: Real timeUnit: TimeType name: String description: String end --Resource class Simulation_SimulationParameters < Object attributes duration: Real timeUnit: TimeType maximumDelay: Real distribution: DistributionType end --SimulationParameters class Simulation_ActivityDistribuition < Object attributes weighting: Real percentage: Real end --ActivityDistribuition -------------------------------------------------------------- -- PACKAGE: Model -> Classes -------------------------------------------------------------- abstract class Model_BpmnElement < Object attributes id: String name: String description: String end --BpmnElement class Model_Process < SupportingElements_SupportingElement , Orchestration__OrchestrationElement attributes ptype: ProcessType status: ProcessStatus end --Process class Model_Model < Object attributes name: String documentation: String author: String version: String operations numberProcesses(): Integer end --Model class Model_Diagram < Object attributes author: String creationdate: Date modificationdate: Date documentation: String name: String end --Diagram class Model_InputSets < Object attributes inputProcessParameter: String end --InputSets class Model_OutputSets < Object attributes onputProcessParameter: String end --OutputSets -------------------------------------------------------------- -- PACKAGE: PackageUseCase -> Classes -------------------------------------------------------------- class PackageUseCase_Actor < Object attributes name: String description: String end --Actor class PackageUseCase_Relationship < Object end --Relationship class PackageUseCase_UseCase < Object attributes description: String name: String end --UseCase class PackageUseCase_Intervenient < Object attributes name: String end --Intervenient class PackageUseCase_Events < Object attributes name: String description: String end --Events class PackageUseCase_Include < PackageUseCase_Relationship end --Include class PackageUseCase_Generalization < PackageUseCase_Relationship end --Generalization class PackageUseCase_Extension < PackageUseCase_Relationship end --Extension -------------------------------------------------------------- -- PACKAGE: SupportingElements -> Classes -------------------------------------------------------------- class SupportingElements_SupportingElement < Model_BpmnElement end --SupportingElement -------------------------------------------------------------- -- PACKAGE: Properties -> Classes -------------------------------------------------------------- class SupportingElements_Properties_Property < SupportingElements_SupportingElement attributes type: String value: String end --Property -------------------------------------------------------------- -- PACKAGE: BPMN_MM -> Classes -------------------------------------------------------------- class Date < Object attributes year: Integer month: Integer day: Integer end --Date -------------------------------------------------------------- -- PACKAGE: StructuralElements -> Classes -------------------------------------------------------------- class StructuralElements_Pool < StructuralElements_Swimlane , Orchestration__OrchestrationElement attributes isCollapsed: Boolean end --Pool class StructuralElements_Lane < StructuralElements_Swimlane end --Lane abstract class StructuralElements_Swimlane < StructuralElements_GraphicalElement , StructuralElements_GraphicalElement end --Swimlane class StructuralElements_GraphicalElement < Model_BpmnElement end --GraphicalElement -------------------------------------------------------------- -- Associative Classes -------------------------------------------------------------- -------------------------------------------------------------- -- Associations -------------------------------------------------------------- association SequenceFlow_SequenceFlowCondition between Connectors_SequenceFlow [1] role sequenceFlow Connectors_SequenceFlowCondition [0..1] role sequenceFlowCondition end association OrchestrationElement_MessageFlow between Orchestration__OrchestrationElement [1] role orchestrationSource Connectors_MessageFlow [0..*] role messageFlowSource end association OrchestrationElement_MessageFlow1 between Connectors_MessageFlow [0..*] role messageFlowTarget Orchestration__OrchestrationElement [1] role orchestrationTarget end association Association_Artifact between Connectors_Association [0..*] role association_ Artifacts_Artifact [1] role artifact end aggregation Swimlane_Connector between StructuralElements_Swimlane [1] role swimlane Connectors_Connector [0..*] role connector end association Gate_Connector between FlowObjects_Gate [0..1] role gate Connectors_Connector [1] role connector end association FlowObject_FlowConnector between FlowObjects_FlowObject [0..1] role source Connectors_Connector [0..*] role flowConnectorSource end association FlowObject_FlowConnector1 between FlowObjects_FlowObject [0..1] role target Connectors_Connector [0..*] role flowConnectorTarget end association SubProcess_SubProcess between FlowObjects_SubProcess [0..1] role subProcess2 FlowObjects_SubProcess [0..*] role subprocesses end composition SubProcess_Task between FlowObjects_SubProcess [0..1] role subProcess FlowObjects_Task [0..*] role task end association Task_Resource between FlowObjects_Task [1..*] role task Simulation_Resource [0..*] role resource end association Task_SimulationParameters between FlowObjects_Task [1..*] role activity Simulation_SimulationParameters [0..1] role actionCost end association AttachedIntermediateEvent_Activity between FlowObjects_AttachedIntermediateEvent [0..*] role attachedIntermediateEvent FlowObjects_Activity [0..*] role activity end composition Swimlane_FlowObject between StructuralElements_Swimlane [1] role swimlane FlowObjects_FlowObject [0..*] role flowObject end composition Gateway_Gate between FlowObjects_Gateway [1] role gateway FlowObjects_Gate [1] role gate end association ComplexGateway_ConditionGate between FlowObjects_ComplexGateway [1] role complexGateway FlowObjects_ConditionGate [0..1] role conditiongate end association Gate_ConditionGate between FlowObjects_Gate [1] role gate FlowObjects_ConditionGate [0..1] role conditionGate end association Gate_ActivityDistribuition between FlowObjects_Gate [1] role gate Simulation_ActivityDistribuition [0..1] role activityDistribuition end aggregation Swimlane_Artifact between StructuralElements_Swimlane [0..*] role swimlane Artifacts_Artifact [0..*] role artifact end aggregation Group_BpmnElement between Artifacts_Group [0..*] role group Model_BpmnElement [0..*] role bpmnElement end association SimulationParameters_Resource between Simulation_SimulationParameters [1..*] role cost Simulation_Resource [1..*] role role_ end association Resource_Process between Simulation_Resource [0..*] role resource Model_Process [0..*] role process end composition Process_BpmnElement between Model_Process [1] role bpmnBelongProcess Model_BpmnElement [0..*] role bpmnElement end association Relationship_BpmnElement between PackageUseCase_Relationship [1] role relationship Model_BpmnElement [1] role bpmnElement end association UseCase_BpmnElement between PackageUseCase_UseCase [1] role useCase Model_BpmnElement [1..*] role bpmnElement end association BpmnElement_Property between Model_BpmnElement [1] role bpmnElement SupportingElements_Properties_Property [0..*] role extendedProperties end composition Model_Process between Model_Model [1] role processModel Model_Process [1..*] role process end association participation between Model_Process [1] role process PackageUseCase_Actor [0..*] role actor end association Process_Pool between Model_Process [0..*] role process StructuralElements_Pool [0..1] role pool end association InputSets_Process between Model_InputSets [0..*] role inputSets Model_Process [1] role process end association OutputSets_Process between Model_OutputSets [0..*] role outputSets Model_Process [1] role process end association Process_Property between Model_Process [1] role extendedProcess SupportingElements_Properties_Property [0..*] role extendedProperty end composition Model_Diagram between Model_Model [0..1] role model_ Model_Diagram [0..*] role diagram end aggregation Diagram_GraphicalElement between Model_Diagram [0..1] role diagram StructuralElements_GraphicalElement [0..*] role graphicalElement end association Intervenient_Actor between PackageUseCase_Intervenient [1] role intervenient PackageUseCase_Actor [1..*] role actor end association carryout between PackageUseCase_UseCase [1..*] role useCase PackageUseCase_Actor [1..*] role actor end association Actor_Lane between PackageUseCase_Actor [0..1] role actor StructuralElements_Lane [0..*] role lane end association UseCase_Relationship between PackageUseCase_UseCase [1] role useCase PackageUseCase_Relationship [1..*] role relationship end association Events_UseCase between PackageUseCase_Events [1] role events PackageUseCase_UseCase [1..*] role useCase end composition Swimlane_Lane between StructuralElements_Swimlane [1] role swimlane_lane StructuralElements_Lane [1..*] role lane_swimlane end ------------------------------------------------------------------------ constraints ------------------------------------------------------------------------ -- Put your OCL model constraints here in the following format: -- ________________________________________________ -- context -- inv : -- ________________________________________________ -- context :: -- pre : -- post : -- ________________________________________________ -- end constraints