12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- import models/SimpleClassDiagrams as SimpleClassDiagrams
- include "primitives.alh"
- include "object_operations.alh"
- SimpleClassDiagrams ProcessModel {
- SimpleAttribute String {}
- SimpleAttribute 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 {}
- Class Start : Activity {
- lower_cardinality = 1
- upper_cardinality = 1
- }
- Class Finish : Activity {
- lower_cardinality = 1
- }
- Class Fork : Activity {}
- Class Join : Activity {}
- Class Decision : Activity {
- 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 : MvCName
- }
- Class Data {
- name : MvCName
- type : MvCName
- }
- Association Produces (Exec, Data) {
- name : String
- }
- Association Consumes (Exec, Data) {
- name : String
- }
- Association Then (Decision, Activity) {}
- Association Else (Decision, Activity) {}
- Association Next (Activity, Activity) {}
- }
- export ProcessModel to models/ProcessModel
|