1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- import models/SimpleClassDiagrams as SimpleClassDiagrams
- include "primitives.alh"
- include "object_operations.alh"
- SimpleClassDiagrams ProcessModel {
- SimpleAttribute String {
- name = "String"
- }
- SimpleAttribute MvCName {
- name = "MvCName"
- constraint = $
- String function constraint(model : Element, name : String):
- if (bool_not(is_physical_string(model["model"][name]))):
- return "MvCName has no string value"!
- else:
- return "OK"!
- $
- }
- Class Activity {
- name = "Activity"
- }
- Class Start : Activity {
- name = "Start"
- lower_cardinality = 1
- upper_cardinality = 1
- }
- Class Finish : Activity {
- name = "Finish"
- lower_cardinality = 1
- }
- Class Fork : Activity {
- name = "Fork"
- }
- Class Join : Activity {
- name = "Join"
- }
- Class Decision : Activity {
- name = "Decision"
- constraint = $
- String function constraint(model : Element, name : String):
- if (read_nr_out(allOutgoingAssociationInstances(model, name, "Next")) == 0):
- return "OK"!
- else:
- return "Decision node cannot have a normal 'Next' link"!
- $
- }
- Class Exec : Activity {
- name = "Exec"
- name : MvCName
- }
- Class Data {
- name = "Data"
- name : MvCName
- type : MvCName
- }
- Association Produces (Exec, Data) {
- name : String
- name = "Produces"
- }
- Association Consumes (Exec, Data) {
- name : String
- name = "Consumes"
- }
- Association Then (Decision, Activity) {
- name = "Then"
- }
- Association Else (Decision, Activity) {
- name = "Else"
- }
- Association Next (Activity, Activity) {
- name = "Next"
- }
- }
- export ProcessModel to models/ProcessModel
|