Title: ??????????? –
1?????????? ????????????????? ? ??????????
2????
- ????? ???????
- ??????
- ??????
- ??????????? ? ??????????
3???????????
- ???????????
- ???????? ????????????
- ??????????? ??????????
- ????? ?????????? ??
- ????????? ? ???????????,
- ???????????????? ??
- ?????????? ??????
- ?????????
??????????
????????? ???????
(????????? ???????)'
???????
4?????????? ???????????
- ?????????? ????????
- ?????? ???? ???????????? ? ???? ??????????
??????? - ??????????
- ??????????
- ???????????? ????? ???? ?????? ???? ??????????
?????????
?????????? I
???????????? S
5?????????? ? ????????????
- ????????? ????? ????????? ?????? ???-??
?????????? - ???????? ??????????? ? ???????? ???????
??????????? - ????????? ???????????? ????? ?????????? ???????
????? ??????? ?????????
????????????
??????????
???????
6?????? ???????????
- ??????????? ? ?????????? ???????????
- ?????????? ???????????
- ???????????
- ????? ?????????? E. F. Moore 1956
- ??????
- ?? Floyd 1967, Hoare 1969
- ????????
- ? ???????? ?? 19791995
- ?????? ???
- ????? ??????? ????????? ????? ??????????
????????? - ????????? ?????? ??????????? ????
- ???????? ???????????? ?????? ????????? ??????????
- ???????? ???????? ? ??????? ???????????? ? ??????
?????????
7????? ??????????
- ???????? ??????? ?????????? ??????
- ???? ????????? ??????? ???????????
- ??????????? ?????? ???? ?????????????
- ??????????? ?????? ???? ?????????
8?????????? ? ?????????
- ?????????? ???????? ??????
- ?? ????????? ?????? ?????????? ???????
??????????? - ???? ??????????
- ??????????? ??????????
- ?????????????? ??????????
- ?????????? ??????
- ?????????? ??????????????
- ????????? ??????????
9????
- ????? ???????
- ??????
- ??????
- ??????????? ? ??????????
10???????? ???? ???????
- ???? ???????????
- ??????-?????????????? L
- ???????????? (??????????) E
- ???? ????????????
- ??????????? I ? S (I ? S) L - L
- ????????????? I ? S E - L
- ????????? I ? S E - E
11??????-??????????????
- ??????????????
- ??????????? ??????? (Codd - 1970)
- ??????????? ???? ?????? (Zilles, Liskov 1974)
- ??????? ?????????
- CSP (Hoare - 1978)
- CCS (Milner - 1980)
- ACP (Bergstra, Klop - 1982)
-
- Abstract State Machines (??????? - 1984)
- ??????????
12??????????
µ-?????????? (Pratt, Kozen 1982)
µ, ?
?????????
ITL (Moszkowski 1983)
CTL (Clarke, Emerson - 1981)
A, E
TPTL (Alur, Henzinger - 1989)
????? ?????
G, F, X, U
LTL (Prior - 1957)
? ?? ????????
Hoare logic (Hoare - 1969)
? ? ?? ????????
?-?????????? (Church 1936)
????
?????? 1-?? ???????
? ?? ?????
?????????? ????????????
?-?????????? ??????? ??????? (Girard 1971)
?????? ?????? ???????? (Peirce 1885)
? ? ?? ??????????/?????
13????????????
?-???????? (Buchi 1960)
ASM
????????? (Alur, Henzinger - 1996)
?-?????
????????? (Alur, Dill - 1990)
Statecharts (Harel 1987)
???????
???? ????? (Petri 1962)
?????????? I/O
LTS (1980 ?) ??????? ?????????
??????????????
IOA (Tuttle, Lynch 1987)
??????
FSM (Huffman -1954)
?????? (??????? 1936)
EFSM (1973 ?)
CFSM (Brand, Zafiropulo - 1983)
14????
- ????? ???????
- ??????
- ??????
- ??????????? ? ??????????
15?????? ???????????
- ? ?????? ??????????????
- ???????????? ? ?????????? ????????
- ? ???????? ??????????????
- ???????? ?????? ????????????
S
I
?
???????
S
I
?
16?????? ?????????????
- ??????????? ?????? (theorem proving) Floyd
1967 - ???????? ??????? (model checking) Clarke,
Emerson 1981 - ???????? ????????? (simulation checking,
equivalence checking) Moore 1956 - ????????????? ?????????? (symbolic execution)
Topor, Burstall 1972 - ??????????? ????????????? (abstract
interpretation) Cousot 1975
17???????? ?????????????
- ?????????? ???????????? (formal conformance
testing) ??????????? 1973Hennessy, DeNicola
1984 - ??????????????? ?????????? (runtime
verification, passive testing) ? 1970-? ????
????? ?????, ? ??????? ???? ?????? ??
???????????? 1999 ?????? (Havelund, Rosu ?)
18????????????? ?????
Theorem proving
Provers, SAT solvers
Abstract interpretation
Model checkingModel checkers
Symbolic execution
Simulation checking
Formal conformance testing
Runtime verification
19????
- ????? ???????
- ??????
- ??????
- ??????????? ? ??????????
20??????????? ??????
- ???????????????????? ??????
- ASM
- ?????????????????? ??????
- ACL2 (Boyer, J. S. Moore 1971) 20 ????????,
JVM (700 ???????) - HOL (Gordon, 1988) 30 ????????
- PVS (Owre, Rushby, Shankar 1992) 30 ????????
- Isabelle
- Coq
21???????? ??????? ? ?????????
- Model checkers
- SPIN (Holzman 1982)
- SMV (McMillan et al. 1994) ? ???????????
- Murf (Dill 1992)
- UPPAAL (Larsen et al. 1995)
- Equivalence checkers
- Verity (Kuehlmann et al. 1995)
- ?????????
- CADP (INRIA 1990) 50 ???????? ??????????
22??? ?????????
- ????????????
- TGV (1997)
- Gotcha (1999)
- ??????????
- TemporalRover (1995)
- ESC/Java 2 (2002)
- Java PathFinder (2004)
- Abstract interpretation
- ASTREE (2001)
23??????? ?? ????????!
24??????????? ?????? I
- ???????????????????? ?????? ASM
- ?????? ?????????????? ??????? Java
- (??? ?????????? ? ??.)
- ???????, Schulte, Wallace 1999
- ????????? JVM, Java ? ??????????????
- (??? ????????????)
- Borger, Schimd, Stark 2001
- ????????? SDL 2000
- Eschbach, Glasser, Gotzhein, Prinz 2000
25??????????? ?????? II
- R. S. Boyer, J. S. Moore
- ???????????? ?????? 1-?? ??????? Applicative
Common Lisp - 1971 ?????? ??????????
- 1986 Nqthm
- 2001 ACL2
- ?????? ??????????
- ??????????
- FM8501, FM8502 (1985) FM9001 (1997)
- Motorola MC68020 (1993), CAP DSP (100 ???????)
- AMD K5 (1995), Athlon (1997)
- IBM 4758 security model
- Rockwell
- JVM (2001-2004) (700 ???????)
26??????????? ?????? III
- HOL (Gordon 1988)
- ??????? ?? LCF (Milner 1973) higher-order
logic ML - ????????? ???????? ????? ?? ?????????? HOL
- ????? ?????? (1996)
- ??????????
- TAMARACK (1987)
- Viper (1987)
- Intel (Harrison, OLeary)
- ??
- Web-?????? (1995)
- ?????????
?????? ???????????????? ???????????? ?????????
????? ??????????? ??????? ??????!
27??????????? ?????? IV
- PVS (Owre, Rushby, Shankar 1992)
- higher-order logic ????, ??????? ?? VDM
- ???? ????????? ???????? ??????????
- ?????????
- ???????? ?????? (NASA) (1996-1998)
- ????? ???? ?? (1998)
- ??????????? ??????? ??? (1999)
- ??????????
- AAMP5 (1995)
- VAMP FPU (2005)