-
Notifications
You must be signed in to change notification settings - Fork 59
Expand file tree
/
Copy path13b-Safety and Security Features Element Group-2.sysml
More file actions
52 lines (46 loc) · 1.27 KB
/
13b-Safety and Security Features Element Group-2.sysml
File metadata and controls
52 lines (46 loc) · 1.27 KB
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
package '13b-Safety and Security Features Element Group-2' {
private import ScalarValues::*;
private import AnnotationDefinitions::*;
private import PartsTree::*;
package AnnotationDefinitions {
metadata def Safety {
attribute isMandatory : Boolean;
}
metadata def Security;
}
package PartsTree {
part vehicle {
part interior {
part alarm {@Security;}
part seatBelt[2] {@Safety{isMandatory = true;}}
part frontSeat[2];
part driverAirBag {@Safety{isMandatory = false;}}
}
part bodyAssy {
part body;
part bumper {@Safety{isMandatory = true;}}
part keylessEntry {@Security;}
}
part wheelAssy {
part wheel[2];
part antilockBrakes[2] {@Safety{isMandatory = false;}}
}
}
}
package 'Safety Features' {
/* Parts that contribute to safety. */
public import vehicle::**[@Safety];
}
package 'Security Features' {
/* Parts that contribute to security. */
public import vehicle::**[@Security];
}
package 'Safety & Security Features' {
/* Parts that contribute to safety OR security. */
public import vehicle::**[@Safety or @Security];
}
package 'Mandatory Saftey Features' {
/* Parts that contribute to safety AND are mandatory. */
public import vehicle::**[@Safety and (as Safety).isMandatory];
}
}