Uniwersytet Warszawski University of Warsaw
Wyszukiwarka
 W bieżącym katalogu
Powrót do listy seminariów

Seminarium Semantyka, Logika I Weryfikacja Oraz Wiele Ich Ciekawych Aplikacji (SLIWOWICA)

Tematyka seminarium obejmuje formalne podstawy i praktyczne metody specyfikacji, weryfikacji i systematycznego konstruowania oprogramowania oraz opisu semantyki programów, a także związane z nimi problemy i zastosowania logiki, algebry ogólnej i teorii kategorii.

Prowadzą: Paweł Urzyczyn i Andrzej Tarlecki

Seminarium posiada własną stronę internetową.


2012-12-03, godz. 10:15, s. 4790
Bartosz Zieliński (Uniwersytet Łódzki)
Maude jako preprocesor SQL

Opowiem o pomyśle wykorzystania systemów przepisywania termów jako lepszych makroprocesorów, w szczególności opiszę tworzony obecnie system (na wczesnym etapie rozwoju) reprezentowania zapytań SQL jako termów Maude i jego zastosowanie do generowania SQL-a, modularyzacji kodu i eksperymentowania z semantycznymi rozszerzeniami języka.

Praca wspólna ze Ś. Sobieskim.

2012-11-05, godz. 10:15, s. 4790
Michał R. Przybyłek (Uniwersytet Warszawski)
Associated Categories
Pokażę, że z obiektami dowolnej skończenie zupełnej 2-kateorii z  notacją dyskretności, można związać kategorie, tak aby 1-morfizmy  odpowiadały funktorom pomiędzy dowiązanymi kategoriami, 2-morfizmy  naturalnym transformacjom, a dyskretne obiekty dyskretnym (w  klasycznym sensie) kategoriom. Pozwoli to na transport  teoriokategoryjnych konstrukcji do wnętrza 2-kategorii. Modelowym  przykładem będzie charakteryzacja obiektów wewnętrznie kartezjańsko  domkniętych i wprowadzenie dla takich obiektów morfizmu wykładniczego  C^op x C ---> C.
2012-05-28, godz. 10:15, s. 4790
Jędrzej Fulara (Uniwersytet Warszawski)
Analiza abstrakcyjna zmiennych numerycznych oraz kontenerów danych
Tym razem nie opowiem o niczym, czego byście jeszcze nie słyszeli. Referat będzie o abstrakcyjnej interpretacji oraz dziedzinach numerycznych i dziedzinach do analizy zawartości kontenerów danych, takich jak tablice i słowniki. Pojawią się (bez technicznych detali) nasze dziedziny numeryczne ("Weighted Hexagons" i "Strict Weighted Hexagons") oraz generyczna abstrakcja słowników.
2012-05-14, godz. 10:15, s. 4790
Michał Roman Przybyłek (Uniwersytet Warszawski)
Moduły nad monadami
Opowiem o formalnej teorii monad w bikategoriach. W szczególności skupię się na charakteryzacji rezolucji monad za pomocą uniwersalnych modułów i luźnych (ko)stożków.
2012-05-07, godz. 10:15, s. 4790
Patryk Czarnik (Uniwersytet Warszawski)
JVM w Coqu - odcinek i-ty
Referat o tym, co zwykle, czyli o moich przygodach z formalizacją bajtkodu Javy Coq-u.
W najbliższym odcinku:
* "właściwie to mam prawie wszystkie instrukcje  operujące wewnątrz ramki" ;),
* dowód własności programu z pętlą (suma 2*i-1 dla i:[1..n] = n*n),
* machanie rękami na temat uogólnienia techniki tego dowodu i zrobienia czegoś na kształt logiki Hoare'a dla bajtkodu,
* błędy w (mojej) specyfikacji znalezione w trakcie testowego dowodu oraz refaktoryzacja faktoryzacji.
2012-04-16, godz. 10:15, s. 4790
Patryk Czarnik (Uniwersytet Warszawski)
Testing of Evolving Protocols
Prerun przed workshopem "Testing: Academic & Industrial Conference Practice and Research Techniques" (http://www2012.taicpart.org)

Abstrakt pracy (wspólnej z J. Chrząszczem, A. Schubertem i A. Tarleckim):
  A common assumption for the state-of-the-art methods of protocol testing is that the protocol description is precise, unambiguous and fully determined. Unfortunately, in many practical situations this assumption turns out to be unrealistic.
  We propose an architecture of a testing framework where different aspects and facets of protocols are separated in a clear manner so that the adaptation of the framework to amendments in protocol description is relatively straightforward.
  This architecture is realised in a testing framework for RCS mobile phone protocol suite we developed in cooperation with Samsung Electronics. The framework successfully went through a number of adjustments to accommodate new interpretations of RCS protocols as assimilated by the developers.
2012-03-26, godz. 10:15, s. 4790
Artur Zawłocki (Uniwersytet Warszawski)
Specyfikacja systemów komponentowych (badania własne)
Przedstawię podejście do specyfikacji systemów złożonych ze
współbieżnych, komunikujących się synchronicznie komponentów, które umożliwia kompozycjonalną specyfikację i weryfikację (o własnościach systemu można wnioskować na podstawie własności komponentów) oraz wspiera refinement specyfikacji (przechodzenie od specyfikacji abstrakcyjnej do szczegółowej).
2012-03-19, godz. 10:15, s. 4790
Tadeusz Sznuk (Uniwersytet Warszawski)
HAHA
Zamierzam powiedzieć mniej więcej to samo, co poprzednio, czyli do czego to narzędzie ma służyć i jak ma działać. Z tą różnicą, że zamiast slajdów będę się posługiwał prototypem implementacji.
2012-03-12, godz. 10:15, s. 4790
Aleksy Schubert (Uniwersytet Warszawski)
Czytelne programowanie

2012-03-05, godz. 10:15, s. 4790
W pierwszej części prezentacji opowiem o szkicach które są czymś w rodzaju specyfikacji klas kategorii. Następnie opowiem o kategoryjnych (z wykorzystaniem szkiców) specyfikacjach baz danych i o ich zastosowaniach związanych np. z integracją danych, semantyką czy problemem aktualizacji widoków.
2012-02-20, godz. 10:15, s. 4790
Michał Roman Przybyłek (Uniwersytet Warszawski)
Wariacje na Systemach Logicznych

2012-01-16, godz. 10:15, s. 4790
Bartek Klin (Uniwersytet Warszawski)
Prerun wykładów habilitacyjnych
TEMAT 1:  Mądrej głowie dość dwie słowie, czyli dowody probabilistycznie sprawdzalne

Jak sprawdzić, czy dowód twierdzenia matematycznego jest poprawny, nie czytając go w całości? Dla pewnej klasy problemów i dowodów jest to możliwe. Dowód probabilistycznie sprawdzalny to taki, który można sprawdzić za pomocą algorytmu randomizowanego w ten sposób, że jeśli dowód jest poprawny, to z pewnością zostanie zaakceptowany, a jeśli jest błędny, to zostanie odrzucony z dużym prawdopodobieństwem. Okazuje się, że często algorytmowi sprawdzającemu wystarczy sprawdzić tylko niewielką część sprawdzanego dowodu.

TEMAT 2: Zbiory nominalne, czyli algebra wiązania zmiennych

Indukcja strukturalna to podstawowe narzędzie do operowania na termach zbudowanych nad sygnaturami algebraicznymi. Jej stosowanie jest bardziej problematyczne dla języków z wiązaniem zmiennych, takich jak rachunek lambda czy rachunek pi. Chociaż termy w takich językach są formalnie traktowane z dokładnością do alfa-konwersji, jednak w praktyce operacje na nich są definiowane dla konkretnych wyborów zmiennych związanych, a dowody niezależności tych definicji od wyboru zmiennych są często pomijane. W wykładzie opowiem o zbiorach nominalnych, czyli pewnym modelu, który pozwala pogodzić indukcję strukturalną z alfa-konwersją.

TEMAT 3: Paradoks Alabamy i inne kłopoty z demokracją

W demokracji parlamentarnej regularnie stajemy przed koniecznością podziału mandatów między partie polityczne proporcjonalnie do liczby uzyskanych głosów. Ponieważ pojedynczych mandatów nie można dzielić, uzyskanie doskonałej proporcjonalności jest niemożliwe i niezbędna jest metoda zaokrąglania uzyskanych wyników. Okazuje się, że pewne proste i intuicyjnie przekonujące metody prowadzą do nieoczekiwanych sytuacji takich jak paradoks Alabamy i paradoksy populacyjne. W wykładzie podam kilka naturalnych własności, które powinna mieć idealna metoda podziału mandatów. Opowiem też o klasycznym twierdzeniu, które mówi, że żadna metoda nie ma wszystkich tych własności.

2012-01-09, godz. 10:15, s. 4790
Patryk Czarnik (Uniwersytet Warszawski)
JVM w Coqu po mojemu czyli faktoryzacja faktoryzacji

Chodzi oczywiście o formalizację w Coqu semantyki maszyny wirtualnej Javy.

Ogólnie będzie... jak zwykle, a w szczegółach - jak realizuję operacje na stosie wartości (tzw. stackop) i jakie wnioski z tego wynikają dla całej formalizacji.

2011-12-19, godz. 10:15, s. 4790
Jerzy Tyszkiewicz (Uniwersytet Warszawski)
Parallel Random Access Machines and Spreadsheets Are (Almost) the Same

W referacie (po polsku, tytuł i slajdy po angielsku) pokażę, że w arkuszach kalkulacyjnych można nie używając żadnych makr zaimplementować interpreter maszyny PRAM (Parallel Random Access Machine).

Wskazuje to zarazem na:

1) Możliwość wyrażania w arkuszach bardzo skomplikowanych obliczeń i związane z tym trudności z dowodami ich poprawności.

