Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions ba/doc/conformance.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
error | semantic | 35 | 11 | 8 | The behavior transition tries to refine a transition mode while issue2147::threadA.impl component hasn't got any transition mode: Behavior Annex D.3.(C4) consistency rule failed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
error | semantic | 41 | 9 | 14 | The transitions out of complete state 'idle' of a device must use either only external conditions or only dispatch conditions: Behavior Annex D.3 consistency rule failed.
error | semantic | 42 | 9 | 5 | The transitions out of complete state 'idle' of a device must use either only external conditions or only dispatch conditions: Behavior Annex D.3 consistency rule failed.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
error | semantic | 42 | 9 | 8 | The behavior transition tries to refine a transition mode but it is not consisting with any transition mode of DeviceExternalTriggerMismatch::sensor.impl component: Behavior Annex D.3.(C4) consistency rule failed.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
error | semantic | 39 | 12 | 5 | A Behavior Annex subclause with an in modes statement cannot use an external condition: Behavior Annex D.3 consistency rule failed.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
error | semantic | 37 | 10 | 5 | subprogram components cannot use an external condition: an execute or internal condition must be used instead: Behavior Annex D.3 consistency rule failed.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
error | semantic | 38 | 12 | 5 | thread components cannot use an external condition: an execute, dispatch, or internal condition must be used instead: Behavior Annex D.3 consistency rule failed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
annex[0] owner=DeviceConditionMix::sensor.impl
(BehaviorAnnex, behavior_specification, 1966, 135)
(BehaviorCondition, <null>, 2051, 14)
(BehaviorCondition, <null>, 2085, 5)
(BehaviorState, active, 2006, 6)
(BehaviorState, idle, 1974, 4)
(BehaviorStateGroup, <null>, 1974, 30)
(BehaviorStateGroup, <null>, 2006, 24)
(BehaviorTransition, <null>, 2044, 32)
(BehaviorTransition, <null>, 2078, 23)
(DispatchCondition, <null>, 2054, 11)
(DispatchConjunction, <null>, 2063, 2)
(DispatchTriggerCondition, <null>, 2063, 2)
(DispatchTriggerLogicalExpression, <null>, 2063, 2)
(ModeSwitchCondition, <null>, 2088, 2)
(ModeSwitchConjunction, <null>, 2088, 2)
(ModeSwitchTrigger, <null>, 2088, 2)
(Reference, <null>, 2063, 2)
(Reference, <null>, 2088, 2)
(ReferenceSegment, go, 2063, 2)
(ReferenceSegment, go, 2088, 2)
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
annex[0] owner=DeviceExternalCondition::sensor.impl
(BehaviorAnnex, behavior_specification, 1971, 101)
(BehaviorCondition, <null>, 2056, 5)
(BehaviorState, active, 2011, 6)
(BehaviorState, idle, 1979, 4)
(BehaviorStateGroup, <null>, 1979, 30)
(BehaviorStateGroup, <null>, 2011, 24)
(BehaviorTransition, <null>, 2049, 23)
(ModeSwitchCondition, <null>, 2059, 2)
(ModeSwitchConjunction, <null>, 2059, 2)
(ModeSwitchTrigger, <null>, 2059, 2)
(Reference, <null>, 2059, 2)
(ReferenceSegment, go, 2059, 2)
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
annex[0] owner=DeviceExternalTriggerMismatch::sensor.impl
(BehaviorAnnex, behavior_specification, 2001, 104)
(BehaviorCondition, <null>, 2086, 8)
(BehaviorState, active, 2041, 6)
(BehaviorState, idle, 2009, 4)
(BehaviorStateGroup, <null>, 2009, 30)
(BehaviorStateGroup, <null>, 2041, 24)
(BehaviorTransition, <null>, 2079, 26)
(ModeSwitchCondition, <null>, 2089, 5)
(ModeSwitchConjunction, <null>, 2089, 5)
(ModeSwitchTrigger, <null>, 2089, 5)
(Reference, <null>, 2089, 5)
(ReferenceSegment, wrong, 2089, 5)
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
annex[0] owner=InModesExecuteCondition::controller.impl
(BehaviorAnnex, behavior_specification, 1919, 86)
(BehaviorState, running, 1953, 7)
(BehaviorState, waiting, 1927, 7)
(BehaviorStateGroup, <null>, 1927, 24)
(BehaviorStateGroup, <null>, 1953, 16)
(BehaviorTransition, <null>, 1983, 22)
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
annex[0] owner=InModesExternalCondition::controller.impl
(BehaviorAnnex, behavior_specification, 1950, 91)
(BehaviorCondition, <null>, 2024, 5)
(BehaviorState, running, 1984, 7)
(BehaviorState, waiting, 1958, 7)
(BehaviorStateGroup, <null>, 1958, 24)
(BehaviorStateGroup, <null>, 1984, 16)
(BehaviorTransition, <null>, 2014, 27)
(ModeSwitchCondition, <null>, 2027, 2)
(ModeSwitchConjunction, <null>, 2027, 2)
(ModeSwitchTrigger, <null>, 2027, 2)
(Reference, <null>, 2027, 2)
(ReferenceSegment, go, 2027, 2)
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
annex[0] owner=Inheritance::base
(BehaviorAnnex, behavior_specification, 1846, 33)
(BehaviorState, fromtype, 1854, 8)
(BehaviorStateGroup, <null>, 1854, 25)
annex[1] owner=Inheritance::base.impl
(BehaviorAnnex, behavior_specification, 1963, 91)
(BehaviorCondition, <null>, 2037, 5)
(BehaviorState, running, 1997, 7)
(BehaviorState, waiting, 1971, 7)
(BehaviorStateGroup, <null>, 1971, 24)
(BehaviorStateGroup, <null>, 1997, 16)
(BehaviorTransition, <null>, 2027, 27)
(ModeSwitchCondition, <null>, 2040, 2)
(ModeSwitchConjunction, <null>, 2040, 2)
(ModeSwitchTrigger, <null>, 2040, 2)
(Reference, <null>, 2040, 2)
(ReferenceSegment, go, 2040, 2)
annex[2] owner=Inheritance::base.replaced
(BehaviorAnnex, behavior_specification, 2243, 29)
(BehaviorState, only, 2251, 4)
(BehaviorStateGroup, <null>, 2251, 21)
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
annex[0] owner=Issue3186::controller.impl
(BehaviorAnnex, behavior_specification, 1905, 91)
(BehaviorCondition, <null>, 1979, 5)
(BehaviorState, running, 1939, 7)
(BehaviorState, waiting, 1913, 7)
(BehaviorStateGroup, <null>, 1913, 24)
(BehaviorStateGroup, <null>, 1939, 16)
(BehaviorTransition, <null>, 1969, 27)
(ModeSwitchCondition, <null>, 1982, 2)
(ModeSwitchConjunction, <null>, 1982, 2)
(ModeSwitchTrigger, <null>, 1982, 2)
(Reference, <null>, 1982, 2)
(ReferenceSegment, go, 1982, 2)
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
annex[0] owner=ModalSubclauses::modal.impl
(BehaviorAnnex, behavior_specification, 1914, 35)
(BehaviorState, whennormal, 1922, 10)
(BehaviorStateGroup, <null>, 1922, 27)
annex[1] owner=ModalSubclauses::modal.impl
(BehaviorAnnex, behavior_specification, 2006, 35)
(BehaviorState, whenbackup, 2014, 10)
(BehaviorStateGroup, <null>, 2014, 27)
annex[2] owner=ModalSubclauses::modal.always
(BehaviorAnnex, behavior_specification, 2198, 32)
(BehaviorState, anymode, 2206, 7)
(BehaviorStateGroup, <null>, 2206, 24)
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
annex[0] owner=SubprogramExternalCondition::calc.impl
(BehaviorAnnex, behavior_specification, 1912, 87)
(BehaviorCondition, <null>, 1985, 5)
(BehaviorState, done, 1944, 4)
(BehaviorState, start, 1920, 5)
(BehaviorStateGroup, <null>, 1920, 22)
(BehaviorStateGroup, <null>, 1944, 19)
(BehaviorTransition, <null>, 1977, 22)
(ModeSwitchCondition, <null>, 1988, 2)
(ModeSwitchConjunction, <null>, 1988, 2)
(ModeSwitchTrigger, <null>, 1988, 2)
(Reference, <null>, 1988, 2)
(ReferenceSegment, go, 1988, 2)
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
annex[0] owner=ThreadExternalCondition::worker.impl
(BehaviorAnnex, behavior_specification, 1905, 135)
(BehaviorCondition, <null>, 1988, 11)
(BehaviorCondition, <null>, 2023, 5)
(BehaviorState, running, 1948, 7)
(BehaviorState, waiting, 1913, 7)
(BehaviorStateGroup, <null>, 1913, 33)
(BehaviorStateGroup, <null>, 1948, 16)
(BehaviorTransition, <null>, 1978, 33)
(BehaviorTransition, <null>, 2013, 27)
(DispatchCondition, <null>, 1991, 8)
(ModeSwitchCondition, <null>, 2026, 2)
(ModeSwitchConjunction, <null>, 2026, 2)
(ModeSwitchTrigger, <null>, 2026, 2)
(Reference, <null>, 2026, 2)
(ReferenceSegment, go, 2026, 2)
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
annex[0] owner=DeviceConditionMix::sensor.impl
parsedAnnexSubclause : BehaviorAnnex name=behavior_specification
states[0] : BehaviorState name=idle
states[1] : BehaviorState name=active
transitions[0] : BehaviorTransition
condition : DispatchCondition
dispatchTriggerCondition : DispatchTriggerLogicalExpression
dispatchConjunctions[0] : DispatchConjunction
dispatchTriggers[0] : EventPortHolder element=DeviceConditionMix::sensor.go [EventPort]
transitions[1] : BehaviorTransition
condition : ModeSwitchTriggerLogicalExpression
modeSwitchConjunctions[0] : ModeSwitchConjunction
modeSwitchTriggers[0] : EventPortHolder element=DeviceConditionMix::sensor.go [EventPort]
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
annex[0] owner=DeviceExternalCondition::sensor.impl
parsedAnnexSubclause : BehaviorAnnex name=behavior_specification
states[0] : BehaviorState name=idle
states[1] : BehaviorState name=active
transitions[0] : BehaviorTransition
condition : ModeSwitchTriggerLogicalExpression
modeSwitchConjunctions[0] : ModeSwitchConjunction
modeSwitchTriggers[0] : EventPortHolder element=DeviceExternalCondition::sensor.go [EventPort]
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
annex[0] owner=DeviceExternalTriggerMismatch::sensor.impl
parsedAnnexSubclause : BehaviorAnnex name=behavior_specification
states[0] : BehaviorState name=idle
states[1] : BehaviorState name=active
transitions[0] : BehaviorTransition
condition : ModeSwitchTriggerLogicalExpression
modeSwitchConjunctions[0] : ModeSwitchConjunction
modeSwitchTriggers[0] : EventPortHolder element=DeviceExternalTriggerMismatch::sensor.wrong [EventPort]
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
annex[0] owner=InModesExecuteCondition::controller.impl
parsedAnnexSubclause : BehaviorAnnex name=behavior_specification
states[0] : BehaviorState name=waiting
states[1] : BehaviorState name=running
transitions[0] : BehaviorTransition
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
annex[0] owner=InModesExternalCondition::controller.impl
parsedAnnexSubclause : BehaviorAnnex name=behavior_specification
states[0] : BehaviorState name=waiting
states[1] : BehaviorState name=running
transitions[0] : BehaviorTransition
condition : ModeSwitchTriggerLogicalExpression
modeSwitchConjunctions[0] : ModeSwitchConjunction
modeSwitchTriggers[0] : EventPortHolder element=InModesExternalCondition::controller.go [EventPort]
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
annex[0] owner=Inheritance::base
parsedAnnexSubclause : BehaviorAnnex name=behavior_specification
states[0] : BehaviorState name=fromtype
annex[1] owner=Inheritance::base.impl
parsedAnnexSubclause : BehaviorAnnex name=behavior_specification
states[0] : BehaviorState name=waiting
states[1] : BehaviorState name=running
transitions[0] : BehaviorTransition
condition : ModeSwitchTriggerLogicalExpression
modeSwitchConjunctions[0] : ModeSwitchConjunction
modeSwitchTriggers[0] : EventPortHolder element=Inheritance::base.go [EventPort]
annex[2] owner=Inheritance::base.replaced
parsedAnnexSubclause : BehaviorAnnex name=behavior_specification
states[0] : BehaviorState name=only
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
annex[0] owner=Issue3186::controller.impl
parsedAnnexSubclause : BehaviorAnnex name=behavior_specification
states[0] : BehaviorState name=waiting
states[1] : BehaviorState name=running
transitions[0] : BehaviorTransition
condition : ModeSwitchTriggerLogicalExpression
modeSwitchConjunctions[0] : ModeSwitchConjunction
modeSwitchTriggers[0] : EventPortHolder element=Issue3186::controller.go [EventPort]
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
annex[0] owner=ModalSubclauses::modal.impl
parsedAnnexSubclause : BehaviorAnnex name=behavior_specification
states[0] : BehaviorState name=whennormal
annex[1] owner=ModalSubclauses::modal.impl
parsedAnnexSubclause : BehaviorAnnex name=behavior_specification
states[0] : BehaviorState name=whenbackup
annex[2] owner=ModalSubclauses::modal.always
parsedAnnexSubclause : BehaviorAnnex name=behavior_specification
states[0] : BehaviorState name=anymode
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
annex[0] owner=SubprogramExternalCondition::calc.impl
parsedAnnexSubclause : BehaviorAnnex name=behavior_specification
states[0] : BehaviorState name=start
states[1] : BehaviorState name=done
transitions[0] : BehaviorTransition
condition : ModeSwitchTriggerLogicalExpression
modeSwitchConjunctions[0] : ModeSwitchConjunction
modeSwitchTriggers[0] : EventPortHolder element=SubprogramExternalCondition::calc.go [EventPort]
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
annex[0] owner=ThreadExternalCondition::worker.impl
parsedAnnexSubclause : BehaviorAnnex name=behavior_specification
states[0] : BehaviorState name=waiting
states[1] : BehaviorState name=running
transitions[0] : BehaviorTransition
condition : DispatchCondition
transitions[1] : BehaviorTransition
condition : ModeSwitchTriggerLogicalExpression
modeSwitchConjunctions[0] : ModeSwitchConjunction
modeSwitchTriggers[0] : EventPortHolder element=ThreadExternalCondition::worker.go [EventPort]
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
===== annex[0] owner=DeviceConditionMix::sensor.impl =====

