-
Notifications
You must be signed in to change notification settings - Fork 4
/
constraintsumcu.adl
60 lines (42 loc) · 3.67 KB
/
constraintsumcu.adl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
CONTEXT Example
INCLUDE "repositoryumcu.archimate"
RELATION serving[Node*ApplicationComponent]
RELATION access[ApplicationComponent*DataObject]
RELATION serving[ApplicationComponent*BusinessProcess]
RELATION access[ BusinessObject*BusinessActor]
RELATION owner[BusinessActor*ApplicationComponent]
RELATION serving[ApplicationComponent*Node]
RELATION association[DataObject*BusinessRole]
RELATION owner [BusinessActor*BusinessProcess]
RELATION stores[Node*DataObject]
RULE "Policy 1.1":
access[ApplicationComponent*DataObject]~ |- stores~ ; serving[Node*ApplicationComponent] ; (serving~ \/ I)
VIOLATION (TXT "Application component \'", TGT name, TXT "\' has access to objects of type \'", SRC name, TXT "\'but there is nothing in which to store \'", SRC name, TXT "\'.")
RULE "Policy 1.3": stores~ ; serving ; -I[ApplicationComponent] ; serving[Node*ApplicationComponent]~ ; stores |- -I[DataObject]
VIOLATION (TXT "Data objects of type \'", SRC name, TXT "\' are stored in ", SRC stores~ ; serving[Node*ApplicationComponent])
RULE "Policy 2.1":I[ApplicationFunction]|-realization[ApplicationComponent*ApplicationFunction]~;realization[ApplicationComponent*ApplicationFunction]
VIOLATION (TXT "ApplicationFunction \'", TGT name, TXT "\' is not realized by any ApplicationComponent.")
RULE "Policy 2.2": realization[ApplicationComponent*ApplicationFunction]~; -I[ApplicationComponent]; realization[ApplicationComponent*ApplicationFunction]
|- -I[ApplicationFunction]
VIOLATION (TXT "ApplicationFunction \'", SRC name, TXT "\' is realized by ApplicationComponents ", SRC realization[ApplicationComponent*ApplicationFunction]~;name, TXT ".")
RULE "Policy 3" : I[ApplicationComponent] |- serving ; serving[ApplicationComponent*BusinessProcess] ; serving~
VIOLATION (TXT "Application Component \'", TGT name, TXT "\' is not serving a Business Process.")
RULE "Policy 4.1": I[BusinessProcess] |- owner[BusinessActor*BusinessProcess]~ ; owner[BusinessActor*BusinessProcess]
VIOLATION (TXT "Business Process \'", SRC name, TXT "\' does not have an owner.")
RULE "Policy 4.2": owner[BusinessActor*BusinessProcess] |- -(-I[BusinessActor] ; owner)
VIOLATION (TXT "Business Process \'", TGT name, TXT "\' has multiple owners.")
RULE "Policy 5": I[BusinessObject] |- access[BusinessObject*BusinessActor]; access[BusinessObject*BusinessActor]~
VIOLATION ( TXT "PatientFile (Business Object) \'", SRC name, TXT "\' is not accessed by a caretaker/Patient (Health worker")
RULE "Policy 6": I[DataObject] |- realization[DataObject*BusinessObject];realization[DataObject*BusinessObject]~
VIOLATION ( TXT "Data Object \'", SRC name, TXT "\' does not realize any Business Object")
RULE "Policy 7.1": I[ApplicationComponent] |- owner[BusinessActor*ApplicationComponent]~ ; owner[BusinessActor*ApplicationComponent]
VIOLATION (TXT "Application Component \'", SRC name, TXT "\' does not have an owner.")
RULE "Policy 7.2": owner[BusinessActor*ApplicationComponent] |- -(-I[BusinessActor] ; owner)
VIOLATION (TXT "Application Component \'", TGT name, TXT "\' has ", SRC name, TXT " as owners.")
RULE "Policy 8": I[ApplicationComponent] |- serving [ApplicationComponent*Node]; serving [ApplicationComponent*Node]~
VIOLATION (TXT "Application \'", SRC name, TXT "\'has no access with the Data Warehouse")
RULE "Policy 9": I[DataObject] |- association[DataObject*BusinessRole]; association[DataObject*BusinessRole]~
VIOLATION (TXT "DataObject\'", SRC name, TXT "\'a data object has no responsible")
RULE "Policy 10": I[ApplicationComponent] |- association[ApplicationComponent*ApplicationComponent]; association[ApplicationComponent*ApplicationComponent]~
VIOLATION (TXT "Application\'", SRC name, TXT "\'is not connected to the central application")
ENDCONTEXT