27
MDA DAY 22.8.2007 Modelování, MDA a UML Martin Molhanec

Modelování, MDA a UML Martin Molhanec

  • Upload
    maja

  • View
    42

  • Download
    3

Embed Size (px)

DESCRIPTION

Modelování, MDA a UML Martin Molhanec. MDA Day 22.8.2007. Osobní názor. Já si myslel od prvního okamžiku, že modely jsou k tomu, abychom podle nich vyvíjeli! Čili MDA je naprosto normální a přirozená věc! OK, chápu, že MDA klade na vývoj dle modelů akcent - PowerPoint PPT Presentation

Citation preview

Page 1: Modelování, MDA a UML Martin Molhanec

MDA DAY

22.8.2007

Modelování, MDA a UMLMartin Molhanec

Page 2: Modelování, MDA a UML Martin Molhanec

Osobní názor

Já si myslel od prvního okamžiku, že modely jsou k tomu, abychom podle nich vyvíjeli! Čili MDA je naprosto normální a přirozená věc!

OK, chápu, že MDA klade na vývoj dle modelů akcent

Model je zdroj a nikoliv jenom dokumentace. MDA se snaží udělat v modelech pořádek

Co použít v analýze, návrhu a v implementaci.

Page 3: Modelování, MDA a UML Martin Molhanec

Moje dvě cesty k MDA v letošním roce

Tvorba software 2002„UML – několik kritických poznámek„

Tvorba software 2003„Objektové metodologie – jejich užití a výklad“

Tvorba software 2004„Kritika některých výkladů objektově orientovaného paradigmatu“

Objekty 2004„Několik poznámek k porozumění objektového paradigmatu“

Tvorba software 2005„Zásady konceptuálního totálně objektově orientovaného modelování“

Objekty 2005„Konceptuální modelování“

Tvorba software 2006„Konceptuální modelování, formální základy a ontologie“

Objekty 2006„Ontologické základy konceptuální normalizace“

Tvorba software 2007„Modely, modelování, MDA a UML“

Page 4: Modelování, MDA a UML Martin Molhanec

Typy modelů

Jaké vlastně existují? Jak je klasifikovat? Proč je tolik různých modelů?

Postupné zužování původního pojmu v čase. Postupné rozšiřování původního pojmu v čase. Přenesení významu původního pojmu v čase. (Čili, dnes se tím

myslí něco jiného než před lety.) Jeden název označuje více pojmů. Jeden pojem má více názvů. Pojem se šíři díky firemní či jiné agresivitě. Je sice určitým

způsobem nesprávný, ale přesto se nakonec vžije jeho nekorektní užívání.

Pojem není správný, ale z určitých důvodů (tradice, zvyklost, hrdost) se nekorektně používá stále.

Jiné chápání daného pojmu ve světě IT a v jiných světech mimo IT.

Page 5: Modelování, MDA a UML Martin Molhanec

Typy modelů

DatovýLogickýKonceptuálníObjektovýEntitně-vztahovýRelačníOntologickýNa platformě nezávislýNa platformě závislýBusiness

FyzickýPřípadů užitíDynamickýKontextovýFunkčníProcesníDatových tokůObjektově-relačníUživatelský...

Page 6: Modelování, MDA a UML Martin Molhanec

MDE – MDA - MDD

Více názvů pro jedno paradigma Každý zdůrazňuje jeho určitý aspekt

MDE (Model-Driven Engineering)Inženýrství řízené modelem

Zdůrazňuje systematické užití modelů jako primární během životního cyklu inženýrského úsilí

Je použitelné v oblasti softwarového, datového a systémového inženýrství!

Page 7: Modelování, MDA a UML Martin Molhanec

Více názvů pro jedno paradigma Každý zdůrazňuje jeho určitý aspekt

MDA (Model-Driven Architecture)Architektura řízená modelem

Je jeden způsob návrhu architektury softwarových systémů založený na paradigmatu MDE

V roku 2001 byl přijat sdružením OMG a stal se jeho registrovanou značkou

MDE – MDA - MDD

Page 8: Modelování, MDA a UML Martin Molhanec

Více názvů pro jedno paradigma Každý zdůrazňuje jeho určitý aspekt

MDD (Model-Driven Development)Vývoj řízený modelem

Je jeden způsob vývoje softwarových systémů založený na paradigmatu MDE

V roku 2001 byl přijat sdružením OMG a stal se jeho registrovanou značkou

MDE – MDA - MDD

Všechny pojmy jsou do určité míry zaměnitelné a také se tak děje.

Page 9: Modelování, MDA a UML Martin Molhanec

Metamodel MDA

Page 10: Modelování, MDA a UML Martin Molhanec

Metamodel MDA

požadavky

business

návrh

analýza implementace

technologie

abstrakce realizace

Page 11: Modelování, MDA a UML Martin Molhanec

