~~SLIDESHOW~~ ====== MOF description ====== === Meta Object Facilities === Zrealizował: [[astanula@gmail.com|Adrian Stanula]] (4RI) ===== Definicja MOF'a. ===== \\ * Meta Object Facility jest standardem Object Management Group (OMG) dla inżynierii opartej na modelowaniu * Celem OMG było ustandaryzowanie systemów zorientowanych obiektowo * MOF został stworzony za pomocą UML'a oraz definiuje UML'a * MOF może być używany do definiowania metamodeli zorientowanych obiektowo takich jak UML jak również niezorientowanych obiektowo jak sieci Petriego czy web serwisy. ===== Pakiety EMOF i CMOF ===== \\ * EMOF: podstawowy MOF * CMOF: rozszerzenie uzupełniające dla języka MOF \\ {{ pl:miw:2009:miw09_mof_desc:files:mof_structure.png }} ===== Pakiety EMOF i CMOF ===== \\ \\ MOF definiuje cele obu pakietów jako: //"Podstawowym celem pakietu EMOF jest możliwość budowania prostych metamodeli przy użyciu prostych koncepcji oraz wspieranie rozszerzeń (poprzez mechanizm rozszerzenia klas) dla bardziej skomplikowanych metamodeli przy użyciu CMOF"//. ===== Struktura czterowarstwowa MOF'a ===== \\ \\ MOF składa się z architektury 4-warstowej, zapewnia warstwę metamodelu oraz górną warstwę zwaną warstwą M3 i poza tą warstwą opisuje zasady tworzenia i manipulowania modelami i metamodelami przez zdefiniowanie interfejsu COBRA (Common Object Requesting Broker Architecture) do opisu tych operacji. ===== Struktura czterowarstwowa MOF'a ===== \\ - **warstwa M3**: w tej warstwie istnieje model M3 który definiuje język używany przez MOF do budowania metamodeli zwanych modelami M2. - **warstwa M2**: tutaj występuje model M2 który opisuje elementy warstwy M1 i jej modeli M1, te modele mogą być opisane np. za pomocąUML'a. - **warstwa M1**: tutaj występują modele M1 którymi dla przykładu może być model UML'a. - **warstwa M0**: ta warstwa jest ostatnią warstwą zwaną warstwą danych i jest używana do opisu obiektów świata rzerzywistego. ===== Struktura czterowarstwowa MOF'a ===== {{ pl:miw:2009:miw09_mof_desc:files:mof_layers.png?350x438 }} ===== Jak używać MOF'a ===== \\ Chcemy opisać nasz system za pomocą języka MOF: \\ 1. Powinniśmy zapewnić podstawowy zakres UML'a który zapewni bogaty "język" do opisu takich typów systemów jak: * referencje, * operacje, * wyjątki, * klasy i dziedziczenie, * klasy abstrakcyjne, ===== Jak używać MOF'a ===== \\ * różnorodność, * agregację, * kompozycje. \\ 2. Powinniśmy opisać klasy oraz asocjacje: * Klasy powinny opisywać koncepty dla danego typu systemu. * Asocjacje powinny opisywać relacje między pojęciami w systemie. ===== Narzędzia - MOFLON ===== \\ MOFLON jest darmowym narzędziem do modelowania przy użyciu języka jakim jest MOF. Jest to narzędzie w którym możemy modelować w łatwy sposób za pomocą edytora graficznego. Interfejs programu przedstawiony jest na rysunku poniżej. {{ pl:miw:2009:miw09_mof_desc:files:moflon.jpg?360x216 }} ===== Przykład struktury modelu w MOFLONIE ===== \\ {{ pl:miw:2009:miw09_mof_desc:files:xttdiagrams.jpg }} ===== Materiały ===== * [[https://ai.ia.agh.edu.pl/wiki/_media/pl:miw:2009:miw09_mof_desc:files:scriptie_overbeek.pdf|Meta Object Facility (MOF) Book]] * [[http://www.omg.org/technology/documents/modeling_spec_catalog.htm|Catalog of OMG Modeling and Metadata Specifications]] * [[http://www.omg.org/docs/html/06-01-01/Output/06-01-01.htm|Meta Object Facility (MOF) Core Specification]] * [[https://ai.ia.agh.edu.pl/wiki/_media/pl:miw:2009:miw09_mof_desc:files:tutorial_on_mof.ppt|A Tutorial on: Metamodel Standardization & MOF]] * [[https://ai.ia.agh.edu.pl/wiki/_media/pl:miw:2009:miw09_mof_desc:files:mof-xmi-exposed.pdf|MOF/XMI Exposed]] * [[https://ai.ia.agh.edu.pl/wiki/_media/pl:miw:2009:miw09_mof_desc:files:swese2006.pdf|A MOF-based Metamodel and UML Syntax for Networked Ontologies]] * [[https://ai.ia.agh.edu.pl/wiki/_media/pl:miw:2009:miw09_mof_desc:files:metamodeling.ppt|MOF Meta-Models and UML Profiles]] * [[https://ai.ia.agh.edu.pl/wiki/_media/pl:miw:2009:miw09_mof_desc:files:staxtutorial.pdf|MOFLON Tutorial]] * [[https://ai.ia.agh.edu.pl/wiki/_media/pl:miw:2009:miw09_mof_desc:files:xmip.pdf|Report of MOF/XMI]]