Ontology Grounded Metalanguage

Z Wikipedii, wolnej encyklopedii

OGML (ang. Ontology Grounded Metalanguage, Metajęzyk zagnieżdżony w ontologii) – metajęzyk podobny do MOF[1] (ang. Meta-Object Facility(inne języki)). MOF to standard dla inżynierii modelowej, którego celem jest zapewnienie zestawu interfejsów za pomocą których można manipulować i tworzyć interfejsy CORBA (ang. Common Object Request Broker Architecture, Powszednia architektura obsługi żądań pośrednika). Celem powstania OGML było zajęcie się trudnościami MOF: architekturą modelowania liniowego, niejednoznacznymi konstrukcjami i niezrozumiałą/niejasną architekturą.

OGML zapewnia zagnieżdżoną architekturę modelowania z trzema stałymi warstwami (modelu, języka i metajęzyka). Konstrukcja ta obrazuje w jaki sposób różne modele są ze sobą zgodne i jak mogą być obsługiwane. Konstrukcje w OGML dobierane są zgodnie z wytycznymi ontologii, co pozwala jasno rozróżnić właściwości/obiekty od klasy/obiekty od siebie. Wybór ten jest źródłem pewnych anomalii w definicji np. relacji.

Ponadto, OGML zawiera wyraźne pojęcie tworzenia instancji[2]: elementy modelu kodują jego typ, a języki definiują semantykę tworzenia instancji. Te dodatkowe informacje są potrzebne w architekturze modelowania względnego, aby dało się rozróżnić widoki strukturalne i koncepcyjne modeli, na przykład: możemy chcieć oglądać model UML (Unified Modeling Language) jako instancję języka obiektowego i instancję modelu klasy (Clabject[3]). Zapewniając ten podwójny widok na warstwie metamodelu i warstwie językowej, OGML zapewnia bardzo precyzyjną architekturę modelowania i ekspresyjny sposób radzenia sobie z modelami.

Przypisy[edytuj | edytuj kod]

  1. C. Atkinson, T. Kuhne, Model-driven development: a metamodeling foundation, „IEEE Software”, 20 (5), 2003, s. 36–41, DOI10.1109/ms.2003.1231149, ISSN 0740-7459 [dostęp 2020-01-26].
  2. Alfons Laarman, Ivan Kurtev, Ontological Metamodeling with Explicit Instantiation, Berlin, Heidelberg: Springer Berlin Heidelberg, 2010, s. 174–183, DOI10.1007/978-3-642-12107-4_14, ISBN 978-3-642-12106-7 [dostęp 2020-01-26].
  3. oop – What is a clabject? [online], Stack Overflow [dostęp 2020-01-26].

Linki zewnętrzne[edytuj | edytuj kod]