Metamodel odkrywania wiedzy

Knowledge Discovery Metamodel ( KDM ) to publicznie dostępna specyfikacja z Object Management Group (OMG). KDM to wspólna pośrednia reprezentacja istniejących systemów oprogramowania i ich środowisk operacyjnych, która definiuje wspólne metadane wymagane do głębokiej integracji semantycznej narzędzi do zarządzania cyklem życia aplikacji . KDM został zaprojektowany jako podstawa OMG do modernizacji oprogramowania , zarządzania portfelem IT i zapewniania oprogramowania. KDM korzysta z narzędzia Meta-Object firmy OMG zdefiniowanie formatu wymiany XMI między narzędziami, które współpracują z istniejącym oprogramowaniem, a także abstrakcyjnego interfejsu ( API ) dla narzędzi zapewniających i modernizacyjnych nowej generacji. KDM standaryzuje istniejące podejścia do odkrywania wiedzy w artefaktach inżynierii oprogramowania, znane również jako eksploracja oprogramowania .

Historia

  • W listopadzie 2003 r. grupa zadaniowa ds. modernizacji opartej na architekturze OMG zaleciła, a komitet techniczny platformy wydał zapytanie ofertowe dotyczące metamodelu odkrywania wiedzy (KDM). Celem tego zapytania ofertowego było zapewnienie wspólnej struktury repozytorium do reprezentowania informacji o istniejących zasobach oprogramowania i ich środowisku operacyjnym. Cel KDM został zdefiniowany jako wymiana informacji związanych z transformacją istniejących zasobów oprogramowania . W zapytaniu ofertowym stwierdzono, że KDM zapewni możliwość dokumentowania istniejących systemów, odkrywania komponentów wielokrotnego użytku w istniejącym oprogramowaniu, obsługiwania transformacji na inne języki i MDA lub umożliwiania innych potencjalnych transformacji. Metamodel wykrywania wiedzy umożliwi również wymianę informacji o istniejących artefaktach oprogramowania między różnymi narzędziami. Umożliwi to dostawcom specjalizującym się w określonych językach, platformach lub typach transformacji dostarczanie rozwiązań dla klientów we współpracy z innymi dostawcami.
  • Oryginalne zapytanie ofertowe KDM jest dostępne do pobrania dla członków OMG.
  • W latach 2004 i 2005 12 firm współpracowało przy przygotowaniu wspólnej odpowiedzi na zapytanie ofertowe KDM. Ponad 30 organizacji z 5 krajów przyczyniło się do rozwoju i przeglądu specyfikacji KDM.
  • W maju 2006 r. zgłoszenie zespołu — Metamodel odkrywania wiedzy (KDM) — weszło w fazę finalizacji procesu przyjmowania standardów przez OMG. Przyjęta przez OMG specyfikacja dla KDM stała się publicznie dostępna (dokument OMG ptc/06-06-07).
  • W marcu 2007 KDM Finalization Task Force zakończył etap finalizacji procesu przyjmowania standardów przez OMG. Formalna specyfikacja KDM KDM 1.0 jest dostępna w firmie OMG.
  • Najnowsza wersja specyfikacji została sfinalizowana w lipcu 2011 r., dzięki czemu KDM 1.3 jest najnowszą wersją.
  • KDM Analytics utrzymuje otwarty portal z wiadomościami KDM, materiałami referencyjnymi i edukacyjnymi oraz narzędziami

Przegląd

Celem KDM jest zapewnienie interoperacyjności pomiędzy narzędziami do utrzymania, ewolucji, oceny i modernizacji. KDM definiuje się jako metamodel , który może być również postrzegany jako ontologia opisująca kluczowe aspekty wiedzy związane z różnymi aspektami oprogramowania korporacyjnego. Wsparcie KDM oznacza inwestycję w ekosystem KDM – rozwijającą się, opartą na otwartych standardach, spójną społeczność dostawców narzędzi, usługodawców i komponentów komercyjnych.

KDM reprezentuje całe systemy oprogramowania korporacyjnego, a nie tylko kod. KDM to reprezentacja relacji encji o szerokim spektrum, służąca do opisywania istniejącego oprogramowania. KDM reprezentuje elementy strukturalne i behawioralne istniejących systemów oprogramowania. Kluczową koncepcją KDM jest kontener : podmiot, który jest właścicielem innych podmiotów. Dzięki temu KDM może reprezentować istniejące systemy z różnymi stopniami szczegółowości.

