Wiki
Clone wikiscenariotools-sml / SML Semantics
SML Semantic
import
import "model.ecore"
specification
system specification SystemSpec{ ... }
domain
domain mydomain
System-Environment partition
define Controller as controllable define TableSensor as uncontrollable
UseCase.
usecase ProductionCellIntegrated{}
role
static role TableSensor ts dynamic role Press availablePress
scenarios
A scenario models an exchange of messages or, more general, information between objects. There are three kinds of scenarios, specification scenarios, requirement scenarios and assumption scenarios. The terminology is based on the ideas of Zave & Jackson.
specification scenarios
Specification scenarios define the behaviour of the designed system(...)
requirement scenarios
(...)
assumption scenarios
Assumption scenarios state knowledge about the behaviour of the environment. As the environment cannot be controlled, it would be possible for it to send any message at any time to the system, which makes consistency checking and simulation impossible. In order to solve this problem, the designer must define assumptions about how the environment will actually behave. By defining assumption scenarios, she can limit the possible environment behaviour to the actual behaviour. However, it is of critical importance, that no over-optimistic assumptions are stated. An assumption is over-optimistic, if it states that some event will not happen, although it is possible to happen in the real world. For example, the assumption "A pedestrian will only cross the street while the traffic light is green" is over-optimistic(?).
scenario assumption s1{ }
scenario requirement s1{ }
message
message cold monitored ts -> c.blankArrived() message hot monitored ts -> c.blankArrived() message cold executed ts -> c.blankArrived() message hot executed ts -> c.blankArrived()
hot and cold describes the behavior in case of violation.
+ hot means safety violation and ends the simulation
+ cold means cold violation and exits the scenario.
executed and monitored describes the importance of an message in simulation for execution. The simulation consider if the sender is an environment or system object.
In case of an system object:
+ execute means the system must execute the message
+ monitored means the system may execute the message
In case of an environment object:
+ execute means the environment mast execute the message when the system is ready
+ monitored means the environment may execute the message when the system is ready
Updated