states
\tidle : initial complete state;
\tactive : complete state;
transitions
\tidle -[on dispatch go]-> active;
\tidle -[on go]-> active;
----- Xtext reparse -----
reparsed
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
===== annex[0] owner=DeviceExternalCondition::sensor.impl =====

states
\tidle : initial complete state;
\tactive : complete state;
transitions
\tidle -[on go]-> active;
----- Xtext reparse -----
reparsed
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
===== annex[0] owner=DeviceExternalTriggerMismatch::sensor.impl =====

states
\tidle : initial complete state;
\tactive : complete state;
transitions
\tidle -[on wrong]-> active;
----- Xtext reparse -----
reparsed
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
===== annex[0] owner=InModesExecuteCondition::controller.impl =====

states
\twaiting : initial state;
\trunning : state;
transitions
\twaiting -[]-> running;
----- Xtext reparse -----
reparsed
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
===== annex[0] owner=InModesExternalCondition::controller.impl =====

states
\twaiting : initial state;
\trunning : state;
transitions
\twaiting -[on go]-> running;
----- Xtext reparse -----
reparsed
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
===== annex[0] owner=Inheritance::base =====

states
\tfromtype : initial state;
----- Xtext reparse -----
reparsed
===== annex[1] owner=Inheritance::base.impl =====