2) Możliwość używania arkuszy jako interfejsów do specyfikacji obliczeń równoległych ogólnego stosowania.

3) Potencjał optymalizacji obliczeń wykonywanych w arkuszach w kierunku ich zrówlnoleglania.

2011-12-05, godz. 10:15, s. 4790
Bartek Klin (Uniwersytet Warszawski)
Logiczne prawa rozdzielności

Opowiem o metodzie dowodzenia kompozycjonalności
równoważności behawioralnych za pomocą układów równań między
operatorami modalnymi. Najpierw przypomnę, co to są koalgebry,
bialgebry, logiki modalne i SOS.

2011-11-28, godz. 10:15, s. 4790
Tadeusz Sznuk (Uniwersytet Warszawski)
Fluid Updates in Arbitrary Abstract Domains

"Fluid updates" (płynne aktualizacje?) to mechanizm stosowany przy analizie programów operujących na tablicach, przedstawiony w pracy [DDA10]. Wykorzystuje on formuły logiki pierwszego rzędu, których spełnialność weryfikowana jest przez SMT-solver.

Podczas prezentacji pokażę, jak uogólnić ów mechanizm poprzez zastosowanie dowolnej dziedziny abstrakcyjnej zamiast FOL. Pozwoli to na wnioskowanie o dowolnych słownikach (niekoniecznie indeksowanych liczbami) oraz zwiększenie wydajności (poprzez zastąpienie wywołań SMT-solvera prostszymi operacjami np. na pentagonach).

2011-11-07, godz. 10:15, s. 4790
Krzysztof Jakubczyk (Uniwersytet Warszawski)
Sweeping in Abstract Interpretation

Tym razem opowiem o swojej pracy którą prezentowałem na workshopie NSAD
2011 - "Sweeping in Abstract Interpretation", swoich wrażeniach oraz
innych pracach które były tam prezentowane.

2011-10-24, godz. 10:15, s. 4790
Andrzej Tarlecki (Uniwersytet Warszawski)
O semantyce specyfikacji structuralnych zorientowanej na własności
2011-10-17, godz. 10:15, s. 4790
Piotr Kosiuczenko (Wojskowa Akademia Techniczna)
Specyfikacja części nieimienniczej systemów w języku OCL

Specyfikacja kontraktowa pozwala opisać  skutki wykonania metod. Ich wykonanie zwykle zmienia niewielki fragment systemu pozostawiając resztę bez zmian. Język JML posiada mechanizm służący do specyfikacji części niezmienniczej. OCL i niektóre inne języki kontraktowej specyfikacji takich środków nie posiadają.
W tym referacie przedstawimy rozszerzenie OCL umożliwiające specyfikację części niezmienniczej. W szczególności omówimy związane z tym zagadnienia specyficzne dla języka OCL, takie jak specyfikacja asocjacji i widoków.

2011-10-10, godz. 10:15, s. 4790
Tadeusz Sznuk (Uniwersytet Warszawski)
HAHA: Hoare Advanced Homework Assistant
Zamierzam opowiedzieć o koncepcji narzędzia, które ma służyć do wbijania
młodym ludziom do głów podstaw logiki Hoare'a. Spróbuję pokazać podstawy
Eclipsowych technologii, których zamierzam użyć. Głównym celem jest
zebranie uwag i pomysłów, w szczególności od osób, które przeżyły
kontakt ze studentami. Oprócz tego trzeba ustalić, kto mógłby jakieś
fragmenty tego narzędzia pisać oraz kto i kiedy mógłby z niego (tz. z
narzędzia) skorzystać.
2011-05-23, godz. 10:15, s. 4790
Andrzej Tarlecki (Uniwersytet Warszawski)
Interface Coherence of Reactive Software Components: Solutions and Challenges