Hierarchie modelů v MDA

Business Model (CIM = Computation Independent Model) Tento model tvoří nejvyšší konceptuální úroveň všech

modelů. Je postaven na ontologii pro danou doménu. Je určen pro definování všech požadavků uživatele na činnost daného systému.

Platform Independent Model (PIM) Jedná se o celou řadu modelů. Tyto modely můžeme

označit za logické. Vycházejí z CIM a obsahují návrh řešení systému.

Platform Specific Model (PSM) Je logický model pro určitou platformu (objektově

orientovaná, relační, strukturovaná, objektově-relační, atp.)

Platform Description Model (PDM) Je metamodel určité platformy. Abstrakce odpovídající

konkrétnímu virtuálnímu výpočetnímu systému (relační, objektový,…)

Page 12: Modelování, MDA a UML Martin Molhanec

Hierarchie modelů v MDA

Business Model (CIM = Computation Independent Model) Tento model tvoří nejvyšší konceptuální úroveň všech

modelů. Je postaven na ontologii pro danou doménu. Je určen pro definování všech požadavků uživatele na činnost daného systému.

Platform Independent Model (PIM) Jedná se o celou řadu modelů. Tyto modely můžeme

označit za logické. Vycházejí z CIM a obsahují návrh řešení systému.

Platform Specific Model (PSM) Je logický model pro určitou platformu (objektově

orientovaná, relační, strukturovaná, objektově-relační, atp.)

Platform Description Model (PDM) Je metamodel určité platformy. Abstrakce odpovídající

konkrétnímu virtuálnímu výpočetnímu systému (relační, objektový,…)

PROBLÉMPROBLÉM

Samotná definice hierarchie modelů v rámci MDA není zcela jasná!Je předmětem četných vědeckých a odborných prací.

Není pravděpodobně jediné správné řešení.Je nutné spíše uvažovat o MDE jako o určitém paradigmatu!

Page 13: Modelování, MDA a UML Martin Molhanec

Koncepce modelů je založena na ontologii. Jedině ontologie dovoluje dostatečně přesně stanovit vlastnosti a vztahy mezi různými typy modelů.

Ontologie je metamodel pro modelování celého universa. To je však v praxi neuchopitelné.

Z ontologie je možné odvodit různé konceptuální modely, které představují různý úhel pohledu na svět. Například pohled na statickou stránku universa (datový model), pohled na chování objektů v universu (procesní model), pohled na funkcionalitu systému v universu (model požadavků), aj.

Různé konceptuální modely lze chápat jako podtypy univerzálního ontologického modelu (ontologie).

Extenze konceptuálních modelů může být rozdílná. Zajímá nás buď extenze vztažená na samotný IT systém (IT model), a nebo na všechny objekty určitého systému tento IT systém obsahující (business model).

S ohledem na určitou platformu (paradigma: relační, objektové, strukturované, aj.) se definují modely nižší úrovně (PSM) na základě restrikce intenze modelu PIM.

Modely PDM představují metamodel pro určitou konkrétní softwarovou platformu. Například: C++, Pascal, RDBMS, OODBMS, XML, atp.

Existují transformace mezi modely PIM ↔ PSM ↔ PDM.

Vlastní koncepty

Page 14: Modelování, MDA a UML Martin Molhanec

Vlastní koncepty

Koncepce modelů je založena na ontologii. Jedině ontologie dovoluje dostatečně přesně stanovit vlastnosti a vztahy mezi různými typy modelů.

Ontologie je metamodel pro modelování celého universa. To je však v praxi neuchopitelné.

Z ontologie je možné odvodit různé konceptuální modely, které představují různý úhel pohledu na svět. Například pohled na statickou stránku universa (datový model), pohled na chování objektů v universu (procesní model), pohled na funkcionalitu systému v universu (model požadavků), aj.

Různé konceptuální modely lze chápat jako podtypy univerzálního ontologického modelu (ontologie).

Extenze konceptuálních modelů může být rozdílná. Zajímá nás buď extenze vztažená na samotný IT systém (IT model), a nebo na všechny objekty určitého systému tento IT systém obsahující (business model).

S ohledem na určitou platformu (paradigma: relační, objektové, strukturované, aj.) se definují modely nižší úrovně (PSM) na základě restrikce intenze modelu PIM.

Modely PDM představují metamodel pro určitou konkrétní softwarovou platformu. Například: C++, Pascal, RDBMS, OODBMS, XML, atp.

Existují transformace mezi modely PIM ↔ PSM ↔ PDM.

Page 15: Modelování, MDA a UML Martin Molhanec

Vlastní koncepty

Koncepce modelů je založena na ontologii. Jedině ontologie dovoluje dostatečně přesně stanovit vlastnosti a vztahy mezi různými typy modelů.

