MoDisco Tool - Knowledge Discovery Metamodel (KDM) Implementation

MoDisco Logo

Keywords

Modernization, Knowledge Discovery Metamodel (KDM), KDM, Object Management Group (OMG), OMG


Overview

This component offers an EMF implementation of Knowledge Discovery Metamodel (KDM) specification.
This specification defines a metamodel for representing information related to existing software assets and their operational environments (referred to as the Knowledge Discovery Metamodel (KDM)). This is the first in the series of specifications related to Architecture-Driven Modernization (ADM) activity.
ADM facilitates modernization projects by insuring interoperability for exchange of data between tools provided by different vendors.

This development of this metamodel implementation is being supported by the IST European MODELPLEX project (MODELing solution for comPLEX software systems, FP6-IP 34081).

Architecture of the Knowledge Discovery Metamodel
KDM consists of 12 packages that are arranged into the following four layers:



"KDM" Architecture

  1. 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 patterns that are reused by other KDM packages. Although KDM is a meta-model that uses MOF, there is an alignment between the KDM Core and Resource Description Framework (RDF).
  2. 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. KDM Code package provides greater level of detail and is seamlessly integrated with the architecturally significant views of the software system.
    • 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
  3. 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 assests are key to enterprise software as they represent the enterprise metadata. The KDM Data package is aligned with another OMG specification, called Common Warehouse Metamodel (CWM)
  4. 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

Related Use Cases and Tools

Java 2 Standard Edition v5.0 Discoverer

The goal of Java Discoverer tool is to allow practical extractions of J2SE5 models from a Java project. The J2SE5 models could also be converted in KDM models.

CSharp Discoverer

The CSharp models could be converted in KDM models.

KDM to UML converter

The goal of KDM to UML converter plugin is to allow practical transformations of KDM models to UML models.


Documentation

KDM Installation Guide: How to install the metamodel for building KDM models.

Download

First complete version of the KDM plug-in.
All the sources contained in the archive are also available from the MoDisco SVN

General Information
Related Links