SpecVer - metodyka tworzenia oprogramowania integrująca

Transkrypt

SpecVer - metodyka tworzenia oprogramowania integrująca
Zakład Zaawansowanych Technik Informacyjnych (Z-6)
SpecVer - metodyka tworzenia oprogramowania
integrująca zadania specyfikacji, implementacji i
weryfikacji modułów programów
Praca nr 06300067
Warszawa, grudzień 2007
SpecVer – metodyka tworzenia oprogramowania integrująca zadania specyfikacji,
implementacji i weryfikacji modułów programów
Praca nr 06300067
Słowa kluczowe: inżynieria oprogramowania, środowiska wspomagające tworzenie
oprogramowania, programowanie wysoce zintegrowane, specyfikacja, weryfikacja, logika
algorytmiczna.
Kierownik pracy: prof. dr hab. Andrzej Salwicki
Wykonawca pracy: prof. dr hab. Andrzej Salwicki
Kierownik Zakładu: dr inż. Janusz Granat
© Copyright by Instytut Łączności, Warszawa 2007
Spis Treści
1. Wstęp
2. Prace opublikowane
a. G. Mirkowska, A. Salwicki, O. Świda,
SpecVer – the methodology integrating specification, programming and
verification,
invited talk in Proceedings of the CS&P'2007 Łagów 27-29 październik 2007
(L.Czaja ed.) Wydawnictwa Uniwersytetu Warszawskiego, pp 9-20, ISBN
978-83-88734-28-9,
b. H. Langmaack, A. Salwicki, M. Warpechowski,
A deterministic algorithm elaborating direct superclassesin Java-like
languages,
in Proceedings of the CS&P'2007 Łagów 27-29 październik 2007 (L.Czaja
ed.) Wydawnictwa Uniwersytetu Warszawskiego, pp.388-399, ISBN 978-8388734-28-9,
c. A. Salwicki, Andrzej Grzegorczyk's contribution to Computer Science,
Fundamenta Informaticae 81(2007) pp. 253-261,
d. H. Langmaack, A. Salwicki, M. Warpechowski,
Ueber das Vererben und dessen implicite Definition in der Sprachspezifikation
des neuen Java mit inneren Klassen,
invited talk during 14th Colloquium „Programiersprachen und Grundlagen der
Programierung”, Timmendorfer Strand, 10-12 Oktober 2007
3. Prace przyjęte do druku
a. On an algorithm determining direct superclasses In Java-like languages with
inner classes – its correctness, completeness and uniqueness of solutions,
wspólnie z H. Langmaackiem I M. Warpechowskim ok. 45 str.
artykuł złożony do Information and Computation i zaakceptowany
b. H. Langmaack, A. Salwicki, M. Warpechowski, On the correctness and
completeness of a deterministic algorithm elaborating direct super classes in
Java-like languages, złożone do druku w Fundamenta Informaticae,
c. G. Mirkowska, A. Salwicki, O. Świda,
Algorithmic Logic + SpecVer = the methodology for high integrity
programming,
przyjete do druku w Fundamenta Informaticae
4. Oprogramowanie
Wstęp
Tworzymy coraz większe programy, o coraz bardziej złożonej strukturze. Ryzyko już nie
błędu, a katastrofy jakie jest z tym związane rośnie co najmniej wykładniczo wraz z
długością kodu.
Niektórzy inwestorzy dostrzegli problem i zamawiają oprogramowanie wraz dowodem
jego poprawności. Uważamy, że stosowane dotąd metody nie są adekwatnie dobrane do
trudnego celu udowodnienia poprawności oprogramowania. Powstają rozmaite produkty,
ale to dopiero początek. Nowe technologie dopiero powstaną.
Nasza propozycja to nowa oryginalna metodologia tworzenia oprogramowania
integrująca: specyfikację modułów, implementację – czyli tworzenie oprogramowania i
weryfikację otrzymanego oprogramowania względem wcześniej powstałej specyfikacji.
Co udało się uzyskać skromnymi środkami jakie stały do naszej dyspozycji?
1. Wtyczkę o nazwie SpecVer do środowiska Eclipse.
2. Opracowania wykazujące walory logiki algorytmicznej jako narzędzia specyfikacji i
weryfikacji oprogramowania.
Eclipse jest otwartym, popularnym środowiskiem edycji, kompilacji i uruchamiania
programów. Nasza wtyczka umożliwia tworzenie projektów SpecVer . Na taki projekt
składają się nie tylko pliki z programami, ale i pliki specyfikacji oraz pliki weryfikacji. W
obecnej wersji działa edycja plików specyfikacji.
Logika algorytmiczna zaproponowana w naszych opracowaniach okazuje się narzędziem
bardziej przydatnym w specyfikowaniu klas (w programowaniu obiektowym) od innych
narzędzi np. specyfikacje algebraiczne są znacznie słabsze i mniej przydatne. Logika
algorytmiczna nie też sobie równych w weryfikowaniu klas i metod (algorytmów).
O metodologii donosimy w opracowaniach 2a i 3c.
Przykłady specyfikacji i dowodów zawarto w opracowaniach 2b, 2c, 3a, 3b.
Oprogramowanie
Oprogramowanie jest w tej chwili dostępne dla każdego pod adresem URL
http://aragorn.pb.bialystok.pl/~swida/svp
Jego głównym twórcą jest dr Oskar Świda z Politechniki Białostockiej.. Ja pełniłem rolę
konsultanta i pomysłodawcy.
Uważam, że warto by było stworzyć stronę projektu SpecVer pomiędzy stronami
Instytutu Łączności, m. In. Po to by z niej dystrybuować to oprogramowanie. Jestem
gotów tę stronę opracować i nią zarządzać. Nie mam jak dotąd na to zgody.

Podobne dokumenty