Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:miw:2009:miw09_mof_desc [2009/06/04 15:00]
jsi08
pl:miw:2009:miw09_mof_desc [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
-====== Opis ====== +~~ODT~~
-Adrian, Stanula, <​astanula@gmail.com>​\\+
  
-==== MOF_Desc ​==== +====== MIW 2009 - MOF description ====== 
-:!::!: + 
-Read the info available on [[http://www.omg.org/​mof/​|MOF]] (see also [[wp>​Meta-Object_Facility]]). +**Zrealizował:** [[astanula@gmail.com|Adrian Stanula]] (4RI
-Analyze it, and make a concise sythesis, in the form of the in wiki report, possibly as/plus an S5 present. + 
-Specifically search for: +  * related specifications,​ e.g. [[http://​www.omg.org/​xmi/​|XMI]]
-  * other related specifications,​ e.g. [[http://​www.omg.org/​xmi/​|XMI]]+
   * //tool support//   * //tool support//
   * //​tutorials//​   * //​tutorials//​
Linia 14: Linia 12:
   * future developments   * future developments
  
-====== ​Spotkania ​======+====== ​Prezentacja ​======
  
-===== 20090416 ===== +[[pl:miw:​2009:​miw09_mof_desc:​presentation|Prezentacja projektu]].
-  * [[http://​student.agh.edu.pl/​~stanula/​miw/XTT.ctr|XTT Diagrams in MOFLON]] +
-  * [[student:​msc2009_umlrep]] +
-  * tutorial do robienia ard w moflonie +
-  * mail+
  
-===== 20090326 ​===== +====== Sprawozdanie ======
-  * [[http://​www.moflon.org/​|MOFLON]] +
-  * [[http://​moflon.org/​documentation/​tutorial/​staxtutorial.pdf/​|MOFLON tutorial]] +
-  * XTT i ard, diagramy opisać w MOF+
  
-===== 20090312 ​===== +===== 1. Meta Object Facilities - opis =====
-  * [[http://​essay.utwente.nl/​57286/​1/​scriptie_Overbeek.pdf|Meta Object Facility (MOF) Book]]: strona 53-62 +
-    Tutorial opisujący budowę metamodelu dla diagramów elektrycznych. ​    +
-  * [[http://​jtc1sc32.org/​doc/​N1751-1800/​32N1764-WG2-Tutorial-OnMOF-forSC32.ppt|A Tutorial on:​ Metamodel Standardization & MOF]]   +
-  * [[http://​sky.fit.qut.edu.au/​~raymondk/​mof-xmi-exposed.pdf|MOF/​XMI Exposed]] +
-  * [[http://​www.aifb.uni-karlsruhe.de/​WBS/​sbr/​publications/​swese2006.pdf|A MOF-based Metamodel and UML Syntax for Networked Ontologies]] +
-  * [[http://​www.cin.ufpe.br/​~in0980/​2006/​slides/​Metamodeling.ppt|MOF Meta-Models and UML Profiles]]+
  
-===== 20090225 ==== 
  
-====== Projekt ======+==== 1.1. Definicja MOF'​a. ​====
  
-==== Tools ====+Meta Object Facility jest standardem Object Management Group (OMG) dla inżynierii opartej na modelowaniu. Orginalnym celem OMG było ustandaryzowanie systemów zorientowanych obiektowo, obecnie OMG skupia się na modelowaniu oraz standardach opartych o modele, zamierza ustanowić wspólny przenośny i interoperacyjny model obiektu z metodami oraz danymi wszystkich typów występujących w rozwijanych środowiskach i platformach. MOF został stworzony za pomocą UML'a ponieważ OMG było w potrzebie aby architektura oparta na metamodelach definiowała UML'a. Jest to zamknięta architektura oparta o metamodele która pozwala na zbudowanie zupełnej i ścisłej architektury opartej o metamodele. Jest to również specyficzny język służący do definiowania metamodelów,​ zapewnia również definiowanie struktur lub abstrakcyjnej składni danych językowych,​ każdego elementu modelu w każdej warstwie w sposób ściśle łączący się z elementem modelu warstwy wyższej. W skrócie MOF używa notacji MOF::​Classes do definiowania pojęć na poziomie warstwy metamodelu. 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. 
 + 
 + 
 + **OMG zdefiniowało 2 warianty MOF'​a:​** 
 + 
 +  * EMOF: podstawowy MOF, 
 +  * CMOF: rozszerzenie uzupełniające dla języka MOF 
 + 
 + 
 +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"//​. 
 + 
 + 
 +{{:​pl:​miw:​2009:​miw09_mof_desc:​files:​mof_structure.png|}} 
 + 
 + 
 +---- 
 +==== 1.2. 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. 
 + 
 +COBRA jest również standardem zdefiniowanym przez Objec Management Group (OMG). 
 + 
 + 
 +**Definicja warst 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. 
 + 
 +Na rysunku została przedstawiona hierarchia opisanych warstw na przykładzie opisania klasy "​Student"​ za pomocą języka UML oraz jej zdefiniowania:​ 
 + 
 + 
 +{{:​pl:​miw:​2009:​miw09_mof_desc:​files:​mof_layers.png|}} 
 + 
 +---- 
 +==== 1.3. Jak używać MOF'a. ==== 
 + 
 +Przede wszystkim powinniśmy opisać typ  naszego systemu i jest to robione za pomocą języka MOF. 
 + 
 +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,​  
 +  * różnorodność,​ 
 +  * agregację,​ 
 +  * kompozycje. 
 + 
 +Potem powinniśmy opisać klasy oraz asocjacje:​ 
 + 
 +  * Klasy powinny opisywać koncepty dla danego typu systemu. 
 +  * Asocjacje powinny opisywać relacje między pojęciami w systemie. 
 + 
 +Na końcu wszystkie te akcje powinny zawierać się w jednym pakiecie. 
 + 
 + 
 + 
 + 
 +===== 2. Narzędzia =====
  
 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. 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.
Linia 45: Linia 90:
 {{:​pl:​miw:​2009:​miw09_mof_desc:​files:​moflon.jpg|}} {{:​pl:​miw:​2009:​miw09_mof_desc:​files:​moflon.jpg|}}
  
-==== Tutorials ==== 
  
-=== Przykład wykorzystania MOFLON'​a do definiowania diagramów XTT ===+[[http://​www.moflon.org/​|Oficjalna strona projektu MOFLON]] 
 + 
 +===== 3. Tutoriale ===== 
 + 
 +==== 3.1. Przykład wykorzystania MOFLON'​a do definiowania diagramów XTT ====
  
 W programi wybieramy File->​New MOFLON Project. Po utworzeniu nowego projektu tworzymy w nim pakiet o nazwie XTT. W pakiecie XTT tworzymy kolejny pakiet o nazwie Diagrams. W nim stworzymy podstawowe klasy z które wchodzą w skład każdego diagramu. Są to klasy: Diagram, Node oraz Edge. Aby utworzyć nową klasę klikamy prawym na pakiecie Diagrams i z menu kontekstowego wybieramy opcję: ​ „Create new MOF class” po czym w oknie dialogowym wybieramy nazwę dla klasy, jej widoczność,​ czyli czy jest to klasa public, private albo undefined. Jeśli klasa ma być klasą abstrakcyjną zaznaczamy odpowiedni checkbox. W ten sposób tworzymy powyższe 3 klasy. W programi wybieramy File->​New MOFLON Project. Po utworzeniu nowego projektu tworzymy w nim pakiet o nazwie XTT. W pakiecie XTT tworzymy kolejny pakiet o nazwie Diagrams. W nim stworzymy podstawowe klasy z które wchodzą w skład każdego diagramu. Są to klasy: Diagram, Node oraz Edge. Aby utworzyć nową klasę klikamy prawym na pakiecie Diagrams i z menu kontekstowego wybieramy opcję: ​ „Create new MOF class” po czym w oknie dialogowym wybieramy nazwę dla klasy, jej widoczność,​ czyli czy jest to klasa public, private albo undefined. Jeśli klasa ma być klasą abstrakcyjną zaznaczamy odpowiedni checkbox. W ten sposób tworzymy powyższe 3 klasy.
Linia 76: Linia 124:
 {{:​pl:​miw:​2009:​miw09_mof_desc:​files:​xttdiagrams.jpg|}} {{:​pl:​miw:​2009:​miw09_mof_desc:​files:​xttdiagrams.jpg|}}
  
-Cały projekt w można pobrać tutaj: [[http://student.agh.edu.pl/​~stanula/miw/XTT.ctr|XTT Diagrams in MOFLON]]+Cały projekt w można pobrać tutaj: [[https://ai.ia.agh.edu.pl/​wiki/_media/pl:​miw:​2009:​miw09_mof_desc:​files:​xtt.rar|XTT Diagrams in MOFLON]] 
 + 
 +---- 
 +==== 3.2. Tutorial opisujący budowę metamodelu dla diagramów elektrycznych. ==== 
 + 
 +[[https://​ai.ia.agh.edu.pl/​wiki/​_media/​pl:​miw:​2009:​miw09_mof_desc:​files:​scriptie_overbeek.pdf|Meta Object Facility (MOF) Book]]: strona 53-62
  
-=== Tutorial opisujący budowę metamodelu dla diagramów elektrycznych. === 
  
-[[http://​essay.utwente.nl/​57286/​1/​scriptie_Overbeek.pdf|Meta Object Facility (MOF) Book]]: strona 53-62 
  
-====== Sprawozdanie ====== 
-====== Prezentacja ====== 
 ====== Materiały ====== ====== Materiały ======
-  * [[http://​www.omg.org/​technology/​documents/​modeling_spec_catalog.htm|Catalog of OMG Modeling and Metadata Specifications]] + 
-  ​* ​[[http://​essay.utwente.nl/​57286/​1/​scriptie_Overbeek.pdf|Meta Object Facility (MOF) Book]] +[[pl:miw:​2009:​miw09_mof_desc:​materials/|Materiały i pliki]] 
-  * [[http://​www.omg.org/​docs/​html/​06-01-01/​Output/​06-01-01.htm|Meta Object Facility (MOF) Core Specification]]+ 
 + 
 + 
 + 
 + 
 + 
pl/miw/2009/miw09_mof_desc.1244120452.txt.gz · ostatnio zmienione: 2019/06/27 15:57 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0