To jest stara wersja strony!


Opis

Adrian, Stanula, astanula@gmail.com

MOF_Desc

:!::!: Read the info available on MOF (see also Meta-Object_Facility). Analyze it, and make a concise sythesis, in the form of the in wiki report, possibly as/plus an S5 present. Specifically search for:

  • other related specifications, e.g. XMI
  • tool support
  • tutorials
  • case studies
  • success stories + criticism
  • future developments

Spotkania

20090416

20090326

20090225

Projekt

Tools

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.

Oficjalna strona projektu MOFLON

Tutorials

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. Kolejnym krokiem jest stworzenie podstawowych typów danych takich jak Number, String oraz Boolean. W pakiecie XTT tworzymy pakiet i nadajemy mu nazwę Primitives. Klikamy prawym klawiszem na pakiecie Primitives i wybieramy z menu kontekstowego „Create MOF primitive type”. W oknie dialogowym wpisujemy nazwę typu, wybieramy czy jest to typ prywatny czy publiczny oraz mapujemy na odpowiedni typ Javy wybierając go z listy rozwijanej na dole okna dialogowego. Tworzymy typ podstawowy o nazwie Number o widoczności publicznej (public) oraz mapujemy go na typ Integer z Javy (InfrastructureLibrary.Core.PrimitiveTypes.Integer). Analogicznie tworzymy 2 typy podane powyżej. Pakiet Primitives powinien wyglądać następująco.

Po stworzeniu pakietu Primitives należy go zaimportować do pakietu Diagrams. Wchodzimy do pakietu XTT, zaznaczamy pakiet Diagrams, po czym przy wciśniętym klawiszu [ctrl] zaznaczamy pakiet Primitives. Po zaznaczeniu pakietów wybieramy z menu przycisk „import” po czym pakiet zaznaczony jako drugi zostaje zaimportowany od pierwszego. Do klasy Node dodajemy atrybuty określające położenie węzła. Klikamy prawym na klasie Node i z menu kontekstowego wybieramy opcję: „Add MOF attribute”. Nadajemy mu nazwę „x” oraz widoczność public. Parametry Lower bound i Upper bound ustawiamy na 1 gdyż nie chcemy aby to był atrybut tablicowy. Typ tego elementu ustawiamy na Number. Analogicznie dodajemy atrybut „y”.

Wiemy że diagramy składają się z węzłów i z krawędzi. Musimy więc połączyć te klasy w ten sposób ze sobą. Musimy więc dodać pomiędzy nimi asocjacje. Wybieramy klasę Diagram a potem przy wciśniętym klawiszu [ctrl] wybieramy klasę Node, po czym z opcji programu wybieramy „Create MOF association”. Nadajemy nazwę asocjacji np. „DiagramContainsNodes” po czym przechodzimy dalej. Dla każdej strony asocjacji musimy wybrać nazwę oraz liczebność. Dla strony klasy Diagram wybieramy nazwę np. „containingDiagram” oraz liczebność 1 czyli oba parametry Upper i Lower bound ustawiamy na 1. Dla strony węzła wybieramy nazwę np. „containedNode” oraz ustawiamy liczebność na wartości od 0 do nieskończoności (ustawiamy parametr Lower bound na 0 oraz Upper bound na *). Zatwierdzamy kreator tworzenia asocjacji przyciskiem „Finish”. Analogicznie tworzymy asocjację pomiedzy klasą Diagram oraz Edge. Podobnie tworzymy asocjację miedzy klasami Node i Edge nadając im np. nazwy „NodeReferencesIncomingEdges” oraz „NodeReferencesOutgoingEdges” tak jak to jest pokazane na rysunku poniżej.

W pakiecie XTT tworzymy strukturę pakietów oraz importy w powyżej opisany sposób tak jak pokazano na rysunku poniżej.

W nowo stworzonym pakiecie Tables tworzymy klasy i połączenia tak jak pokazano na rysunku poniżej wzorując się na poleceniach wykorzystanych przy tworzeniu pakietu Diagrams.

Definiujemy pakiet „AbstractXTTDiagrams”. Najpierw otwieramy pakiet po czym z widoku po lewej stronie przeciągamy do niego 3 klasy: Diagram, Node oraz Edge. Tworzymy nową klasę abstrakcyjną „AbstractXTTDiagram” po czym zaznaczamy tą klasę oraz przy wciśniętym klawiszu [ctrl] zaznaczamy klasę Diagram. Przy zaznaczonych obu klasach wybieramy z menu opcję „Create MOF generalization” po czym utworzone zostaje połączenie pomiędzy dwoma wybranymi klasami oznaczające że klasa AbstractXTTDiagram dziedziczy po klasie Diagram. Analogicznie tworzymy inne klasy oraz wszystkie połączenia w sposób podany powyżej oraz tak jak w pakiecie Diagrams aby końcowy wynik wyglądał tak jak na rysunku poniżej. Do tabeli TableContainer tworzymy referencje wybierając z opcji „Create MOF reference”.

Na końcu tworzymy strukturę klas dla pakietu XTTDiagrams tak jak pokazano na rysunku poniżej.

Cały projekt w można pobrać tutaj: XTT Diagrams in MOFLON

Tutorial opisujący budowę metamodelu dla diagramów elektrycznych.

Sprawozdanie

Prezentacja

Materiały

pl/miw/2009/miw09_mof_desc.1244120803.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