Będzie to powtórzenie fragmentów referatu:

Autor: Rolf Hennicker (Ludwig-Maximilians-Universität München)
Opis: Interface coherence is a key issue in component-based software
development. It concerns two dimensions of the development process:
component implementations should adhere to their interface specifications
- and - components should be composed only if their interfaces are
compatible. To achieve independent implementability it is essential that
both dimensions work properly together, i.e. that compatibility is
preserved by refinement and refinement is preserved by composition, which
are crucial requirements for any kind of interface theory. This talk
analyses solutions and challenges derived from various interface theories
based on state transition specifications with input/output-actions (e.g.
interface automata, modal I/O-transition systems and open Petri nets).
Criteria for the analysis shall be the communication style (synchronous,
asynchronous), expressiveness (observational abstraction, treatment of
data), decidability of refinement and/or compatibility, as well as
semantic soundness and completeness.
2011-05-16, godz. 10:15, s. 4790
Michał R. Przybyłek (Uniwersytet Warszawski)
Uzupełnienia Dedekinda-MacNeilla
Dla dowolnego zbioru częściowo uporządkowanego P istnieje jego kowolne
uzupełnienie \hat{P} do częściowego porządku posiadającego wszystkie
kresy. \hat{P} można zdefiniować jako zbiór domkniętych w dół podzbiorów
$P$ z naturalnie indukowanym porządkiem.

Takie uzupełnienie zachowuje wszystkie istniejące kresy górne w P i
żadnego nietrywialnego kresu dolnego. Analogicznie, dualna konstrukcja
\hat{P}^* stanowi wolne uzupełnienie P (zachowuje wszystkie istniejące
kresy dolne i żadnego nietrywialnego kresu górnego).

Inteligentnie łącząc obydwie konstrukcje, możemy otrzymać uzupełnienie P
(tzw. uzupełnienie Dedekinda-MacNeilla) do zbioru częściowo
uporządkowanego DM(P) posiadającego wszystkie kresy i zachowującego
dowolne kresy istniejące z P.

Na seminarium opowiem o tym skąd te trzy konstrukcje naprawdę się biorą
i w jaki sposób łączą (wielowymiarową) geometrię z (wielowymiarowymi)
algebrami.
2011-05-16, godz. 10:15, s. 4790
Michał R. Przybyłek (Uniwersytet Warszawski)
Uzupełnienia Dedekinda-MacNeilla
Dla dowolnego zbioru częściowo uporządkowanego P istnieje jego kowolne
uzupełnienie \hat{P} do częściowego porządku posiadającego wszystkie
kresy. \hat{P} można zdefiniować jako zbiór domkniętych w dół podzbiorów
$P$ z naturalnie indukowanym porządkiem.

Takie uzupełnienie zachowuje wszystkie istniejące kresy górne w P i
żadnego nietrywialnego kresu dolnego. Analogicznie, dualna konstrukcja
\hat{P}^* stanowi wolne uzupełnienie P (zachowuje wszystkie istniejące
kresy dolne i żadnego nietrywialnego kresu górnego).

Inteligentnie łącząc obydwie konstrukcje, możemy otrzymać uzupełnienie P
(tzw. uzupełnienie Dedekinda-MacNeilla) do zbioru częściowo
uporządkowanego DM(P) posiadającego wszystkie kresy i zachowującego
dowolne kresy istniejące z P.

Na seminarium opowiem o tym skąd te trzy konstrukcje naprawdę się biorą
i w jaki sposób łączą (wielowymiarową) geometrię z (wielowymiarowymi)
algebrami.
2011-05-09, godz. 10:15, s. 4790
Aleksy Schubert (Uniwersytet Warszawski)
O testowaniu protokołów
2011-04-11, godz. 10:15, s. 4790
Jacek Chrząszcz (Uniwersytet Warszawski)
System do testowania klientów wielostronnych protokołów komunikacyjnych" czyli czym możemy się pochwalić po realizacji projektu RiTS
Referat będzie próbą wykrojenia publikowalnego materiału z projektu
RiTS (RCS Network Test Server) zrealizowanego przez nas dla Samsunga.
2011-04-04, godz. 10:15, s. 4790
Tadeusz Sznuk (Uniwersytet Warszawski)
Diagramy decyzyjne i model checking CTL
Zapewne nie wszystkie z poniższych tematów zdążę poruszyć, ale ogólny plan wygląda tak:
  * Diagramy decyzyjne (BDD):
      - Definicje, struktura
      - Operacje
      - Uwagi implementacyjne
      - Warianty
  * Model checking:
      - Definicje: modele, formuły itp.
      - Weryfikacja bezpośrednia
      - Weryfikacja symboliczna:
          - Za pomocą BDD
          - Za pomocą SAT-solvera.
      -  Zastosowania przy weryfikacji oprogramowania
2011-03-28, godz. 10:15, s. 4790
Patryk Czarnik (Uniwersytet Warszawski)
JVM w Coqu - struktury czasu wykonania

Staram się zaimplementować w Coqu semantykę bajtkodu Javy w wersji wykorzystującej "faktoryzację" i "parametryzację" (bajtkod w 12 instrukcji).

Na seminarium przedstawię definicje typów dla struktur czasu wykonania. Mam nadzieję na dyskusję i rady co do sensowności owijania wszystkiego we własne definicje, ukrywania za sygnaturą itp.

