22module at.ac.uibk.dps.cirrina.csm.Csml
33
44/// The name of an instance of a state machine or "*" to refer to all instances.
5- typealias InstanceName = String(matches(Regex(#"^[a-zA-Z_]\w*$"#) ))
5+ typealias InstanceName = String
66
77/// The name of a state machine.
8- typealias StateMachineName = String(matches(Regex(#"^[a-zA-Z_]\w*$"#) ))
8+ typealias StateMachineName = String
99
1010/// The subscription to events raised by state machine instances.
11- typealias Subscription = String(matches(Regex(#"^([a-zA-Z_]\w*|\*) $ "#)) )
11+ typealias Subscription = String
1212
1313class Instance {
1414 stateMachineName : StateMachineName
@@ -32,7 +32,7 @@ bindings: Listing<ServiceImplementationBinding>?
3232typealias Expression = String
3333
3434/// The name of a variable.
35- typealias VariableName = String(matches(Regex(#"^[a-zA-Z_]\w*$"#) ))
35+ typealias VariableName = String
3636
3737/// A context declaration consisting of variable names and value expressions.
3838typealias Context = Mapping<VariableName, Expression>
@@ -42,17 +42,17 @@ class CollaborativeStateMachineDescription {
4242 stateMachines: Mapping<StateMachineName, StateMachineDescription>
4343}
4444
45- typealias StateName = String(matches(Regex(#"^[a-zA-Z_]\w*$"#) ))
45+ typealias StateName = String
4646
4747class StateMachineDescription {
4848 states : Mapping<StateName, StateDescription>
4949 nested: Mapping<StateMachineName, StateMachineDescription>
5050 transient : Context?
5151}
5252
53- typealias EventName = String(matches(Regex(#"^[a-zA-Z_]\w*$"#) ))
53+ typealias EventName = String
5454
55- typealias TimeoutName = String(matches(Regex(#"^[a-zA-Z_]\w*$"#) ))
55+ typealias TimeoutName = String
5656
5757open class StateDescription {
5858 initial : Boolean = false
@@ -88,7 +88,7 @@ class TransitionDescription {
8888
8989abstract class ActionDescription {}
9090
91- typealias InvocationType = String(matches(Regex(#"^[a-zA-Z_]\w*$"#) ))
91+ typealias InvocationType = String
9292
9393typealias InvocationMode = "local" | "remote"
9494
@@ -99,10 +99,11 @@ class InvokeDescription extends ActionDescription {
9999 emits: Listing<EventDescription>
100100}
101101
102- class AssignDescription extends ActionDescription {
102+ class EvalDescription extends ActionDescription {
103103 expression : Expression
104104}
105105
106+
106107class EmitDescription extends ActionDescription {
107108 event : EventDescription
108109 target: Expression?
@@ -113,10 +114,12 @@ class TimeoutDescription extends ActionDescription {
113114 triggers: EmitDescription
114115}
115116
117+
116118class ResetDescription extends ActionDescription {
117119 name : TimeoutName
118120}
119121
122+
120123class CaseDescription {
121124 of : Expression
122125 yields: Listing<ActionDescription>
@@ -131,7 +134,7 @@ class LogDescription extends ActionDescription {
131134 message : Expression
132135}
133136
134- typealias EventTopic = String(matches(Regex(#"^[a-zA-Z_]\w*$"#) ))
137+ typealias EventTopic = String
135138
136139typealias EventChannel = "internal" | "external" | "peripheral"
137140
@@ -178,7 +181,7 @@ typealias Transition = TransitionDescription
178181
179182// Action aliases
180183typealias Action = ActionDescription
181- typealias Assign = AssignDescription
184+ typealias Eval = EvalDescription
182185typealias Invoke = InvokeDescription
183186typealias Case = CaseDescription
184187typealias Match = MatchDescription
0 commit comments