AsmL can be used to faithfully capture the abstract structure and step-wise behaviour of any discrete systems, including very complex ones such as:.. Integrated circuits, software co[r]
(1)Formal Methods in SE
(2)OSI reference model Application Presentation Session Transport Network Data link Physical
(3)Language (AsmL)
AsmL is a language for modelling the structure
and behaviour of digital systems
AsmL can be used to faithfully capture the abstract structure and step-wise behaviour of any discrete systems, including very complex ones such as:
(4)Abstract State
An AsmL model is said to be abstract because it encodes only those aspects of the system’s structure that affect the behaviour being modelled
The goal is to use the minimum amount of detail
that accurately reproduces (or predicts) the behaviour of the system
Abstraction helps us reduce complex problems into manageable units and prevents us from getting lost in a sea of details
(5)Turing Machine
An abstract state machine is a particular kind of mathematical machine, like the
Turing machine (TM)
But unlike a TM, ASMs may be defined a very high level of abstraction
(6)State transitions
The behaviour of a machine (its run) can always be depicted as a sequence of states linked by
state transitions
• Moving from state A to state B is a state transition
paint in green paint in red
(7)Configurations
Each state is a particular “configuration” of the machine
The state may be simple or it may be very large, with complex structure
But no matter how complex the state might
be, each step of the machine’s operation can be seen as a well-defined transition from
(8)Evolution of state variables
paint in green paint in red
A B
We can view any machine’s state as a dictionary of (Name, Value)
pairs, called state variables
(9)Evolution of state variables
Names are given by the machine’s symbolic vocabulary
Values are fixed elements, like numbers and strings of characters
The run of a machine is a series of states and state transitions that results form applying operations
(10)Example
Diagram shows the run of a machine that models how orders might be processed S1 Mode = “Initial” Orders = 0 Balance = £0 Initialise Process All Orders S3 Mode = “Final” Orders = 0 Balance = £500 S2 Mode = “Active” Orders = 2 Balance = £200 Each transition operation:
• can be seen as the result of invoking the machine’s
control logic on the current state