Integracja na wyższym poziomie

UML

Integracja na wyższym poziomie

MOF

Notacja UML to język graficznego opisu modelu obiektowego. Jest wykorzystywana do wizualizacji, specyfikacji, konstrukcji i dokumentacji poszczególnych elementów systemu. Szybko zdobyła popularność w analizie i projektowaniu obiektowym. Oparta na dotychczasowych praktykach modelowania obiektowego stała się powszechnie stosowanym sposobem opisu architektury systemu niezależnie od zastosowanego języka implementacji. Z modelu zapisanego w UML można automatycznie generować API dla wybranych języków obiektowych.

UML podlega dalszemu rozwojowi. Obecnie specyfikacja języka w wersji 1.4 wydaje się odpowiednio bogata jedynie do przedstawiania w pełni struktury systemu. Rozszerzenie Action Semantics, dotyczące opisu behawioralnego systemu, ma być włączone do przygotowanej obecnie wersji 2.0. Jest ono niezbędne w podejściu MDA do pełnego wyrażenia modelu systemu, automatycznego przekształcania modeli i tworzenia kodu aplikacji.

MOF

Opis modelu systemu z wykorzystaniem UML czy oparcie rozwiązań na CORBA, pomimo swoistego uniezależnienia się od języka implementacji, nakłada ograniczenia. W przypadku gdy platforma implementacji ma być niezależna od rozwiązania, pojawia się potrzeba tworzenia opisu modelu na wyższym poziomie abstrakcji. Tu znajduje zastosowanie opis języka modelowania tzw. meta-metamodel. Dlatego OMG opracowała Meta Object Facility - specyfikację Ű Ű definiującą zasady opisu języka modelowania.

MOF umożliwia tworzenie własnych języków modelowania, specyficznych dla wybranej kategorii zastosowań, lub definiowanie rozszerzeń do istniejących języków modelowania. Ze względu na to, że zarówno rozszerzenia, jak i ewentualne nowe języki są zgodne ze specyfikacją MOF, stają się automatycznie dostępne do dalszego wykorzystania w systemach współpracujących z repozytorium modeli MOF.

MOF zakłada czterowarstwową architekturę modelowania. Każda warstwa reprezentuje różne poziomy danych lub metadanych:

  • M0 - warstwa danych - przedstawia rzeczywiste dane, np. instancje obiektów, dane w bazie relacyjnej, dokument XML

  • M1 - warstwa modelu - zwana też warstwą metadanych, opisuje format i znaczenie danych, np. model klas danego systemu, schemat bazy relacyjnej, definicję dokumentu XML - DTD

  • M2 - warstwa metamodelu - zwana też warstwą meta-metadanych, definiuje strukturę i składnię warstwy do opisywania modelu, np. specyfikacje: UML, SQL, XML; warstwa ta jest postrzegana jako definicja języka modelowania

  • M3 - warstwa meta-metamodelu - opisuje strukturę i składnię metamodelu (języka modelowania); to swoisty metajęzyk modelowania do tworzenia innych języków modelowania - na tym poziomie następuje trwałe przywiązanie do specyfikacji

    Oczywiście można sobie wyobrazić istnienie kolejnych warstw wznoszących opis na coraz wyższe poziomy abstrakcji. Uznano jednak, że poziom M3 jest wystarczająco pojemny do opisywania istniejących i przyszłych systemów informatycznych. Na tym poziomie można stworzyć repozytorium opisu języków modelowania.

    Repozytorium to umożliwia systemom wzajemne poznanie struktur i semantyk niezbędne do nawiązania współpracy. Jeśli podczas modelowania wykorzystano język, którego opis umieszczono w repozytorium, wówczas inny system może "poznać" sposób opisu tego modelu, odczytać model i rozpocząć współdziałanie.

    Celem istnienia repozytorium MOF jest zapewnienie systemom możliwości odkrycia i manipulowania metadanymi. Poprzez możliwość wymiany metainformacji uzyskuje się semantyczną wymianę danych, co prowadzi do łatwiejszej integracji systemów. Powstają już rozwiązania pozwalające na realizację dostępu, składowania i specyfikowania metainformacji. Jednym z nich jest Java API for Metadata (JMI).


  • TOP 200