Standardy w zakresie systemw rozproszonych i baz danych - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

Standardy w zakresie systemw rozproszonych i baz danych

Description:

projektu VIDE http://www.si.pjwstk.edu.pl/publications/pl/index.html ... w PIM odwzorowuje sie na graf abstrakcyjnej skladni okreslony w/w metamodelami ... – PowerPoint PPT presentation

Number of Views:42
Avg rating:3.0/5.0
Slides: 23
Provided by: ipipa
Category:

less

Transcript and Presenter's Notes

Title: Standardy w zakresie systemw rozproszonych i baz danych


1
Standardy w zakresie systemów rozproszonych i
baz danych
Wyklad 8 Wprowadzenie do systemu VIDE
Piotr Habela Kazimierz Subieta Polsko-Japonska
Wyzsza Szkola Technik Komputerowych, Warszawa
2
Materialy
  • Strony internetowe projektu VIDE
  • http//www.vide-ist.eu/
  • VIDE e-learning system
  • http//www.vide-ist.eu/reflib/elearning/index.html
  • VIDE Cookbook
  • http//www.vide-ist.eu/reflib/cookbook.html
  • Prace opublikowane nt. projektu VIDE
    http//www.si.pjwstk.edu.pl/publications/pl/index.
    html
  • G.Falda, P.Habela, K.Kaczmarski, K.Stencel,
    K.Subieta Object Oriented Database Prototype as
    a Model Execution Engine for Executable UML.
    Proceedings of the 1st International Conference
    on Object Databases, ICOODB 2008, Berlin 13-14
    March 2008, pp.167-178
  • P.Habela, K.Kaczmarski, K.Stencel, K.Subieta OCL
    as the Query Language for UML Model Execution.
    Computational Science - ICCS 2008, 8th
    International Conference, Kraków, Poland, June
    23-25, 2008, Proceedings, Part III. Lecture Notes
    in Computer Science 5103 Springer 2008,
    pp.311-320
  • G.Falda, P.Habela, K.Kaczmarski, K.Stencel,
    K.Subieta Executable Platform Independent Models
    for Data Intensive Applications. Computational
    Science - ICCS 2008, 8th International
    Conference, Kraków, Poland, June 23-25, 2008,
    Proceedings, Part III. LNCS 5103 Springer 2008,
    pp. 301-310
  • R.Adamus, G.Falda, P.Habela,K.Kaczmarski,
    K.Stencel, K.Subieta Project VIDE Challenges
    of Executable Modelling of Business Applications.
    Proc. of NEPTUNE2008 Conf. on Model-Driven
    Engineering, Paris 8-9 April 2008, Genie Logiciel
    85, 2008, pp.53-56
  • P.Habela, K.Kaczmarski, K.Stencel, K.Subieta
    Implementing OCL as a Database Query Language. On
    the Move to Meaningful Internet Systems 2007 OTM
    2007 Workshops, OTM Confederated International
    Workshops and Posters,Vilamoura, Portugal,
    November 25-30, 2007, Proceedings, Part I., LNCS
    4805, Springer, 2007, pp. 17-18
  • G.Falda, P.Habela, K.Kaczmarski, K.Stencel,
    K.Subieta. Platform-independent programming of
    data-intensive applications using UML 2nd IFIP
    Central and East European Conference on Software
    Engineering Techniques CEE-SET 2007, Poznan 2007

3
Geneza projektu VIDE (1)
  • Projekt europejski (VIsualize all moDel drivEn
    programming)
  • 6-ty Program Ramowy Unii Europejskiej
  • Autor pomyslu i wniosku grantowego Grzegorz
    Falda
  • Czas trwania projektu lipiec 2006 grudzien
    2008
  • Dofinansowanie UE 2 300 000 , rzady 1 700
    000
  • 9-ciu partnerów
  • PJWSTK (Polska), koordynacja projektu
  • Bournemouth University (Wielka Brytania)
  • Fraunhofer Instititute (Niemcy)
  • DFKI - German Research Center for Artificial
    Intelligence (Niemcy)
  • Rodan Systems (Polska)
  • Softeam (Francja)
  • TNM Software GmbH (Niemcy)
  • SAP AG (Niemcy)
  • ALTEC (Grecja)
  • Zakonczony sukcesem, bardzo pochlebne opinie
    recenzentów