2011-03-21, godz. 10:15, s. 4790
Tadeusz Sznuk (Uniwersytet Warszawski)
SAT solvery
SAT-solver, jaki jest, każdy widzi. Ale nie każdy przygląda się uważnie. Dlatego zamierzam opowiedzieć, co to dokładnie jest SAT-solver i jakie problemy można za pomocą takowego rozwiązywać  Postaram się omówić dość szczegółowo architekturę CDCL, czyli najpopularniejszy ostatnio rodzaj solverów, a także wspomnieć o kilku innych podejściach, i jakoś to wszystko porównać. Głównym celem prezentacji jest wywołanie dyskusji o tym, co ciekawego (tz. nowego) możnaby w tym temacie zrobić.
2011-03-14, godz. 10:15, s. 4790
Jędrzej Fulara (Uniwersytet Warszawski)
A Parametric Segmentation Functor for Fully Automatic and Scalable Array Content Analysis
O pracy Cousot, Cousot, Logozzo z POPL2011 o takim tytule.
2011-03-07, godz. 10:15, s. 4790
Maciej Zielenkiewicz (Uniwersytet Warszawski)
Generatory niezmienników i automatyczna weryfikacja II
Przedstawię sposób wykorzystania narzędzia ACSAR do automatycznej weryfikacji programów w Javie operujących na tablicach i znajdowania niezmienników pętli dla tych programów. Wystąpienie zilustrowane zostanie wynikami dla przykładowych programów.
2011-02-28, godz. 10:15, s. 4790
Krzysztof Jakubczyk (Uniwersytet Warszawski)
Zwiększanie dokładności dziedziny przedziałowej
Abstrakcyjna dziedzina przedziałów (ang. Intervals) jest bardzo szeroko wykorzystywaną dziedziną  numeryczną. Niestety nie pozwala na dokładną reprezentację sumy dwóch elementów dziedziny (czyli m.in. zbiorów rozłącznych) co wpływa na zmniejszenie dokładności analizy. Na seminarium zaprezentuję sposoby na poprawienie dokładności dziedziny przedziałowej
2011-02-21, godz. 10:15, s. 4790
Aleksy Schubert (Uniwersytet Warszawski)
Co będzie na ETAPSie
2011-02-14, godz. 10:15, s. 4790
Andrzej Tarlecki (Uniwersytet Warszawski)
Another old story: compositional property-oriented semantics for structured specifications
Abstract: Working in an arbitrary institution, we discuss property-oriented
semantics of specifications built using some collection of
specification-building operations. As a typical example we consider the
structured specifications built from flat specifications using union,
translation and hiding. For such specifications we have the standard
compositional proof system, which determines the standard
property-oriented semantics assigning a theory to each structured
specification. It is not complete (unless the underlying logic has
interpolation and enjoys some other technical properties) but otherwise it
is "as good as can be expected". In particular, it is sound, monotone (and
hence compositional) and one-step complete. The last property means that
the semantics (and the corresponding proof system) allows us to deduce all
true consequences for specifications built by applying any
specification-building operation to argument specifications, assuming that
there is no discrepancy between the classes of models of the argument
specifications and the classes of models of their respective
property-oriented meanings. This is a strong property which was believed
to ensure that the semantics is "as strong as possible" without loosing
soundness or compositionality. We question this claim and show that it
holds assuming in addition that the semantics considered are not
"absent-minded", i.e., do not loose axioms of flat specifications. We
sketch an example to show that by excluding deduction of some axioms in
flat specifications we may offer a stronger rule for natural
specification-building operation so that for some specifications the
resulting semantics is stronger than the standard one.
Poza referatem na tym pierwszym po feriach spotkaniu będziemy ustalać plan referatów na drugi semestr, zachęcam do zgłaszania tematów i terminów, osobiście na seminarium lub zdalnie emailem do mnie (P.Czarnika).
2011-01-17, godz. 10:15, s. 4790
Jędrzej Fulara (Uniwersytet Warszawski)
Abstrakcyjne dziedziny do modelowania tablic
Przedstawię swoje prace nad dziedzinami do reprezentowania zawartości tablic. Zaprezentuję dwa rozwiązania:
- wydajne, ale mało precyzyjne, oparte o dziedzinę przedziałową (wykorzystujące drzewa przedziałowe),
- mniej wydajne, ale dokładniejsze, oparte o pentagony.
2011-01-10, godz. 10:15, s. 4790
Patryk Czarnik (Uniwersytet Warszawski)
Bajtkod Javy w 12 instrukcjach - założenia implementacji
Przypomnienie idei bajtkodu Javy w 12 instrukcjach oraz założenia co do implementacji jego semantyki w Coqu.
2010-12-20, godz. 10:15, s. 5850
Grzegorz Marczyński (Uniwersytet Warszawski)
Konstrukcje architekturalne w kategorii fragmentów
Na seminarium opowiem o kowariantnych sygnaturach i modelach konstrukcji architekturalnych oraz o ich składaniu. Pokażę też przykłady takich konstrukcji w kategorii fragmentów sygnatur algebraicznych z zależnościami.
2010-12-13, godz. 10:15, s. 5850
Andrzej Tarlecki (Uniwersytet Warszawski)
Perspectives Workshop: Formal Methods - Just a Euro-Science?
Opowiesci o spotkaniu w Schloss Daghstul, 1-3.12.2010.
 
Przypominamy, że do końca grudnia seminarium odbywa się w ZMIENIONEJ SALI: 5850 
2010-12-06, godz. 10:15, s. 4790
Aleksy Schubert (Uniwersytet Warszawski)
Oparte o dedukcję narzędzia sprawdzania poprawności kodu
2010-11-29, godz. 10:15, s. 4790
Maciej Zielenkiewicz (Uniwersytet Warszawski)
Generatory niezmienników i automatyczna weryfikacja
Przedstawię przegląd dostępnych gotowych programów umożliwiających automatyczną (z podaniem jedynie warunków początkowych i końcowych) weryfikację programów, ze szczególnym uwzględnieniem problemu odnajdywania niezmienników dla pętli. Jako przykład ciekawego i trudnego zagadnienia przedstawione zostaną programy operujące na tablicach.
2010-11-22, godz. 10:15, s. 4790
Krzysztof Jakubczyk (Uniwersytet Warszawski)
Dziedzina abstrakcyjna opisująca mnożenie zmiennych
Opowiem o pracy nad nową abstrakcyjną dziedziną numeryczną pozwalającą obsłużyć mnożenie zmiennych - będą to nierówności postaci xy <= c lub xy >=c, gdzie c może być liczbą ujemną lub dodatnią. Zaprezentuję bardziej szczegółowo podstawową wersję dziedziny oraz opowiem o trudnościach powstających przy próbie obsłużenia trudniejszych przypadków (łączenie różnych wersji nierówności oraz znaku c).
2010-11-15, godz. 10:15, s. 4790
Jędrzej Fulara (Uniwersytet Warszawski)
Dziedzina abstrakcyjna 'Weighted Hexagons'
Opowiem o aktualnych pracach związanych z dziedziną abstrakcyjną 'Weighted Hexagons'.
Pokażę jak rozszerzyć WH, aby obsługiwały również ostre nierówności. Opowiem o (dotychczas nieudanych) próbach zaadaptowania WH do przypadku całkowitoliczbowego (gdzie wartości zmiennych są liczbami całkowitymi).
Powiem też jakie były główne uwagi do tej dziedziny na prezentacji na NSAD2010.
2010-11-08, godz. 10:15, s. 4790
Tadeusz Sznuk (Uniwersytet Warszawski)
Co ja robię tu?
Opiszę projekt nowego BML-a. Na razie jest to tylko projekt projektu, więc nic konkretnego raczej nie powiem.
2010-10-11, godz. 10:15, s. 4790
Patryk Czarnik (Uniwersytet Warszawski)
RiTS - środowisko do testowania klientów protokołów RCS

