Skip to content

Commit 389b9c2

Browse files
committed
MEF W146 CfC#1 v0.1
1 parent f3c8ef1 commit 389b9c2

33 files changed

+4836
-0
lines changed

‎documentation/serviceApi/alarm/MEF W146 - LSO Allegro, LSO Interlude and LSO Legato Threshold Crossing Alerts (Alarms) API and Developer Guide - Developer Guide.md

+2,218
Large diffs are not rendered by default.
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
9.96 KB
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,241 @@
1+
@startuml alarmDataModel
2+
skinparam {
3+
ClassBackgroundColor White
4+
ClassBorderColor Black
5+
}
6+
7+
class Alarm {
8+
9+
alarmRaisedTime: date-time
10+
externalAlarmId: string
11+
isRootCause: boolean
12+
probableCause: ProbableCause
13+
sourceSystemId: string
14+
specificProblem: string
15+
}
16+
Alarm_Common <|-- Alarm
17+
18+
Alarm *-->"*" AlarmedObjectRef : alarmedObject
19+
Alarm *-->"*" Comment : comment
20+
Alarm *--> AlarmRef : parentAlarm
21+
Alarm *--> AlarmSpecificAttributes : alarmSpecificAttributes
22+
23+
24+
class AlarmRef {
25+
26+
id*: string
27+
href: string
28+
}
29+
30+
31+
32+
class AlarmSpecificAttributes {
33+
34+
@type*: string
35+
}
36+
37+
38+
39+
class AlarmSubscription {
40+
41+
id: string
42+
}
43+
AlarmSubscriptionInput <|-- AlarmSubscription
44+
45+
46+
47+
class AlarmSubscriptionInput {
48+
49+
callback*: string
50+
query: string
51+
}
52+
53+
54+
55+
enum AlarmType {
56+
57+
communicationsAlarm
58+
processingErrorAlarm
59+
environmentalAlarm
60+
qualityOfServiceAlarm
61+
equipmentAlarm
62+
integrityViolation
63+
operationalViolation
64+
physicalViolation
65+
securityService
66+
mechanismViolation
67+
timeDomainViolation
68+
}
69+
class Alarm_Common {
70+
71+
id*: string
72+
href: uri
73+
alarmChangedTime: date-time
74+
alarmClearedTime: date-time
75+
alarmDetails*: string
76+
alarmedObjectType: string
77+
alarmReportingTime*: date-time
78+
alarmType*: AlarmType
79+
perceivedSeverity*: PerceivedSeverity
80+
plannedOutageIndicator: PlannedOutageIndicator
81+
reportingSystemId: string
82+
serviceAffecting: boolean
83+
state*: State
84+
}
85+
86+
Alarm_Common *-->"*" ServiceRef : affectedService
87+
Alarm_Common *-->"*" AlarmRef : correlatedAlarm
88+
89+
90+
class Alarm_Find {
91+
92+
}
93+
Alarm_Common <|-- Alarm_Find
94+
95+
96+
97+
class AlarmedObjectRef {
98+
99+
id*: string
100+
href: string
101+
@referredType: string
102+
}
103+
104+
105+
106+
class Comment {
107+
108+
description: string
109+
systemIdentifier: string
110+
time: date-time
111+
userIdentifier: string
112+
}
113+
114+
115+
116+
117+
enum PerceivedSeverity {
118+
119+
cleared
120+
critical
121+
indeterminate
122+
major
123+
minor
124+
warning
125+
}
126+
enum PlannedOutageIndicator {
127+
128+
inPlannedMaintenance
129+
outOfService
130+
}
131+
enum ProbableCause {
132+
133+
adapterError
134+
applicationSubsystemFailure
135+
bandwidthReduced
136+
callEstablishmentError
137+
communicationsProtocolError
138+
communicationsSubsystemFailure
139+
configurationOrCustomizationError
140+
congestion
141+
corruptData
142+
cpuCyclesLimitExceeded
143+
datasetOrModemError
144+
degradedSignal
145+
dteDceInterfaceError
146+
enclosureDoorOpen
147+
equipmentMalfunction
148+
excessiveVibration
149+
fileError
150+
fireDetected
151+
floodDetected
152+
framingError
153+
heatingVentilationCoolingSystemProblem
154+
humidityUnacceptable
155+
ioDeviceError
156+
inputDeviceError
157+
lanError
158+
Detected
159+
localNodeTransmissionError
160+
lossOfFrame
161+
lossOfSignal
162+
materialSupplyExhausted
163+
multiplexerProblem
164+
outOfMemory
165+
outputDeviceError
166+
performanceDegraded
167+
powerProblem
168+
pressureUnacceptable
169+
processorProblem
170+
pumpFailure
171+
queueSizeExceeded
172+
receiveFailure
173+
receiverFailure
174+
remoteNodeTransmissionError
175+
resourceNearingCapacity
176+
responseTimeExcessive
177+
retransmissionRateExcessive
178+
softwareError
179+
softwareProgramTerminated
180+
softwareProgramError
181+
storageCapacityProblem
182+
temperatureUnacceptable
183+
thresholdCrossed
184+
timingProblem
185+
toxicDetected
186+
transmitFailure
187+
transmitterFailure
188+
underlyingResourceUnavailable
189+
versionMismatch
190+
}
191+
class ServiceRef {
192+
193+
id*: string
194+
href: string
195+
}
196+
197+
198+
199+
enum State {
200+
201+
acknowledged
202+
cleared
203+
un-acknowledged
204+
}
205+
class TcaStatefulClearAlarm {
206+
207+
performanceMetricName: string
208+
performanceMetricValue: number
209+
tcaPerformanceThresholdValue: number
210+
tcaWindowThresholdValue: number
211+
tcaWindowSize: number
212+
}
213+
AlarmSpecificAttributes <|-- TcaStatefulClearAlarm
214+
215+
216+
217+
class TcaStatefulSetAlarm {
218+
219+
performanceMetricName: string
220+
performanceMetricValue: number
221+
tcaPerformanceThresholdValue: number
222+
tcaWindowThresholdValue: number
223+
tcaWindowSize: number
224+
}
225+
AlarmSpecificAttributes <|-- TcaStatefulSetAlarm
226+
227+
228+
229+
class TcaStatelessAlarm {
230+
231+
performanceMetricName: string
232+
performanceMetricValue: number
233+
tcaPerformanceThresholdValue: number
234+
dampingFactor: number
235+
numberOfPmMetricCalculationIntervals: number
236+
}
237+
AlarmSpecificAttributes <|-- TcaStatelessAlarm
238+
239+
240+
241+
@enduml
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
@startuml alarmNotificationModel
2+
3+
class AlarmSubscription {
4+
5+
id: string
6+
}
7+
AlarmSubscriptionInput <|-- AlarmSubscription
8+
9+
10+
11+
class AlarmSubscriptionInput {
12+
13+
callback*: string
14+
query: string
15+
}
16+
17+
18+
@enduml
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
@startuml alarmProvisioning
2+
autonumber
3+
4+
participant Buyer as B
5+
participant Seller as S
6+
collections "SOF:Alarm" as SOF
7+
8+
opt
9+
B -> S: POST {{baseUrl}}/hub with {{callbackUrl, eventType}}
10+
S --> B: 201 confirmation with{{id}}
11+
end
12+
13+
SOF -> S: <<createAlarm>>
14+
15+
opt
16+
S -> B: POST {{callbackUrl}}/listener/createAlarm{{Alarm}}
17+
end
18+
19+
B -> S: GET {{baseUrl}}/alarm{{id}}
20+
S --> B: 200 OK with {{Alarm}}
21+
22+
@enduml
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
<mxfile host="Electron" modified="2024-12-06T12:18:22.991Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/22.1.21 Chrome/120.0.6099.109 Electron/28.1.0 Safari/537.36" etag="Ch0a8jQoqBZc0mkET7Zp" version="22.1.21" type="device">
2+
<diagram id="xbJyrwv9yIP62h8_PHgp" name="Page-1">
3+
<mxGraphModel dx="1434" dy="844" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
4+
<root>
5+
<mxCell id="0" />
6+
<mxCell id="1" parent="0" />
7+
<mxCell id="ltWMZJDPjPNoV4Ph2O7P-1" value="&lt;b&gt;Alarm Envelope&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;" parent="1" vertex="1">
8+
<mxGeometry x="70" y="20" width="530" height="240" as="geometry" />
9+
</mxCell>
10+
<mxCell id="ltWMZJDPjPNoV4Ph2O7P-2" value="Alarm" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
11+
<mxGeometry x="250.25" y="70" width="165" height="60" as="geometry" />
12+
</mxCell>
13+
<mxCell id="ltWMZJDPjPNoV4Ph2O7P-4" value="AlarmSpecificAttributes" style="rounded=1;html=1;whiteSpace=wrap;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" parent="1" vertex="1">
14+
<mxGeometry x="250.25" y="170" width="165" height="60" as="geometry" />
15+
</mxCell>
16+
<mxCell id="ltWMZJDPjPNoV4Ph2O7P-5" value="" style="endArrow=classic;html=1;startArrow=diamond;startFill=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="ltWMZJDPjPNoV4Ph2O7P-2" target="ltWMZJDPjPNoV4Ph2O7P-4" edge="1">
17+
<mxGeometry width="50" height="50" relative="1" as="geometry">
18+
<mxPoint x="230" y="310" as="sourcePoint" />
19+
<mxPoint x="280" y="260" as="targetPoint" />
20+
</mxGeometry>
21+
</mxCell>
22+
<mxCell id="ltWMZJDPjPNoV4Ph2O7P-9" value="&lt;b&gt;Alarm Payload&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;" parent="1" vertex="1">
23+
<mxGeometry x="70" y="270" width="530" height="140" as="geometry" />
24+
</mxCell>
25+
<mxCell id="ltWMZJDPjPNoV4Ph2O7P-13" value="TCA Stateles" style="rounded=1;whiteSpace=wrap;html=1;dashed=1;strokeColor=#007FFF;fontSize=11;" parent="1" vertex="1">
26+
<mxGeometry x="90" y="330" width="145.5" height="40" as="geometry" />
27+
</mxCell>
28+
<mxCell id="ltWMZJDPjPNoV4Ph2O7P-25" value="" style="endArrow=block;html=1;fontSize=11;endFill=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endSize=8;" parent="1" source="ltWMZJDPjPNoV4Ph2O7P-13" target="ltWMZJDPjPNoV4Ph2O7P-4" edge="1">
29+
<mxGeometry width="50" height="50" relative="1" as="geometry">
30+
<mxPoint x="70" y="530" as="sourcePoint" />
31+
<mxPoint x="120" y="480" as="targetPoint" />
32+
</mxGeometry>
33+
</mxCell>
34+
<mxCell id="pdeO6exJO5Pcnp_OLP6e-1" value="TCA Stateful Clear" style="rounded=1;whiteSpace=wrap;html=1;dashed=1;strokeColor=#007FFF;fontSize=11;" vertex="1" parent="1">
35+
<mxGeometry x="430" y="330" width="145.5" height="40" as="geometry" />
36+
</mxCell>
37+
<mxCell id="pdeO6exJO5Pcnp_OLP6e-2" value="TCA Stateful Set" style="rounded=1;whiteSpace=wrap;html=1;dashed=1;strokeColor=#007FFF;fontSize=11;" vertex="1" parent="1">
38+
<mxGeometry x="260" y="330" width="145.5" height="40" as="geometry" />
39+
</mxCell>
40+
<mxCell id="pdeO6exJO5Pcnp_OLP6e-3" value="" style="endArrow=block;html=1;fontSize=11;endFill=0;endSize=8;" edge="1" parent="1" source="pdeO6exJO5Pcnp_OLP6e-2">
41+
<mxGeometry width="50" height="50" relative="1" as="geometry">
42+
<mxPoint x="173" y="340" as="sourcePoint" />
43+
<mxPoint x="333" y="230" as="targetPoint" />
44+
</mxGeometry>
45+
</mxCell>
46+
<mxCell id="pdeO6exJO5Pcnp_OLP6e-4" value="" style="endArrow=block;html=1;fontSize=11;endFill=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;endSize=8;" edge="1" parent="1" source="pdeO6exJO5Pcnp_OLP6e-1">
47+
<mxGeometry width="50" height="50" relative="1" as="geometry">
48+
<mxPoint x="183" y="350" as="sourcePoint" />
49+
<mxPoint x="330" y="230" as="targetPoint" />
50+
</mxGeometry>
51+
</mxCell>
52+
</root>
53+
</mxGraphModel>
54+
</diagram>
55+
</mxfile>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
@startuml alarmUsecases
2+
3+
left to right direction
4+
5+
actor "Buyer/Client" as B
6+
actor "Seller/Server" as S
7+
8+
rectangle {
9+
Usecase UC1 as "1. Retrieve Alarm List"
10+
Usecase UC2 as "2. Retrieve Alarm by Alarm Identifier"
11+
Usecase UC3 as "3. Subscribe for Alarm Notifications"
12+
Usecase UC4 as "4. Create Alarm"
13+
Usecase UC5 as "4a. Stateful TCA Alarm"
14+
Usecase UC6 as "4b. Stateless TCA Alarm"
15+
Usecase UC7 as "5. Unsubscribe for Alarm Notification"
16+
}
17+
18+
UC4 <-- S
19+
UC5 <-- S
20+
UC6 <-- S
21+
B --> UC2
22+
B --> UC3
23+
B --> UC1
24+
B --> UC7
25+
@enduml

0 commit comments

Comments
 (0)