4
Geneza projektu VIDE (2)
  • Dotyczy podejscia Model Driven Architecture (MDA)
  • VIDE realizuje postulaty wykonywalnego UML
    (Executable UML)
  • Jezyk akcji o nazwie VIDE, zgodny z UML 2.1
    standard OMG
  • Kodowanie tekstowe i graficzne.
  • Szeroki zakres potencjalnych zastosowan
    (biznesowych) opartych o bazy danych.
  • Implementacja OCL 2.0 standard OMG - jako
    jezyka zapytan do obiektowej bazy danych
  • Programowanie aspektowe
  • Mechanizmy kontroli jakosci oprogramowania
  • Specyfikacji procesów biznesowych (workflow)
  • Kompilatory z VIDE do zewnetrznych platform (Java
    i ODRA)
  • Integracja zewnetrznych zasobów i oprogramowania
    (relacyjne bazy danych, XML, OfficeObjectsWorkflow
    , )
  • Prototyp zrealizowany dla platformy ODRA (PJWSTK)

5
Prototyp VIDE najwazniejsze informacje (1)
  • VIDE jest jezykiem programowania opartym na
    standardzie UML 2.1 i zgodnie z postulatami
    podejscia MDA
  • Ma sluzyc do specyfikowania w UML oprogramowania
    (wlaczajac w to pelna logike aplikacji) na
    poziomie modelu niezaleznego od platformy
  • Model taki pozwala na jego transformowanie na
    wybrana platforme docelowa, poprzez wygenerowanie
    z odpowiednich konstrukcji modelu kodu zródlowego
    lub maszynowego dla tejze platformy
  • Specyfikowanie szczególów zachowania w jezyku UML
    sluza niedawno wprowadzone do jego specyfikacji
    czesci Structured Activities oraz Actions
  • W edytorze wizualnym - pojecia bezposrednio
    wystepujace w ww. czesciach metamodelu UML
  • W edytorze tekstowym instrukcje jezyka
    programowania
  • W UML nie zestandaryzowano dotychczas skladni dla
    tych konstrukcji - ani wizualnej ani tekstowej
  • Obie skladnie natomiast sa odwzorowywane
    odpowiednio na te same, zestandaryzowane elementy
    metamodelu UML

6
Prototyp VIDE najwazniejsze informacje (2)
  • Specyfikowane zachowanie jest odwzorowywane na
    model stanowiacy instancje metamodelu UML.
  • Zachowanie aplikacji specyfikujemy w VIDE poprzez
    budowe cial metod, zwiazanych z operacjami w
    klasach znajdujacych sie w modelu klas UML.
  • Strukturalna warstwa modelu jest realizowana
    przez pojecia pakietów oraz klas, polaczonych w
    kompozycje i asocjacje oraz mogacych
    wykorzystywac relacje generalizacji.
  • Szczególna role odgrywac moze klasa modulowa -
    specjalna klasa, której instancji nie powolujemy
    w normalny sposób.
  • Zaklada sie, ze w momencie uruchomienia aplikacji
    istnieje dokladnie jedna instancja takiej klasy,
    która pelni role punktu wejscia dla uruchamiania
    funkcjonalnosci aplikacji.
  • Klase modulowa, która musi miec nazwe identyczna
    z nazwa zawierajacego ja pakietu, definiujemy
    przypisujac jej stereotyp module.

7
Prototyp VIDE najwazniejsze informacje (3)
  • Funkcjonalnosc aplikacji mozna wywolac
  • wolajac jedna z operacji klasy modulowej
  • wydobywajac z atrybutów klasy modulowej obiekty i
    wywolujac operacje
  • UML 2.1 wprowadza akcje do odczytu pojedynczych
    wartosci
  • Jest to niewystarczajace dla aplikacji z baza
    danych
  • Konieczny jest jezyk zapytan a la SQL
  • W tej roli OCL (Object Constraint Language),
    stworzony do formulowania ograniczen w modelu
  • Rola OCL jest zmieniona, w VIDE wystepuje jako
    jezyk zapytan
  • Specyfikacje UML 2.1 i OCL 2.0 sa mocno
    niedojrzale
  • Tocza sie prace nad precyzyjna, wykonywalna
    semantyka UML
  • UML Actions oraz Structured Activities nie
    posiadaja okreslonej w standardzie skladni
    konkretnej
  • Stad na potrzeby VIDE trzeba bylo zaprojektowac
    konkretna skladnie i semantyke
  • Jest to przedmiot wniosku do OMG