states
\twaiting : initial state;
\trunning : state;
transitions
\twaiting -[on go]-> running;
----- Xtext reparse -----
reparsed
===== annex[2] owner=Inheritance::base.replaced =====

states
\tonly : initial state;
----- Xtext reparse -----
reparsed
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
===== annex[0] owner=Issue3186::controller.impl =====

states
\twaiting : initial state;
\trunning : state;
transitions
\twaiting -[on go]-> running;
----- Xtext reparse -----
reparsed
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
===== annex[0] owner=ModalSubclauses::modal.impl =====

states
\twhennormal : initial state;
----- Xtext reparse -----
reparsed
===== annex[1] owner=ModalSubclauses::modal.impl =====

states
\twhenbackup : initial state;
----- Xtext reparse -----
reparsed
===== annex[2] owner=ModalSubclauses::modal.always =====

states
\tanymode : initial state;
----- Xtext reparse -----
reparsed
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
===== annex[0] owner=SubprogramExternalCondition::calc.impl =====

states
\tstart : initial state;
\tdone : final state;
transitions
\tstart -[on go]-> done;
----- Xtext reparse -----
reparsed
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
===== annex[0] owner=ThreadExternalCondition::worker.impl =====

states
\twaiting : initial complete state;
\trunning : state;
transitions
\twaiting -[on dispatch]-> running;
\trunning -[on go]-> waiting;
----- Xtext reparse -----
reparsed
2 changes: 2 additions & 0 deletions ba/org.osate.ba.tests/models/issue3186/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/.aadlbin-gen/
/instances/
Loading