RiTS to wewnętrzna nazwa jednego z projektów realizowanych w ramach współpracy UW z firmą Samsung. Głównym celem projektu jest zbudowanie systemu wspierającego testowanie klientów zestawu protokoów "Rich Communication Suite".

Na najbliższym seminarium opowiem pobieżnie o protokołach RCS i dokładniej o zasadach działania systemu i opracowanych w ramach projektu językach:

- definiowania środowiska testowego

- definiowania scenariuszy testowych.

Temat RiTS będzie najprawdopodobniej kontynuowany na następnym seminarium, kiedy postaram się podać więcej szczegółów protokołów RCS i przedstawić ciekawe elementy naszej implementacji.

2010-10-04, godz. 10:15, s. 4790
Ustalanie listy referatów

Po wakacyjnej przerwie zapraszamy na seminarium SLIWOWICA.

W poniedziałek 4 października przewidujemy spotkanie organizacyjne, na którym ustalimy wstępną listę referatów (lub co najmniej prelegentów) na semestr zimowy. Gorąco prosimy o zgłaszanie propozycji. Osoby, które nie będą mogły się pojawić, proszę o nadesłanie propozycji mailowo, na adres czarnik@mimuw.edu.pl.

2010-05-17, godz. 10:15, s. 4790
Patryk Czarnik (Uniwersytet Warszawski)
RiTS - Rich Communication Suite Network Test Server

Projekt RiTS jest realizowany w ramach współpracy Uniwersytetu Warzawskiego z firmą Samsung Electronics. Głównym celem projektu jest zbudowanie testowego serwera zestawu usług Rich Communication Suite. W ramach projektu poznajemy i analizujemy technologie i protokoły komunikacyjne, o które oparty jest RCS.

Na seminarium opowiem o standardzie RCS i usługach/protokołach wchodzących w jego skład, a także o założeniach i bieżącym statusie projektu, z naciskiem na wstępny projekt architektury systemu.

2010-05-10, godz. 10:15, s. 4790
Andrzej Tarlecki (Uniwersytet Warszawski)
SOME NUANCES OF MANY-SORTED UNIVERSAL ALGEBRA
It has been a common belief that the standard results of universal
algebra as developed since the work of Birkhoff and others in the
thirties carry over without much change to the framework of
many-sorted algebras. Perhaps the only notable exception widely
noticed by the community is the care needed in the treatment of
many-sorted equational logic. However, while the standard results
remain valid in essence in the many-sorted frameworks, some nuances
and technicalities require considerably more care in formulation and
proof of the results. We give some examples of such situation,
indicating how equational calculus, Birkhoff's variety theorem and
interpolation results should be adjusted for many-sorted algebras.
2010-04-26, godz. 10:15, s. 4790
Artur Zawłocki (Uniwersytet Warszawski)
Prawdziwie współbieżna (truly-concurrent) semantyka dla wariantu CSP
Na seminarium przedstawię (w zarysie) semantykę operacyjną i
denotacyjną rachunku procesów, nad którym ostatnio pracuję. Rachunek
przypomina CSP Hoare'a, ma jednak kilka nietypowych cech:

- Alfabety procesów podzielone są na akcje wejściowe i wyjściowe.

- Semantyka uwzględnia obliczenia nieskończone bezpośrednio (a nie
jako granice łańcuchów obliczeń skończonych).

- Obliczenia procesu reprezentowane są nie przez ciągi (czyli liniowe
porządki) akcji, a przez częściowe porządki etykietowane akcjami (tzw.
pomsety).
2010-04-19, godz. 10:15, s. 4790
Jędrzej Fulara i Krzysztof Jakubczyk (Uniwersytet Warszawski)
Abstrakcyjna interpretacja nad dziedziną Weighted Hexagons

Opowiemy jak zwykle o abstrakcyjnej interpretacji. Tym razem będziemy opisywać naszą abstrakcyjną dziedzinę numeryczną - Weighted Hexagons. Pozwala ona reprezentować:

  • zależności postaci x <= a*y, gdzie x,y są zmiennymi oraz a jest stałą dodatnią,
  • zależności przedziałowe czyli a <= x <=b gdzie x jest zmienną, stałe a i b oznaczają krańce przedziału.
2010-04-12, godz. 10:15, s. 4790
Michał R. Przybyłek (Uniwersytet Warszawski)
Kategoryjna teoria instytucji
Na seminarium opowiem o swoich najnowszych pracach związanych z kateogryjnym podejściem do połączenia, zmieniających się wzdłuż ustalonego języka, świata teorii i świata modeli. Będzie o modułach, prorozwłóknieniach i kategoryzacji pojęcia instytucji.
2010-03-29, godz. 10:15, s. 4790
Tadeusz Sznuk (Uniwersytet Warszawski)
Generatory obligacji dowodowych
Zamierzam zacząc od powiedzenia, co to jest vcgen i jaką ma rolę w systemach weryfikacji. Potem omówię kilka takich systemów, w szczególności Vcc, Code contracts, KeY, Why, może też SPARK i Eiffel.
2010-03-22, godz. 10:15, s. 4790
Maciej Zielenkiewicz (Uniwersytet Warszawski)
Teoria kategorii w Naturze
Na seminarium pokazane zostanie, jak w naturalny sposób teoria kategorii (i topologia) znajdują zastosowanie w kwantowej teorii pola, pozwalając zarówno na ułatwienie obliczeń, jak i na budowę "uogólnionych" teorii. Przedstawione zagadnienia zostaną zilustrowane analogiami do związków teorii kategorii z logiką.

Referat opiera się na pracy Johna Baeza ,,Physics, Topology, Logic and Computation: A Rosetta Stone'' (quant-ph/0903.0340).
2010-03-15, godz. 10:15, s. 4790
Patryk Czarnik (Uniwersytet Warszawski)
A dozen instructions make Java bytecode

Prerun przed Bytecode 2010.