8
Ogólne moduly VIDE
9
VIDE a MDA
  • VIDE wspiera podejscie MDA. W tym celu wyróznia 4
    warstwy modeli i artefaktów
  • Computation Independent Model (CIM)
    przykrywajacy wiedze dziedzinowa i opisujacy
    logike biznesowa w sposób abstrahujacy od
    konkretnych rozwiazan programistycznych
  • Platform Independent Model (PIM) opisujacy
    struktury i zachowanie (behaviour) wytwarzanego
    oprogramowania bez okreslania detali docelowej
    platformy implementacyjnej
  • Platform Specific Model (PSM) model precyzujacy
    decyzje projektowe w terminach pewnej technologii
    programistycznej
  • Kod kod zródlowy oprogramowania, automatycznie
    wygenerowany z PSM
  • VIDE idzie nieco dalej niz typowe zalozenia MDA,
    mianowicie oferuje kodowanie, uruchamianie i
    testowanie programów juz na poziomie PIM
  • Inne rozwiazanie zmuszaloby do uruchamiania i
    testowania oprogramowania dopiero na poziomie PSM
    lub na poziomie kodu, co oznaczaloby nizszy
    poziom abstrakcji w programowaniu, nizszy
    potencjal ponownego uzycia, wieksza
    pracochlonnosc, gorsza jakosc,
  • Na poziomie PSM tylko drobne poprawki, jezeli w
    ogóle ktos bedzie chcial wprowadzac PSM
  • Generowanie kodu bezposrednio z poziomu PIM
  • Odpowiednie adnotacje do modelu PIM, specyficzne
    dla danej platformy

10
MDA w architekturze narzedzi VIDE
Modelowanie niezalezne od obliczen
Analiza dziedzinowa
CIM
Prototypowanie na poziomie PIM
Modelowanie procesów
Kompozycja aspektowa
Modelowanie aplikacji
Zapewnienie jakosci
PIM
Wykonanie/testowanie modelu PIM
PIM z adnotacjami
PSM?
Kod
Generowanie kodu
11
VIDE jako nowy jezyk programowania
  • Poprzez to, ze mozna programowac juz na poziomie
    PIM, powstaje pewna sprzecznosc z zalozeniami MDA
  • Jezeli programujemy na poziomie PIM, to po co PSM
    i kod?
  • PIM staje sie w ten sposób PSM, który jest
    jednoczesnie kodem
  • po co generowac kod w Java, C, itd. jezeli
    wszystko, co mozna zrobic z tym kodem, to go
    skompilowac?
  • przykryc jakims makefile i zapomniec o tych
    jezykach i ich kompilatorach
  • VIDE jest nowym obiektowym jezykiem programowania
  • z baza danych/obiektów
  • ze schematem obiektów zapisanym w UML
  • zlozone obiekty, kolekcje, typy, klasy, metody,
    asocjacje, dziedziczenie,
  • Mozna takze uwazac, ze w VIDE piszemy tylko
    prototyp, który wprawdzie jest wykonywalny, ale
    ze slaba wydajnoscia, uproszczonymi interfejsami,
    itd.
  • Ale wtedy powstaje zadanie optymalizacyjne jak
    zrobic VIDE w pelni wydajnym jezykiem, z
    wlasciwymi interfejsami, itd.
  • Aby nie tracic istniejacych bibliotek pomosty
    do Java, .Net, C,

