-
Notifications
You must be signed in to change notification settings - Fork 59
Expand file tree
/
Copy path13b-Safety and Security Features Element Group-1.sysml
More file actions
56 lines (50 loc) · 1.31 KB
/
13b-Safety and Security Features Element Group-1.sysml
File metadata and controls
56 lines (50 loc) · 1.31 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
53
54
55
56
package '13b-Safety and Security Features Element Group-1' {
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::**;
filter @Safety;
}
package 'Security Features' {
/* Parts that contribute to security. */
public import vehicle::**;
filter @Security;
}
package 'Safety & Security Features' {
/* Parts that contribute to safety OR security. */
public import vehicle::**;
filter @Safety or @Security;
}
package 'Mandatory Safety Features' {
/* Parts that contribute to safety AND are mandatory. */
public import vehicle::**;
filter @Safety and (as Safety).isMandatory;
}
}