Knowledge Discovery Metamodel

Source: Wikipedia, the free encyclopedia.

Knowledge Discovery Metamodel (KDM) is a publicly available specification from the

knowledge discovery in software engineering artifacts, also known as software mining
.

History

Overview

The goal of KDM is to ensure interoperability between tools for maintenance, evolution, assessment and modernization. KDM is defined as a

ontology
for describing the key aspects of knowledge related to the various facets of enterprise software. KDM support means investment into the KDM ecosystem – a growing open-standard based cohesive community of tool vendors, service providers, and commercial components.

KDM represents entire enterprise software systems, not just code. KDM is a wide-spectrum

entity-relationship
representation for describing existing software. KDM represents structural and behavior elements of existing software systems. The key concept of KDM is a container: an entity that owns other entities. This allows KDM to represent existing systems at various degrees of granularity.

KDM defines precise semantic foundation for representing behavior, the so-called micro-KDM. It provides a high-fidelity intermediate representation which can be used, for example, for performing static analysis of existing software systems. micro-KDM is similar in purpose to a virtual machine for KDM, although KDM is not an executable model, or a constraint model, but a representation of existing artifacts for analysis purposes.

KDM facilitates incremental analysis of existing software systems, where the initial KDM representation is analyzed and more pieces of knowledge are extracted and made explicit as KDM to KDM transformation performed entirely within the KDM technology space. The steps of the knowledge extraction process can be performed by tools, and may involve the analyst.

KDM is the uniform language- and platform- independent representation. Its extensibility mechanism allows addition of domain-, application- and implementation-specific knowledge.

Architecture

Knowledge Discovery Metamodel consists of 12 packages arranged into 4 layers.

KDM packages are arranged into the following four layers:

Infrastructure Layer

The KDM Infrastructure Layer consists of the Core, kdm, and Source packages which provide a small common core for all other packages, the inventory model of the artifacts of the existing system and full traceability between the meta-model elements as links back to the source code of the artifacts, as well as the uniform extensibility mechanism. The Core package determines several of the patterns that are reused by other KDM packages. Although KDM is a meta-model that uses Meta-Object Facility, there is an alignment between the KDM Core and Resource Description Framework (RDF).

Program Elements Layer

The Program Elements Layer consists of the Code and Action packages.

  • The Code package represents programming elements as determined by programming languages, for example data types, procedures, classes, methods, variables, etc. This package is similar in purpose to the Common Application Meta-model (CAM) from another OMG specification, called Enterprise Application Integration (EAI). KDM Code package provides greater level of detail and is seamlessly integrated with the architecturally significant views of the software system. Representation of datatypes in KDM is aligned with
    General Purpose Datatypes
    ).
  • The Action package captures the low level behavior elements of applications, including detailed control- and data flow between statements. Code and Action package in combination provide a high-fidelity intermediate representation of each component of the enterprise software system

Resource Layer

The Resource Layer represents the operational environment of the existing software system. It is related to the area of

Enterprise Application Integration
(EAI).

  • Platform package represents the operating environment of the software, related to the operating system, middleware, etc. including the control flows between components as they are determined by the runtime platform
  • UI package represents the knowledge related to the user interfaces of the existing software system
  • Event package represents the knowledge related to events and state-transition behavior of the existing software system
  • Data package represents the artifacts related to persistent data, such as indexed files, relational databases, and other kinds of data storage. These assets are key to enterprise software as they represent the enterprise
    Common Warehouse Metamodel
    (CWM)

Abstractions Layer

The Abstraction Layer represents domain and application abstractions.

  • Conceptual package represent business domain knowledge and business rules, insofar as this information can be mined from existing applications. These packages are aligned with another OMG specification, called Semantics of Business Vocabulary and Business Rules (SBVR)
  • Structure package describes the meta-model elements for representing the logical organization of the software system into subsystems, layers and components
  • Build package represents the engineering view of the software system

See also

References

  1. ^ "document lt/03-11-04". Omg.org. Retrieved 2019-08-05.
  2. ^ "KDM 1.0". Omg.org. 2018-08-01. Retrieved 2019-08-05.
  3. ^ "Overview of the OMG Knowledge Discovery Metamodel (KDM) Spec". Kdmanalytics.com. Retrieved 2019-08-05.

External links