Prezentacja prof. F. Wagnera

Transkrypt

Prezentacja prof. F. Wagnera
Ferdynand Wagner
Wirtualne otoczenie
Koncept



Wirtualne otoczenie pozwala na zdefiniowanie
jednolitego środowiska, które może być wykorzystane
do specyfikacji sterowania w softwarze.
Moje wystąpienie ogranicza się do zdefiniowania
konceptu, w którym teoria zbiorów jest wykorzystana
do implementacji sygnałów i operacji boolowskich.
Ten temat jest prezentowany na stronie
www.stateworks.com. Znajdują się tam szczegółowe
opisy i publikacje, ilustrujace implementacje metody,
narzędzia specyfikacyjne oraz system wykonawczy.
Wirtualne nazwy wejść VI
Anames = {A1, A2, A3}
Bnames = {B1, B2}
Cnames = {C1, C2, C3, C4, C5}
Voltagenames = {VoltageHIGH, VoltageLOW, VoltageIN, VoltageUNDEF}
Temperaturenames = {TempHIGH, TempLOW, TempOK, TempUNDEF}
Dinames = {DiHIGH, DiLOW, DiUNKNOWN}
Parameternames = {ParINIT, ParUNDEF, ParDEF, ParCHANGED}
Functionnames = {FunINIT, FunOK, FunNOTOK, FunERROR}
Wirtualne wejście (VI)
VI = {always, A1, B2, C4}
VI = {always, VoltageHIGH, DiHIGH, ParDEF, FunERROR, TempHIGH}
VI = {always, DiHIGH, ParDEF, FunOK}
VI = {always}
Operacje logiczne
Iloczyn logiczny (AND)
A1 & B2 & C4 =>
{A1, B2, C4}
Suma logiczna (OR)
A1 | B2 | C4
=>
[ ]
{ A1}
{ B2}
{C4 }
Negacja (~)
~A2
=>
{A1, A3}
Wyrażenia logiczne
A1 & B2 | A1 & B1 & C4 | C2
=>
[
]
{ A1 B2 }
{ A1 B1 C4 }
{C2 }
Ewaluacja wyrażen logicznych
Wartość (true, false) wyrażenia logicznego jest
obliczana przez sprawdzenie czy jakikolwiek
zbiór AND w tablicy OR jest podzbiorem
wirtualnego wejścia VI.
Wirtualne nazwy wyjść VO
Xnames = {X1, X2}
Ynames = {Y1, Y2}
Motornames = {MotorOn, MotorOff}
Actionnames = {ActionDisable, ActionEnable, ActionBreak}
Wirtualne otoczenie (VE)
Wirtualne nazwy wejść VI i Wirtualne nazwy
wyjść VO uzupełnione nazwami stanów
Automatu tworzą Wirtualne Otoczenie (VE),
w którym jest specyfikowane zachowanie
Automatu.
Specyfikacja
Implementacja
(System wykonawczy)
state
Virtual Environment
real
inputs
Virtual
Input VI
VFSM
Executor
Specification
Virtual
Output VO
real
outputs
Przykład
((Voltage < Max_Voltage) &&
(Voltage > Min_Voltage) &&
(Cmd == Cmd_Start) &&
Supervision()) ||
(Timer == OVER)
Definicja nazw wejsciowych
Real Input
Voltage (float: Voltage<5.2
→ LOW,
5.2>=Voltage<6.1 –> OK,
Voltage>=6.1
→ HIGH)
Cmd (integer: 1-> STOP; 2-> START,
3-> BREAK, 4-> CONTINUE)
Input Names
VoltageIN, VoltageHIGH, VoltageLOW,
VoltageUNDEFINED
CmdSTOP, CmdSTART, CmdBREAK,
CmdCONTINUE
Function Supervision which returns boolean ActionDISABLED, ActionENABLED
value: false -> DISABLED,
true -> ENABLED
Timer (state: Reset(1) -> RESET,
Running(2) -> RUN,
Over(3)
-> OVER)
[
TimerRESET, TimerRUN, TimerOVER
{VoltageIN
CmdSTART
{TimerOVER}
]
SupervisionENABLED }
VoltageIN & CmdSTART & SupervisionENABLED | TimerOVER
1978
F. Wagner
Projektowanie urzadzen cyfrowych
WNT, Warszawa
Teoria Automatów, Elektronika
1987
J.N. Nicoud, F. Wagner
Major microprocessors:
A Unified Approach using CALM
North-Holland ELSEVIER, Amsterdam
Software, Elektronika
1994
F. Wagner
The Virtual Finite State Machine:
Executable Control Flow Specification
Rosa Fischer-Löw Verlag, Gießen
Teoria Automatów, Software
2006
Software, Teoria Automatów
F. Wagner, R. Schmuki, T. Wagner,
P. Wolstenholme
Modeling Software with Finite State
Machines:
A Practical Approach
Auerbach Publication Taylor & Francis Group
New York

Podobne dokumenty