[[
✎ pl:miw:miw08_umlandardxtt:notatki
]]
aiWiki
Pokaż stronę
Ostatnie zmiany
Indeks
Zaloguj
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
FIXME ======= Brudnopis ======= ====== XML Metadata Interchange (XMI) ====== XML Metadata Interchange (XMI) to standard dla wymiany metadanych przy użyciu XMLa. XMI może być używany dla jakichkolwiek metadanych, których metamodel da się wyrazić w specyfikacji MOF. Metamodel jest zapisywany w postaci XML Document Type Definitions (DTD), zaś model jest zapisywany w XMI zgodnie z regułami określonymi w specyfikacji mapowania XMI (XMI Mapping Specification). Najczęściej XMI jest używany jako format zapisu i wymiany modeli UMLa pomiędzy różnymi narzędziami (jest to możliwe, gdyż UML jest oficjalnie zdefiniowany w metamodelu UML zgodnym z MOF). XMI może zostać użyty także do zapisu aplikacji (np. Java, C++), komponentów (np. EJB), baz danych (np. CWM). XMI może definiować: [za: 1] * reprezentację obiektów i atrybutów, * powiązania między obiektami (w tym samym pliku lub międzyplikowe), * referencje do innych obiektów poprzez wykorzystanie identyfikatorów, * wersjonowanie obiektów i ich definicji, * walidację dokumentów XMI przy pomocy DTD i XML Schema. > Należy podkreślić, że w obecnej postaci służy zapisowi modelu, a nie diagramów, > gdyż nie determinuje postaci wizualnej wykraczającej poza formalną treść modelu. [2] ===== Uproszczony przykład reprezentacji klasy ===== Uproszczony przykład reprezentacji klasy zapisanej przy pomocy XMLa: [schemat za: 3] {{http://student.agh.edu.pl/~kkluza/xmi/przyklad1.png|Klasa w XMI}} Reprezentacja powyższej klasy w XMI wygenerowana przy użyciu StarUML: <code xml> <?xml version = "1.0" encoding = "UTF-8"?> <XMI xmi.version = "1.1" xmlns:UML="href://org.omg/UML/1.3"> <XMI.content> <UML:Model xmi.id="UMLModel" name="Design Model"> <UML:Class xmi.id="UMLClass" name="Osoba" visibility="public" namespace="UMLModel"> <UML:Classifier.feature> <UML:Attribute xmi.id="UMLAttribute.6" name="imie" owner="UMLClass"/> <UML:Attribute xmi.id="UMLAttribute.7" name="nazwisko" owner="UMLClass"/> <UML:Attribute xmi.id="UMLAttribute.8" name="pesel" owner="UMLClass"/> </UML:Classifier.feature> </UML:Class> </UML:Model> </XMI.content> </XMI> </code> ===== Przykład dwóch klas powiązanych asocjacją ===== {{http://student.agh.edu.pl/~kkluza/xmi/przyklad2_asocjacja.png|2klasyZAsocjacja}} Przykład dokumentu XMI dla dwóch klas powiązanych asocjacją z zaznaczonymi rolami i licznością (dokument wygenerowany przy użyciu StarUML): <code xml> <?xml version = "1.0" encoding = "UTF-8"?> <XMI xmi.version = "1.1" xmlns:UML="href://org.omg/UML/1.3"> <XMI.header> <XMI.metamodel xmi.name = "UML" xmi.version = "1.3"/> </XMI.header> <XMI.content> <UML:Model xmi.id="UMLProject.1"> <UML:Namespace.ownedElement> <UML:Package xmi.id="UMLPackage.2" name="Package1" namespace="UMLProject.1"> <UML:Namespace.ownedElement> <UML:Class xmi.id="UMLClass.3" name="Firma" namespace="UMLPackage.2" participant="UMLAssociationEnd.6"/> <UML:Class xmi.id="UMLClass.4" name="Osoba" namespace="UMLPackage.2" participant="UMLAssociationEnd.7"/> <UML:Association xmi.id="UMLAssociation.5" name="" namespace="UMLPackage.2"> <UML:Association.connection> <UML:AssociationEnd xmi.id="UMLAssociationEnd.6" name="pracodawca" aggregation="none" targetScope="instance" visibility="public" ordering="unordered" isNavigable="true" association="UMLAssociation.5" type="UMLClass.3"> <UML:AssociationEnd.multiplicity> <UML:Multiplicity xmi.id="X.8"> <UML:Multiplicity.range> <UML:MultiplicityRange xmi.id="X.9" lower="1" upper="-1" multiplicity="X.8"/> </UML:Multiplicity.range> </UML:Multiplicity> </UML:AssociationEnd.multiplicity> </UML:AssociationEnd> <UML:AssociationEnd xmi.id="UMLAssociationEnd.7" name="pracownik" aggregation="none" targetScope="instance" visibility="public" ordering="unordered" isNavigable="true" association="UMLAssociation.5" type="UMLClass.4"> <UML:AssociationEnd.multiplicity> <UML:Multiplicity xmi.id="X.10"> <UML:Multiplicity.range> <UML:MultiplicityRange xmi.id="X.11" lower="-1" upper="-1" multiplicity="X.10"/> </UML:Multiplicity.range> </UML:Multiplicity> </UML:AssociationEnd.multiplicity> </UML:AssociationEnd> </UML:Association.connection> </UML:Association> </UML:Namespace.ownedElement> </UML:Package> </UML:Namespace.ownedElement> </UML:Model> </XMI.content> </XMI> </code> === Źródła === 1. http://www.omg.org/docs/formal/03-05-02.pdf \\ 2. http://www.zsk.ict.pwr.wroc.pl/zsk/repository/dydaktyka/wzsr/mda.pdf \\ 3. http://www.openmdx.org/documents/introduction/htmlsingle/openMDX_Introduction.html#F-OMG-MDA-2 \\ ====== MetaObject Facility (MOF) ====== MetaObject Facility (MOF) to specyfikacja definiująca zasady opisu języka modelowania (tzw. metamodel) dla wszystkich specyfikacji tworzonych przez Object Management Group (OMG). MOF sprawia, że wywodzące się z niej specyfikacje są kompatybilne ze sobą. Definiuje również standard przechowywania metamodeli oraz modeli. Poniższy diagram ukazuje relacje między modelem, metamodelem, a językiem [za 2]: {{http://student.agh.edu.pl/~kkluza/xmi/metamodel_model_jezyk.png|Metamodel, model a język}} > MOF umożliwia budowanie własnych języków modelowania specyficznych dla wybranej kategorii > zastosowań lub definiowanie rozszerzeń do istniejących języków modelowania. Ponieważ zarówno > same rozszerzenia, jak i ewentualne nowe języki są zgodne ze specyfikacją MOF, dlatego też stają się > automatycznie dostępne do dalszego wykorzystania w systemach współpracujących z repozytorium modeli MOF. [3] ===== Czterowarstwowa architektura metadanych ===== Specyfikacja MOF została zaprojektowana jako najwyższa warstwa w hierarchii metamodeli OMG. Hierarchia ta posiada 4 warstwy: * M3 - warstwa meta-metamodelu, * M2 - warstwa metamodelu, * M1 - warstwa modelu, * M0 - warstwa informacyjna. Każda warstwa reprezentuje różne poziomy danych lub meta danych. ^ Warstwa w hierarchii: ^ Co zawiera warstwa: ^ Przykłady: [za 3] ^ | | specyfikacja języka modelowania (metamodelu) | Meta-Object Facility (MOF) | | | model metadanych (specyfikacja języka) | specyfikacja SQL, specyfikacja UML, specyfikacja XML | | | metadane, czyli opis formatu i znaczenia danych | schemat bazy danych, model klas, definicja dokumentu XML (DTD) | | | rzeczywiste dane, które chcemy opisać | dane w bazie danych, instancje obiektów, dokument XML | === Źródła === 1. dokumentacja MOF \\ 2. http://essay.utwente.nl/57286/1/scriptie_Overbeek.pdf \\ 3. http://adlejman.w.interia.pl/mda.pdf \\
pl/miw/miw08_umlandardxtt/notatki.1208197103.txt.gz
· ostatnio zmienione: 2019/06/27 15:59 (edycja zewnętrzna)
Pokaż stronę
Poprzednie wersje
Menadżer multimediów
Do góry