12
Przypadki uzycia systemu VIDE
13
Funkcjonalne moduly VIDE
14
Designer aplikacji powiazania miedzy-modulowe
15
Przypadki uzycia na poziomie PIM
16
Typowa zaleznosc kroków rozwoju oprogramowania
17
Unikalne cechy systemu VIDE (1)
  • Zuniformizowany jezyk programowania bazujacy na
    UML pozwalajacy na precyzyjna specyfikacje
    zachowania
  • Wieksza elastycznosc dla procesów rozwoju
    oprogramowania
  • Mniejsze problemy komunikacyjne pomiedzy
    spolecznosciami analizy, projektowania i
    programowania
  • Jezyk OCL jako jezyk zapytan pozwala na zapis
    wymaganej funkcjonalnosci w sposób krótki,
    koncepcyjny i deklaracyjny
  • Zapytania oraz zdania imperatywne sa bezszwowo
    zintegrowane w jeden jezyk
  • Zestandaryzowany metamodel
  • Brak niezgodnosci impedancji
  • Podejscie aspektowe oraz wykrywanie defektów
    podniesione na poziom PIM
  • Sprzyja ponownemu uzyciu
  • Sprzyja walce ze zlozonoscia aplikacji

18
Unikalne cechy systemu VIDE (2)
  • Pelne pokrycie procesu przejscia z modelu
    biznesowego do wykonywalnego kodu
  • Wykonywalny model PIM posiada pomosty do
    istniejacych uslug (np.WS), silnika workflow,
    itd.
  • Prototypowanie i testowanie pry pomocy GUI
  • Narzedzie do modelowania pre-CIM dla
    uzytkowników biznesowych
  • Pozwala im na efektywne wlaczenie sie w rozwój
    aplikacji
  • Rozszerzony jezyk na poziomie CIM bazujacy na
    notacji BPMN
  • Przejscie z CIM do PIM w terminach odwzorowania
    pomiedzy modelami jako punkt wyjsciowy do
    specyfikacji aplikacji oraz jako wzorzec dla
    projektowania wykonywalnych procesów workflow

19
Standardy wspomagane lub uzywane przez VIDE
  • BPMN - Business Process Modeling Notation
  • XPDL - XML Process Definition Language
  • UML - Unified Modeling Language
  • OCL - Object Constraint Language
  • XML - Extensible Markup Language
  • XMI - XML Metadata Interchange
  • SOAP Simple Object Access Protocol
  • WS - Web Services
  • WSDL - Web Service Definition Language
  • UDDI - Universal Description, Discovery and
    Integration
  • JDBC Java Data Base Connectivity
  • SQL Structured Query Language

20
Dostepnosc komponentów VIDE
21
Proces generacji aplikacji w ODRA
Behavior
PIM
VIDE Textual
SBQL AST
SBQL CODE
ODRA Server
VIDE Visual
ODRA DDL
UML Structures
22
Eclipse SDK
  • Dla systemu VIDE wybrano Eclipse jako
    zintegrowane srodowisko deweloperskie (IDE) dla
    edytowania programów tekstowych
  • Jest to popularne i uniwersalne srodowisko
    open-source, jakkolwiek nie wolne od wad takich
    jak zlozonosc, trudnosci w nauczeniu sie i bledy
    w oprogramowaniu
  • Bazujace na Eclipse implementacje MDT metamodeli
    dla UML i OCL tworza mechanizm odwzorowania
    pomiedzy modelami
  • Programy zapisane w PIM odwzorowuje sie na graf
    abstrakcyjnej skladni okreslony w/w metamodelami
  • Abstrakcyjna skladnia moze byc dalej przedmiotem
    przetwarzania, np. w zwiazku z aspektowoscia i
    wykrywaniem defektów
  • Po zakonczeniu przetwarzania, abstrakcyjna
    skladnia moze byc odwzorowana na kod. Obecnie dwa
    kompilatory kodu sa dostepne Java Hibernate
    oraz ODRA
  • openArchiectureware framework dla kompilatora
    modelu dla Java
  • Dla edytorów wizyjnych wykorzystano framework GMF
  • Wybór Eclipse i popularnych frameworków do zapisu
    i odwzorowania modeli znacznie ulatwia
    projektowanie funkcjonalnosci aplikacji.
Write a Comment
User Comments (0)
About PowerShow.com