Abstrakt pracy:

  One of the biggest obstacles in the formalisation of the Java
  bytecode is that the language consists of 200 instructions.
  However, a rigorous handling of a programming language in the
  context of program verification and error detection requires a
  formalism which is compact in size.  Therefore, the actual Java
  bytecode instruction set is never used in the context.  Instead, the
  existing formalisations usually cover a `representative' set of
  instructions.  This paper describes how to reduce the number of
  instructions in a systematic and rigorous way into a manageable set
  of more general operations that cover the full functionality of the
  Java bytecode. The factorisation of the instruction set is based on
  the use of the runtime structures such as operand stack, heap etc.
  This is achieved by presentation of a formal semantics for the Java
  Virtual Machine.

2010-03-08, godz. 10:15, s. 4790
Aleksy Schubert (Uniwersytet Warszawski)
Mały bajtkod

Aleksy opowie o wspólnej z Jackiem i Patrykiem pracy - sprowadzeniu całej funkcjonalności i wszystkich instrukcji Maszyny Wirtualnej Javy (JVM) do 12 instrukcji i zapisaniu operacyjnej semantyki małych kroków w postaci 23 reguł. Oczywiście instrukcje są sparametryzowane, aby móc reprezentować wszystkie instrukcje oryginalnego języka, a wybór 12 instrukcji jest oparty o sposób korzystania ze struktur danych JVM.

Staraliśmy się pokryć cały język JVML i co najmniej umożliwić uwzględnienie wszystkich aspektów, takich jak współbieżność czy Java Memory Model. Na seminarium przedstawione zostaną też pomysły na dalsze rozwinięcie tego tematu w kierunku formalizcji tej pracy w Coqu, wykorzystania do analiz statycznych/abstrakcyjnych interpretacji, czy opracowania analogicznie "skompresowanego" języka specyfikacji dla JVM.

2010-03-01, godz. 10:15, s. 4790
Grzegorz Marczyński (Uniwersytet Warszawski)
O granicach w kategorii praporządków z morfizmami słabo odbijającymi domknięcia w dół

Podczas seminarium opowiem o moich zmaganiach z pokazaniem istnienia wszystkich granic w kategorii Preord!, której obiekty to praporządki, zaś morfizmy spełniają dwa warunki:

(1) są monotoniczne

(2) słabo odbijają domknięcia w dół, czyli dla f : A -> B, a\in A, b'\in B, jeśli b'<=f(a), to istnieje a'\in A, że f(a')=b' i a'<=a

Trudne okazało się zwłaszcza zdefiniowanie produktów w tej kategorii. Postaram się przystępnie przedstawić problem i podać uzasadnienie, dlaczego kategoria Preord! może być interesująca dla informatyka.

2010-01-18, godz. 10:15, s. 4790
Jędrzej Fulara i Krzysztof Jakubczyk (Uniwersytet Warszawski)
Prerun wystąpienia na SofSem 2010
Będzie o automatycznym generowaniu anotacji, naszym narzędziu CodeStatistics i eksperymencie z pętlami for i decreases.
2010-01-11, godz. 10:15, s. 4790
Bartosz Zieliński (Wydział Fizyki i Informatyki Stosowanej, Uniwersytet Łódzki; Instytut Matematyki, PAN)
Polityki i modele kontroli dostępu - kontynuacja
Kontynuacja poprzedniego referatu, powtórka abstraktu: Omówione zostaną podstawowe pojęcia związane z bezpieczeństwem, modele kontroli dostępu, polityki bezpieczeństwa i związane z nimi problemy, m.in: rozróżnienie na uznaniową i obowiązkową kontrolę dostępu, podstawowy model macierzy dostępu, model Harisona-Ruzzo-Ullmana i jego modyfikacje, nierozstrzygalność problemu bezpieczeństwa, kontrola dostępu oparta na rolach i jej różne wersje, kontrola przepływu informacji: modele Bell-La Padula i Denninga, konflikt interesów: polityka muru chińskiego.
2010-01-04, godz. 10:15, s. 4790
Bartosz Zieliński (Wydział Fizyki i Informatyki Stosowanej, Uniwersytet Łódzki; Instytut Matematyki, PAN)
Polityki i modele kontroli dostępu
Omówione zostaną podstawowe pojęcia związane z bezpieczeństwem, modele kontroli dostępu, polityki bezpieczeństwa i związane z nimi problemy, m.in: rozróżnienie na uznaniową i obowiązkową kontrolę dostępu, podstawowy model macierzy dostępu, model Harisona-Ruzzo-Ullmana i jego modyfikacje, nierozstrzygalność problemu bezpieczeństwa, kontrola dostępu oparta na rolach i jej różne wersje, kontrola przepływu informacji: modele Bell-La Padula i Denninga, konflikt interesów: polityka muru chińskiego.
2009-12-14, godz. 10:15, s. 4790
Jędrzej Fulara i Krzysztof Jakubczyk (Uniwersytet Warszawski)
Analiza abstrakcyjna
Na seminarium opowiemy o wykorzystaniu abstrakcyjnej interpretacji do analizy kodu programów. Skupimy się na zastosowaniu jej do sprawdzania występowania błędów rzepełnienia zakresu liczb całkowitych oraz wyjścia poza zakres tablicy w języku Java. W tym celu zaprezentujemy numeryczne abstrakcyjne dziedziny wykorzystywane do statycznej analizy za pomocą abstrakcyjnej interpretacji. Opowiemy także o tworzonym przez nas narzędziu wykorzystującym powyższe techniki oraz w jaki sposób chcemy wzbogacić analizę kodu. Przy odrobinie szczęścia uda się zaprezentować narzędzie w działaniu.
2009-12-07, godz. 10:15, s. 4790
Artur Zawłocki (Uniwersytet Warszawski)
Doktorat
Opowiem o formalizmie, mojego autorstwa, do opisu systemów zbudowanych z komponentów, z których każdy porozumiewa się z otoczeniem za pośrednictwem akcji. Podobnie jak np. w CCS i CSP, komunikacja odbywa się przez synchronizację akcji: dwa komponenty można połączyć przez sparowanie 'wyjściowych' akcji jednego z nich, z 'wejściowymi' akcjami drugiego. Do specyfikacji komponentów używam logiki temporalnej (wariantu LTL, linear temporal logic) a za wszystkim stoi model formalny oparty o automaty (albo etykietowane systemy tranzycyjne) z pewnymi moimi rozszerzeniami. Postaram się skupić głównie na przykładzie specyfikacji, pomijając w miarę możliwości technikalia.
2009-11-30, godz. 10:15, s. 4790
Piotr Kosiuczenko
Efektywna implementacja operatora @pre/old i jej weryfikacja
Referat dotyczy implementacji operatorów zwracających wartość parametru sprzed wykonania operacji takich jak @pre w języku OCL oraz \old w językach JML i Spec#. Dotychczasowe implementacje nie gwarantowały żadnych ograniczeń czasowych, a nawet własności zatrzymywania się programu. Z drugiej strony sztucznie ograniczały dopuszczalne wyrażenia języka specyfikacji. Zaproponowany ostatnio algorytm unika tych problemów. W referacie przedstawiona zostanie jego aspektowo zorientowana implementacja, formalizacja oraz dowód poprawności.
2009-11-16, godz. 10:15, s. 4790
Grzegorz Marczyński (Uniwersytet Warszawski)
Sygnatury algebraiczne z porządkiem na symbolach
Na seminarium przedstawię wyniki mojej pracy nad sygnaturami algebraicznymi, które zawierają relację zależności pomiędzy symbolami. Pokażę też definicję kategorii fragmentów takich sygnatur, pullback-pushout uzupełnień, oraz kilku funktorów służących do "domykania" fragmentów w całości. Do tego wszystkiego postaram sie pokazać motywacje i podać przykłady.
2009-11-09, godz. 10:15, s. 4790
Aleksy Schubert (Uniwersytet Warszawski)
Co się działo na drugim światowym kongresie Formal Methods
Duże konferencje wyznaczają zwykle trendy w badaniach nad danym tematem. Zwłaszcza dotyczy to zaproszonych wykładów. Na referacie zaprezentuję streszczenie zaproszonych wykładów: + Formal Methods for Privacy, Jeanette Wing + What can Formal Methods bring do Systems Biology?, Wan Fokkink + Guess and Verify - Back to the Future, Colin O'Halloran + Verification Testing and Statistics, Sriram Rajamani + Security, Probability and Nearly Fair Con in the Cryptographers' Cafe, Carroll Morgan Oprócz tego będzie trochę informacji o trendach, wyzwaniach dla weryfikacji itp.
2009-11-02, godz. 10:15, s. 4790
Patryk Czarnik (Uniwersytet Warszawski)
O weryfikacji bajtkodu Javy
Weryfikacja bajtkodu to operacja wykonywana przez większość impementacji Maszyny Wirtualnej Javy podczas ładowania klas, której celem jest sprawdzenie poprawności bajtkodu, ze szczególnym uwzględnieniem zgodności typów argumentów dla poszczególnych instruckji JVM. Na seminarium opowiem o własnych (we współpracy z Jackiem Chrząszczem i Aleksym Schubertem) próbach formalizacji weryfikacji bajtkodu w Coqu, w oparciu o Mobiusową formalizację JVM "Bicolano".
2009-10-26, godz. 10:15, s. 4790
Aleksy Schubert (Uniwersytet Warszawski)
Prerun wystąpień w Eindhoven
2009-10-19, godz. 10:15, s. 4790
Aleksy Schubert i Jacek Chrząszcz (Uniwersytet Warszawski)
Weryfikacja skompilowanych klas Javy w oparciu o specyfikację w BML - studium przypadku
W ramach zakończonego niedawno projektu Mobius powstało szereg narzędzi do specyfikacji i weryfikacji własności programów w Javie. Jednym z narzędzi jest generator obligacji dowodowych BMLVCGen, który na podstawie pliku ze skompilowaną klasą Javy wzbogaconą o binarne specyfikacje w języku BML generuje formuły w Coqu. Z prawdziwości tych formuł wynika poprawność pliku klasowego względem jego specyfikacji. Przedstawimy nasze przygody z dowodzeniem takich formuł wygenerowanych dla prostej klasy o nazwie Bill, zawierającej jedną metodę abstrakcyjną i jedną konkretną.
2009-10-12, godz. 10:15, s. 4790
Patryk Czarnik (Uniwersytet Warszawski)
Szkoła letnia ISS-AiPL
W sierpniu miałem przyjemność w Edynburgu brać udział w szkole International Summer School on Advances in Programming Languages http://www.macs.hw.ac.uk/~greg/ISS-AiPL/ Na seminarium postaram się streścić 10 wykładów Szkoły :), a tak naprawdę zapewne uda się nieco dokładniej omówić niektóre tematy i rzucić okiem na hasła pojawiające się przy pozostałych. Dokładniej (uruchamiając na żywo 1-2 narzędzia) postaram się zaprezentować wykorzystywanie dostępnych we współczesnych procesorach równoległości i wyspecjalizowanych instrukcji do obliczeń na wektorach/macierzach. Być może także (już tylko na slajdach) pewne techniki do modularyzacji kodu w językach funkcyjnych.
2009-10-05, godz. 10:15, s. 4790
Spotkanie organizacyjne, ustalanie tematów referatów.
2009-05-04, godz. 10:15, s. 4790
Patryk Czarnik (Uniwersytet Warszawski)
Abstrakcyjne podejście do weryfikacji bajtkodu Javy
Weryfikacja bajtkodu to czynność przeprowadzana przez większość implementacji maszyny wirtualnej Javy podczas ładowania bajtkodu, w celu sprawdzenia poprawności programu przed jego uruchomieniem. W trakcie weryfikacji, w celu sprawdzenia poprawności typowej, przeprowadzana jest m.in. statyczna analiza przepływu danych. Bicolano to formalizacja maszyny wirtualnej oraz semantyki bajtkodu Javy opracowana w ramach projektu Mobius. Pracuję nad formalizacją algorytmu weryfikacji bajtkodu w Coqu, w oparciu o Bicolano. Moja formalizacja ma charakteryzować się tym, że algorytm nie rozpatruje bezpośrednio poszczególnych instrukcji, ale analizuje "sygnatury instrukcji" opisujące na poziomie typów jak instrukcja wpływa na stan. W połączeniu z modularną budową formalizacji, ma to ułatwić analizowanie weryfikacji bajtkodu dla różnych zestawów instrukcji i różnych hierarchii typów. Na seminarium przypomnę ogólniki, przypomnę pomysł sygnatur instrukcji oraz szczegółowo przedstawię formalizację "półkrat dobrze ufundowanych", czym zajmowałem się (razem z Jackiem) ostatnio. Przy okazji będzie coś o klasach w Coqu.
2009-04-27, godz. 10:15, s. 4790
Grzegorz Marczyński i Artur Zawłocki (Uniwersytet Warszawski)
A Heterogeneous Approach to Service-Oriented Systems Specification: Two Months Later
Service-oriented architecture (SOA) is a relatively new ap- proach to software system development. It divides system functionality to independent, loosely coupled, interoperable services. In this paper we propose a new heterogeneous specification approach of SOA systems where a heterogeneous structured specification consists of a number of specifications of individual services written in a "local" logic and where the specification of their interactions is separately described in a "global" logic. A main feature of our global logic is the possibility of describing the dynamic change of service communications over time. Our approach is based on the theory of institutions: we show that both logics form institutions and that these institutions are connected by an institution comorphism. We illustrate our approach by a simple scenario of an e- university management system and show the power of the heterogeneous specification approach by a compositional refinement of the scenario.
2009-03-30, godz. 10:15, s. 4790
Artur Zawłocki (Uniwersytet Warszawski)
Formalizm do specyfikacji komponentów w oparciu o logikę liniowo-temporalną -- work in progress
2009-03-23, godz. 10:15, s. 4790
prof. Andrzej Tarlecki (Uniwersytet Warszawski)
Heterogeniczne środowiska logiczne - spojrzenie instytucyjne
2009-03-16, godz. 10:15, s. 4790
prof. Andrzej Tarlecki (Uniwersytet Warszawski)
Heterogeniczne środowiska logiczne - spojrzenie instytucyjne
HETEROGENEOUS LOGICAL ENVIRONMENTS: AN INSTITUTIONAL VIEW We work within the theory of institutions as a framework where the theory of specification and formal software development may be presented in an adequately general and abstract way. As different logical systems may be appropriate or most convenient for specification of different modules of the same system, of different aspects of system behaviour, or of different stages of system development, we need a number of logical systems to be used in the same specification and development project. This motivates the presented research on heterogeneous logical environments and specifications built in such environments. We formalise logical systems as institutions. To enable a sensible use of a number of institutions together, in heterogeneous logical environments we link them with each other by institution morphisms or other maps between institutions, like institution comorphisms. Using them together with other standard (intra-institutional) specification-building operations, one builds heterogeneous structured specifications, which may involve a number of institutions to specify some aspects or some parts of the system, but ultimately focus at one institution of interest. One family of logical systems is suggested by UML, where system specifications typically involve a number of diagrams of different kinds, each capturing a different aspect of the system. Each kind of UML diagrams leads to a separate logical system which, at least in principle, can be formalised as an institution. Expected relationships between system properties specified by different kinds of UML diagrams may now be captured using appropriate institution maps. UML specifications, however, are quite different from focused heterogeneous specifications mentioned above. They just form a collection of specifications residing in different institutions of UML diagrams. We present a general abstract concept of a distributed heterogeneous specifcations that consist of a collection of specifications focused at various institutions in an underlying heterogeneous logical environment, linked by specification morphisms generalised by involving institution maps. Distributed heterogeneous specifications come equipped with a rather natural semantics, given in terms of compatible families of models of component specifications. This yields in the standard way a number of usual concepts: consistency, semantic consequence, and perhaps most importantly, implementation of one distributed specification by another. Each basic concept of a map between institutions can be captured by institution (co)morphisms --- as a span of (co)morphisms. Replacing a map between institutions by an appropriate span of (co)morphisms allows one to represent exactly the same relationship between institutions and their components. However, the categories of specifications that emerge in each case are different. Nevertheless, we argue that the expressive power of distributed specicfications built over them does not essentially differ.
2008-12-08, godz. 10:15, s. 4790
Łukasz Jancewicz (Uniwersytet Warszawski)
Anonimowość w BitTorrencie
BitTorrent jest obecnie najpopularniejszym protokołem peer-to-peer, czyli służącym do bezpośredniej wymiany plików między użytkownikami Internetu. Przyczyną takiej popularności jest jego szybkość i skalowalność, które osiąga się kosztem m.in. prywatności. W ostatnich latach, głównie z powodu pozwów o naruszenie praw autorskich, użytkownikom zaczęło bardziej zależeć, by oprócz wydajności sieć peer-to-peer oferowała również pewien stopień anonimowości, który w amerykańskim żargonie prawniczym określa się mianem "plausible deniability". W swojej prezentacji opowiem o projekcie Tribler, rozwijanym przez TU Delft w Holandii. Główne cele projektu to stworzenie działającej, w pełni rozproszonej implementacji protokołu BitTorrent, posiadającej szereg usprawnień, m.in. anonimowość, sprawiedliwość i rekomendacje treści.
2008-11-17, godz. 10:15, s. 4790
Piotr Kosiuczenko
Przepisywanie termów jako semantyczna podstawa modelowania graficznego
Graficzne języki modelowania, takie jak Unified Modeling Language (UML) i Specification and Description Language (SDL), są dziś powszechnie stosowane w praktyce inżynierii oprogramowania. Jednakże ich rozwój wymagał lat pracy nad notacjami w nich zawartymi oraz ich semantyką. Wiele kontrowersji wywoływało łączenie różnych notacji w jeden język oraz ich równoczesne używanie. Jednakże w miarę postępu prac nad semantyką tych języków, kontrowersje te ustały. W referacie tym przedstawię wyniki moich badań nad semantycznymi podstawami tychże języków, w szczególności zastosowanie formalizmu opartego na teorii przepisywania termów. Pomimo, że UML pozwala na graficzne modelowanie różnorodnych aspektów systemów oprogramowania, nie pozwalał on na specyfikację systemów mobilnych. W referacie zaprezentuję rozszerzenie UMLa służące do graficznego modelowania systemów mobilnych i jego semantykę oparta na przepisywaniu termów. Zarządzanie wymaganiami klienta jest jednym z podstawowych składników procesu wytwarzania oprogramowania. Pokrótce, omówię sposoby transformacji wymagań użytkownika oparte również na przepisywaniu termów.
2008-11-03, godz. 10:15, s. 4790
Patryk Czarnik (Instytut Informatyki, Uniwersytet Warszawski)
Ku abstrakcyjnemu podejściu do weryfikacji bajtkodu Javy
2008-10-27, godz. 10:15, s. 4790
Grzegorz Marczyński (Uniwersytet Warszawski)
BPMN, czyli Business Process Modeling Notation
Na seminarium na przykładach przedstawię notację BPMN w wersji 1.1. Postaram sie również opisać związki pomiędzy BPMN i BPEL (Business Process Execution Language).
2008-10-20, godz. 10:15, s. 4790
Artur Zawłocki (Uniwersytet Warszawski, Instytut Informatyki)
An Algebraic Semantics for Contract-based Software Components
Praca Michela Bidoit i Rolfa Hennickera (z AMAST 2008) Abstrakt pracy: We propose a semantic foundation for the contract-based design of software components. Our approach focuses on the characteristic principles of component-oriented development, like provided and required interface specifications and strong encapsulation. Semantically, we adopt classical concepts of mathematical logic using models, in our framework given by labelled transition systems with ``states as algebras'', sentences, and a satisfaction relation which characterizes those properties of a component which are observable by the user in the ``strongly reachable'' states. We distinguish beteween models of interfaces and models of component bodies. The latter are equipped with semantic encapsulation constraints which guarantee, that if the component body is a correct user of the required interface operations, then it can safely rely on all properties of the required interface specification. Our model-theoretic semantics of interfaces and component bodies suggests two semantic views on a component, its external and its internal semantics which must be properly related to ensure the correctness of a component. We also study a refinement relation between required and provided interface specifications of different components used for component composition.