Ontologie je metamodel pro modelování celého universa. To je však v praxi neuchopitelné.

Z ontologie je možné odvodit různé konceptuální modely, které představují různý úhel pohledu na svět. Například pohled na statickou stránku universa (datový model), pohled na chování objektů v universu (procesní model), pohled na funkcionalitu systému v universu (model požadavků), aj.

Různé konceptuální modely lze chápat jako podtypy univerzálního ontologického modelu (ontologie).

Extenze konceptuálních modelů může být rozdílná. Zajímá nás buď extenze vztažená na samotný IT systém (IT model), a nebo na všechny objekty určitého systému tento IT systém obsahující (business model).

S ohledem na určitou platformu (paradigma: relační, objektové, strukturované, aj.) se definují modely nižší úrovně (PSM) na základě restrikce intenze modelu PIM.

Modely PDM představují metamodel pro určitou konkrétní softwarovou platformu. Například: C++, Pascal, RDBMS, OODBMS, XML, atp.

Existují transformace mezi modely PIM ↔ PSM ↔ PDM.

Page 16: Modelování, MDA a UML Martin Molhanec

Vztahy mezi modely v naší koncepci

Konceptuální úroveň

CI M(Business Model)PI M

PSM

Code

Data

Real World(Business)

I T World

Ontologie

Fyzická úroveň

Logická úroveň

Požadavky

Procesy

PSM PSM

PDM PDM PDM

Page 17: Modelování, MDA a UML Martin Molhanec

Moje dvě cesty k MDA v letošním roce

Tvorba software 2002„UML – několik kritických poznámek„

Tvorba software 2003„Objektové metodologie – jejich užití a výklad“

Tvorba software 2004„Kritika některých výkladů objektově orientovaného paradigmatu“

Objekty 2004„Několik poznámek k porozumění objektového paradigmatu“

Tvorba software 2005„Zásady konceptuálního totálně objektově orientovaného modelování“

Objekty 2005„Konceptuální modelování“

Tvorba software 2006„Konceptuální modelování, formální základy a ontologie“

Objekty 2006„Ontologické základy konceptuální normalizace“

Tvorba software 2007„Modely, modelování, MDA a UML“

Tvorba software 2001„Tvorba webových sídel jako inženýrský úkol“

Objekty 2001„Object-Oriented Hypermedia Design Model“

Tvorba software 2002„Metodologie OOHDM, jazyk Lua a tvorba webových aplikací“

Tvorba software 2003„Metodologie orientované na tvorbu webových sídel“

Objekty 2003„WebML – Objektově orientovaná metodika pro tvorbu webových sídel“

Tvorba software 2004„Metodiky orientované na tvorbu webových sídel“

Tvorba software 2005„Metodika UWE (UML based Web Engineering)“

Tvorba software 2006„Novinky ve webových metodikách a metodika OntoWeaver“

Tvorba software 2007„Novinky ve webových metodikách a metodika WebRE/UWE“

Page 18: Modelování, MDA a UML Martin Molhanec

UWE

UWE (UML Web Engineering) Metodika navržená Norou Koch (Ludwig-Maximilians-

Universität München) v roce 2000 Hlavní rysy

použití standardní notace UML ve všech jejich modelech, přesná definice metodiky, tj. přesný a podrobný popis

způsobu vytváření všech jednotlivých modelů a specifikace omezení (constraints), které zvyšují přesnost

jednotlivých modelů. Vývojový cyklus

analýzy požadavků (requirement analysis), jejímž výsledkem je model užití (use case model),

konceptuálního návrhu (conceptual design), jehož výsledkem je konceptuální model (conceptual model),

návrhu navigace (navigation design), jehož výsledkem je model navigačního prostoru a struktury (navigation space and structure model) a

návrhu prezentace (presentation design), jeho výsledkem je prezentační model (presentational model).

Obecně lze konstatovat, že většina webových

metodik je v podstatě MDA

Page 19: Modelování, MDA a UML Martin Molhanec

UWE + MDD

Autoři metodiky UWE se snaží svojí metodiku vylepšit s pomocí koncepce MDD (Model Driven Development.)

Business Model (CIM = Computation Independent Model)

Platform Independent Design Models (PIM)

Platform Specification Models (PSM)

Page 20: Modelování, MDA a UML Martin Molhanec

UWE + MDD

Autoři metodiky UWE se snaží svojí metodiku vylepšit s pomocí koncepce MDD (Model Driven Development.)

Business Model (CIM = Computation Independent Model)

Platform Independent Design Models (PIM)

Platform Specification Models (PSM)

Page 21: Modelování, MDA a UML Martin Molhanec

UWE + MDD

Platform Independent Design Models (PIM)

Content model(model obsahu)

Navigational model(model navigace)

Process model(procesní model)

Presentation model(prezentační model)

Page 22: Modelování, MDA a UML Martin Molhanec