KDM definiuje precyzyjne podstawy semantyczne do reprezentowania zachowań, tzw. mikro-KDM . Zapewnia pośrednią reprezentację o wysokiej wierności , którą można wykorzystać na przykład do przeprowadzenia analizy statycznej istniejących systemów oprogramowania. micro-KDM ma podobny cel do maszyny wirtualnej dla KDM, chociaż KDM nie jest modelem wykonywalnym ani modelem ograniczeń, ale reprezentacją istniejących artefaktów do celów analizy.

KDM ułatwia stopniową analizę istniejących systemów oprogramowania, w ramach której analizowana jest początkowa reprezentacja KDM, a kolejne fragmenty wiedzy są wyodrębniane i ujawniane jako transformacja KDM do KDM wykonywana całkowicie w przestrzeni technologicznej KDM. Etapy procesu ekstrakcji wiedzy mogą być wykonywane przez narzędzia i mogą obejmować analityka.

KDM to jednolita, niezależna od języka i platformy reprezentacja. Jego mechanizm rozszerzalności umożliwia dodawanie wiedzy specyficznej dla domeny, aplikacji i implementacji.

Architektura

Metamodel Knowledge Discovery składa się z 12 pakietów ułożonych w 4 warstwy.

Pakiety KDM są ułożone w następujące cztery warstwy:

warstwa infrastruktury

Warstwa infrastruktury KDM składa się z pakietów Core , kdm i Source , które zapewniają mały wspólny rdzeń dla wszystkich innych pakietów, model inwentaryzacji artefaktów istniejącego systemu i pełną identyfikowalność między elementami meta-modelu jako linkami z powrotem do źródła kod artefaktów, jak również jednolity mechanizm rozszerzalności. Pakiet Core określa kilka wzorców, które są ponownie wykorzystywane przez inne pakiety KDM. Chociaż KDM jest meta-modelem wykorzystującym Meta-Object Facility , istnieje zgodność między KDM Core i Resource Description Framework (RDF).

Warstwa elementów programu

Warstwa Elementów Programu składa się z pakietów Code i Action.

  • Pakiet Code reprezentuje elementy programistyczne określone przez języki programowania, na przykład typy danych, procedury, klasy, metody, zmienne itp. Ten pakiet ma podobny cel do wspólnego metamodelu aplikacji (CAM) z innej specyfikacji OMG, zwanej Enterprise Integracja aplikacji (EAI). Pakiet KDM Code zapewnia wyższy poziom szczegółowości i jest bezproblemowo zintegrowany z ważnymi architektonicznie widokami systemu oprogramowania. Reprezentacja typów danych w KDM jest zgodna z normą ISO ISO/IEC 11404 (patrz również Typy danych ogólnego przeznaczenia ).
  • Pakiet Action przechwytuje niskopoziomowe elementy zachowania aplikacji, w tym szczegółową kontrolę i przepływ danych między instrukcjami. Połączenie pakietu Code i Action zapewnia pośrednią reprezentację o wysokiej wierności każdego składnika systemu oprogramowania przedsiębiorstwa

warstwa zasobów

Warstwa zasobów reprezentuje środowisko operacyjne istniejącego systemu oprogramowania. Jest to związane z obszarem Enterprise Application Integration (EAI).

  • Pakiet platformy reprezentuje środowisko operacyjne oprogramowania, związane z systemem operacyjnym, oprogramowaniem pośredniczącym itp., w tym przepływy sterowania między komponentami określone przez platformę środowiska uruchomieniowego
  • Pakiet UI reprezentuje wiedzę związaną z interfejsami użytkownika istniejącego systemu oprogramowania
  • Pakiet zdarzeń reprezentuje wiedzę związaną ze zdarzeniami i zachowaniem stanu przejścia istniejącego systemu oprogramowania
  • Pakiet danych reprezentuje artefakty związane z trwałymi danymi, takie jak pliki indeksowane, relacyjne bazy danych i inne rodzaje przechowywania danych. Zasoby te są kluczowe dla oprogramowania korporacyjnego, ponieważ reprezentują metadane korporacyjne . Pakiet danych KDM jest zgodny z inną specyfikacją OMG, zwaną Common Warehouse Metamodel (CWM)

Warstwa abstrakcji

Warstwa abstrakcji reprezentuje abstrakcje domen i aplikacji.

  • Pakiet koncepcyjny reprezentuje wiedzę z domeny biznesowej i reguły biznesowe, o ile informacje te można wydobywać z istniejących aplikacji. Pakiety te są zgodne z inną specyfikacją OMG o nazwie Semantics of Business Vocabulary and Business Rules (SBVR)
  • Pakiet struktury opisuje elementy metamodelu reprezentujące logiczną organizację systemu oprogramowania na podsystemy, warstwy i komponenty
  • kompilacji reprezentuje widok inżynieryjny systemu oprogramowania

Zobacz też

Linki zewnętrzne