memo_architecture_functional_behavior
SysML API
Namespace hierarchy
memo → memo::architecture → memo::architecture::functional → memo::architecture::functional::behavior
Packages
| Package |
memo_architecture_functional_behavior |
Imports
| Visibility |
Target |
| private |
memo_core_stdlib_quantities::* |
| private |
ScalarValues::* |
| private |
memo_core_common::* |
| private |
memo_core_enumerations::* |
Declarations
| Name |
SysML kind |
Description |
Specializes |
FunctionalAction |
action def |
Functional action definition specializing MemoAction. |
MemoAction |
StateMachine |
state def |
State machines and their mode states are SysML v2 states (behaviours), so they derive from the MemoState foundation, not the part-based MemoPart family. Transitions stay part-based (below) to keep their traceable safety attributes.… |
MemoState |
ModeConfiguration |
part def |
A configuration is the concrete selection made at a variation choice point: it says which mode is active in one selectable arrangement. The reference is typed to the shared native state family so a consumer can navigate from the selected configuration to its governing mode.… |
MemoPart |
TransitionRecord |
metadata def |
Transitions are native SysML v2 transition usages inside the owning state — there is no part def Transition, and its transition keyword collision is why.… |
— |
BehaviorProperty |
requirement def |
Behavior property definition specializing MemoRequirementElement. |
MemoRequirementElement |
Contract |
requirement def |
Contract definition specializing MemoRequirementElement. |
MemoRequirementElement |
ActivityAction |
action def |
Activity action definition specializing FunctionalAction. |
FunctionalAction |
ActivityFlow |
action def |
Activity flow definition specializing MemoAction. |
MemoAction |
TimingConstraint |
requirement def |
Timing constraint definition specializing MemoRequirementElement. |
MemoRequirementElement |
FunctionalAction
abstract action def FunctionalAction specializes MemoAction
| Property |
Value |
| Description |
Functional action definition specializing MemoAction. |
| Kind |
action def |
| Abstract |
Yes |
| Specializes |
MemoAction |
| Owning package |
memo_architecture_functional_behavior |
StateMachine
state def StateMachine :> MemoState
| Property |
Value |
| Description |
State machines and their mode states are SysML v2 states (behaviours), so they derive from the MemoState foundation, not the part-based MemoPart family. Transitions stay part-based (below) to keep their traceable safety attributes.… |
| Kind |
state def |
| Abstract |
No |
| Specializes |
MemoState |
| Owning package |
memo_architecture_functional_behavior |
ModeConfiguration
part def ModeConfiguration specializes MemoPart
| Property |
Value |
| Description |
A configuration is the concrete selection made at a variation choice point: it says which mode is active in one selectable arrangement. The reference is typed to the shared native state family so a consumer can navigate from the selected configuration to its governing mode.… |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoPart |
| Owning package |
memo_architecture_functional_behavior |
TransitionRecord
metadata def TransitionRecord
| Property |
Value |
| Description |
Transitions are native SysML v2 transition usages inside the owning state — there is no part def Transition, and its transition keyword collision is why.… |
| Kind |
metadata def |
| Abstract |
No |
| Specializes |
— |
| Owning package |
memo_architecture_functional_behavior |
BehaviorProperty
requirement def BehaviorProperty :> MemoRequirementElement
| Property |
Value |
| Description |
Behavior property definition specializing MemoRequirementElement. |
| Kind |
requirement def |
| Abstract |
No |
| Specializes |
MemoRequirementElement |
| Owning package |
memo_architecture_functional_behavior |
Contract
requirement def Contract :> MemoRequirementElement
| Property |
Value |
| Description |
Contract definition specializing MemoRequirementElement. |
| Kind |
requirement def |
| Abstract |
No |
| Specializes |
MemoRequirementElement |
| Owning package |
memo_architecture_functional_behavior |
ActivityAction
action def ActivityAction specializes FunctionalAction
| Property |
Value |
| Description |
Activity action definition specializing FunctionalAction. |
| Kind |
action def |
| Abstract |
No |
| Specializes |
FunctionalAction |
| Owning package |
memo_architecture_functional_behavior |
ActivityFlow
action def ActivityFlow specializes MemoAction
| Property |
Value |
| Description |
Activity flow definition specializing MemoAction. |
| Kind |
action def |
| Abstract |
No |
| Specializes |
MemoAction |
| Owning package |
memo_architecture_functional_behavior |
TimingConstraint
requirement def TimingConstraint :> MemoRequirementElement
| Property |
Value |
| Description |
Timing constraint definition specializing MemoRequirementElement. |
| Kind |
requirement def |
| Abstract |
No |
| Specializes |
MemoRequirementElement |
| Owning package |
memo_architecture_functional_behavior |
Source
architecture/functional/behavior/memo_behavior.sysml
package memo_architecture_functional_behavior {
private import memo_core_stdlib_quantities::*;
private import ScalarValues::*;
private import memo_core_common::*;
private import memo_core_enumerations::*;
abstract action def FunctionalAction specializes MemoAction;
state def StateMachine :> MemoState {
attribute machineKind : String;
attribute executionSemantics : String;
}
part def ModeConfiguration specializes MemoPart {
ref activeMode : MemoState[1];
}
metadata def TransitionRecord {
attribute id : String;
attribute trigger : String;
attribute guardSummary : String;
attribute effectSummary : String;
attribute sourceReference : String;
}
requirement def BehaviorProperty :> MemoRequirementElement {
attribute propertyKind : BehaviorPropertyKind;
attribute languageKind : PropertyLanguageKind;
attribute formalExpression : String;
}
requirement def Contract :> MemoRequirementElement {
subject component : MemoPart;
}
action def ActivityAction specializes FunctionalAction {
attribute actionKind : ActionKind;
attribute outputDescription : String;
attribute wcetMs : DurationValue;
attribute safetyRelevant : Boolean;
}
action def ActivityFlow specializes MemoAction {
attribute flowKind : ActivityFlowKind;
attribute guardCondition : String;
attribute weight : String;
}
requirement def TimingConstraint :> MemoRequirementElement {
attribute constraintKind : TimingConstraintKind;
attribute minMs : DurationValue;
attribute maxMs : DurationValue;
ref referenceElement[1];
attribute verificationMethod : MemoVerificationMethodKind;
}
}