UWE + MDD

Autoři metodiky UWE se snaží svojí metodiku vylepšit s pomocí koncepce MDD (Model Driven Development.)

Business Model (CIM = Computation Independent Model)

Platform Independent Design Models (PIM)

Platform Specification Models (PSM)

Page 23: Modelování, MDA a UML Martin Molhanec

Vztah mezi WebRE a UWE

Jedná se vlastně o dva různé modely.Přechod mezi nimi je založen na transformaci.

Pro popis transformace se využívá QVT (Queries/Views/Transformations)

Page 24: Modelování, MDA a UML Martin Molhanec

WebRE/UWE

Práce dále pokračují Projekt MAEWA (Modellbasierte Entwicklung von

Web-Anwendungen).

Rozvoj v oblastech: Modelování webových aplikací řízených workflow. Automatizované generování webových aplikací. Validace modelů a kódu webových aplikací.

Page 25: Modelování, MDA a UML Martin Molhanec

Trendy ve webových metodikách

Snaha o využití moderních konceptů vývoje systémů, jako je například MDA, MDD, MDE.

Snaha o pevné teoretické základy postavené na ontologiích. Snaha o přesný a formální popis jednotlivých metod, pojmů a

diagramů. Například s využitím deskriptivní logiky.

Snaha o metodický přesný popis přechodů mezi jednotlivými modely v té které metodice užívanými. Například od konceptuálního modelu k modelu navigace a prezentace.

Snaha o využití standardních nástrojů jaké jsou UML, XML a další.

Snaha o pokrytí celého životního cyklu vývoje produktu.

Snaha o poskytnutí profesionálního nástroje typu CASE uživatelovi.

Page 26: Modelování, MDA a UML Martin Molhanec

Moje dvě cesty k MDA v letošním roce

Tvorba software 2002„UML – několik kritických poznámek„

Tvorba software 2003„Objektové metodologie – jejich užití a výklad“

Tvorba software 2004„Kritika některých výkladů objektově orientovaného paradigmatu“

Objekty 2004„Několik poznámek k porozumění objektového paradigmatu“

Tvorba software 2005„Zásady konceptuálního totálně objektově orientovaného modelování“

Objekty 2005„Konceptuální modelování“

Tvorba software 2006„Konceptuální modelování, formální základy a ontologie“

Objekty 2006„Ontologické základy konceptuální normalizace“

Tvorba software 2007„Modely, modelování, MDA a UML“

Tvorba software 2001„Tvorba webových sídel jako inženýrský úkol“

Objekty 2001„Object-Oriented Hypermedia Design Model“

Tvorba software 2002„Metodologie OOHDM, jazyk Lua a tvorba webových aplikací“

Tvorba software 2003„Metodologie orientované na tvorbu webových sídel“

Objekty 2003„WebML – Objektově orientovaná metodika pro tvorbu webových sídel“

Tvorba software 2004„Metodiky orientované na tvorbu webových sídel“

Tvorba software 2005„Metodika UWE (UML based Web Engineering)“

Tvorba software 2006„Novinky ve webových metodikách a metodika OntoWeaver“

Tvorba software 2007„Novinky ve webových metodikách a metodika WebRE/UWE“

MDA je logické završení snahyo správné a efektivní využití modelování ve všech fázích životního cyklu produktu.

Page 27: Modelování, MDA a UML Martin Molhanec

Moje dvě cesty k MDA v letošním roce

Tvorba software 2002„UML – několik kritických poznámek„

Tvorba software 2003„Objektové metodologie – jejich užití a výklad“

Tvorba software 2004„Kritika některých výkladů objektově orientovaného paradigmatu“

Objekty 2004„Několik poznámek k porozumění objektového paradigmatu“

Tvorba software 2005„Zásady konceptuálního totálně objektově orientovaného modelování“

Objekty 2005„Konceptuální modelování“

Tvorba software 2006„Konceptuální modelování, formální základy a ontologie“

Objekty 2006„Ontologické základy konceptuální normalizace“

Tvorba software 2007„Modely, modelování, MDA a UML“

Tvorba software 2001„Tvorba webových sídel jako inženýrský úkol“

Objekty 2001„Object-Oriented Hypermedia Design Model“

Tvorba software 2002„Metodologie OOHDM, jazyk Lua a tvorba webových aplikací“

Tvorba software 2003„Metodologie orientované na tvorbu webových sídel“

Objekty 2003„WebML – Objektově orientovaná metodika pro tvorbu webových sídel“

Tvorba software 2004„Metodiky orientované na tvorbu webových sídel“

Tvorba software 2005„Metodika UWE (UML based Web Engineering)“

Tvorba software 2006„Novinky ve webových metodikách a metodika OntoWeaver“

Tvorba software 2007„Novinky ve webových metodikách a metodika WebRE/UWE“