HOME

TheInfoList



OR:

Knowledge Discovery Metamodel (KDM) is a publicly available specification from the
Object Management Group The Object Management Group (OMG) is a computer industry standards consortium. OMG Task Forces develop enterprise integration standards for a range of technologies. Business activities The goal of the OMG was a common portable and interoperab ...
(OMG). KDM is a common
intermediate representation An intermediate representation (IR) is the data structure or code used internally by a compiler or virtual machine to represent source code. An IR is designed to be conducive to further processing, such as optimization and translation. A "good" ...
for existing software systems and their operating environments, that defines common
metadata Metadata is "data that provides information about other data", but not the content of the data, such as the text of a message or the image itself. There are many distinct types of metadata, including: * Descriptive metadata – the descriptive ...
required for deep
semantic integration Semantic integration is the process of interrelating information from diverse sources, for example calendars and to do lists, email archives, presence information (physical, psychological, and social), documents of all sorts, contacts (including ...
of
Application Lifecycle Management Application lifecycle management (ALM) is the product lifecycle management (governance, development, and maintenance) of computer programs. It encompasses requirements management, software architecture, computer programming, software testing, s ...
tools. KDM was designed as the OMG's foundation for
software modernization Legacy modernization, also known as software modernization or platform modernization, refers to the conversion, rewriting or porting of a legacy system to modern computer programming languages, architectures (e.g. microservices), software librarie ...
, IT portfolio management and software assurance. KDM uses OMG's
Meta-Object Facility The Meta-Object Facility (MOF) is an Object Management Group (OMG) standard for model-driven engineering. Its purpose is to provide a type system for entities in the CORBA architecture and a set of interfaces through which those types can be creat ...
to define an XMI interchange format between tools that work with existing software as well as an abstract interface (
API An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
) for the next-generation assurance and modernization tools. KDM standardizes existing approaches to
knowledge discovery Knowledge extraction is the creation of knowledge from structured (relational databases, XML) and unstructured (text, documents, images) sources. The resulting knowledge needs to be in a machine-readable and machine-interpretable format and must ...
in software engineering artifacts, also known as
software mining Software mining is an application of knowledge discovery in the area of software modernization which involves understanding existing software artifacts. This process is related to a concept of reverse engineering. Usually the knowledge obtained f ...
.


History

* In November 2003, the OMG's Architecture-Driven Modernization Task Force recommended, and the Platform Technical Committee issued, the Knowledge Discovery Metamodel (KDM) RFP. The objective of this RFP was to ''provide a common repository structure to represent information about existing software assets and their operating environment.'' The goal of KDM was defined as ''exchanging information related to transformation of existing software assets''. The RFP stated that KDM shall provide ''the ability to document existing systems, discover reusable components in existing software, support transformations to other languages and to MDA, or enable other potential transformations. The Knowledge Discovery Metamodel will also enable information about existing software artifacts to be exchanged among different tools. This will enable vendors that specialize on certain languages, platforms or types of transformations to deliver customer solutions in conjunction with other vendors.'' * The original KDM RFP is available to OMG members for download. * Throughout 2004 and 2005 12 companies collaborated to prepare a joint response to the KDM RFP. More than 30 organizations from 5 countries have contributed to the development and review of the KDM specification. * In May 2006, the Team's submission—the Knowledge Discovery Metamodel (KDM) -- moved into the finalization stage of the OMG's standards adoption process. The OMG adopted Specification for KDM became publicly available (OMG document ptc/06-06-07). * In March 2007 the KDM Finalization Task Force finished the finalization stage of the OMG's standards adoption process. The formal KDM specification KDM 1.0 is available from OMG. * The latest version of the spec was finalized in July 2011, making KDM 1.3 the most recent version. * KDM Analytics maintains open portal for KDM news, reference and education materials and tools


Overview

The goal of KDM is to ensure interoperability between tools for maintenance, evolution, assessment and modernization. KDM is defined as a metamodel that can be also viewed as an
ontology In metaphysics, ontology is the philosophical study of being, as well as related concepts such as existence, becoming, and reality. Ontology addresses questions like how entities are grouped into categories and which of these entities ex ...
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 An intermediate representation (IR) is the data structure or code used internally by a compiler or virtual machine to represent source code. An IR is designed to be conducive to further processing, such as optimization and translation. A "good" ...
which can be used, for example, for performing static analysis of existing software systems. micro-KDM is similar in purpose to a
virtual machine In computing, a virtual machine (VM) is the virtualization/emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized hardw ...
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

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 The Meta-Object Facility (MOF) is an Object Management Group (OMG) standard for model-driven engineering. Its purpose is to provide a type system for entities in the CORBA architecture and a set of interfaces through which those types can be creat ...
, there is an alignment between the KDM Core and
Resource Description Framework The Resource Description Framework (RDF) is a World Wide Web Consortium (W3C) standard originally designed as a data model for metadata. It has come to be used as a general method for description and exchange of graph data. RDF provides a variety of ...
(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
ISO standard The International Organization for Standardization (ISO ) is an international standard development organization composed of representatives from the national standards organizations of member countries. Membership requirements are given in Art ...
ISO/IEC 11404 ISO/ IEC 11404, General Purpose Datatypes (GPD), are a collection of datatypes defined independently of any particular programming language or implementation. These datatypes can be used to describe interfaces to existing libraries without having ...
(see also 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 Enterprise application integration (EAI) is the use of software and computer systems' architectural principles to integrate a set of enterprise computer applications. Overview Enterprise application integration is an integration framework comp ...
(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
metadata Metadata is "data that provides information about other data", but not the content of the data, such as the text of a message or the image itself. There are many distinct types of metadata, including: * Descriptive metadata – the descriptive ...
. The KDM Data package is aligned with another OMG specification, called Common Warehouse Metamodel (CWM)


Abstractions Layer

The Abstraction Layer represents domain and application abstractions. * Conceptual package represent business
domain knowledge Domain knowledge is knowledge of a specific, specialized discipline or field, in contrast to general (or domain-independent) knowledge. The term is often used in reference to a more general discipline—for example, in describing a software engin ...
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 The Semantics of Business Vocabulary and Business Rules (SBVR) is an adopted standard of the Object Management Group (OMG) intended to be the basis for formal and detailed natural language declarative description of a complex entity, such as a bus ...
(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

*
Object Management Group The Object Management Group (OMG) is a computer industry standards consortium. OMG Task Forces develop enterprise integration standards for a range of technologies. Business activities The goal of the OMG was a common portable and interoperab ...
* Software Metrics Metamodel is a metric specification that is based on the KDM


References


External links


OMG KDM Specification

Object Management Group (OMG)

Open KDM portal and tools from KDM Analytics

OMG Architecture-Driven Modernization Task Force



SBVR link

Software Hypermodel Blueprint Portal for Open Source Software - TSRI's instantiations of ASTM+KDM+SMM

Open Source Components from MoDisco Eclipse project
{{ISO standards Software architecture Domain-specific knowledge representation languages ISO standards