- Model Driven Modernization -


Model Driven Architecture vs. Architecture Driven Modernization
The need to manage large integrated software systems has prompted the development of many automated tools designed to assist in portfolio management and system architecture design. Generally these tools adhere to the standards for software modeling, as defined by the Object Management Group (OMG) for Model Driven Architecture (MDA). Now the OMG is focusing on the need to modernize existing software assets. The OMG Architecture Driven Modernization Task Force (ADM TF) has defined the following four goals:

  • The ultimate goal - Revitalization of Existing Applications
  • Make existing applications more agile
  • Leverage existing OMG modeling standards and the MDA initiative
  • Consolidate best practices leading to successful modernization

http://adm.omg.org/

Certainly OMG efforts toward creating industry standards will facilitate the confluence of independent approaches to legacy modernization. But when all such approaches are combined will they provide the full cycle of modernization services and levels of automation desired? Imagine a set of automated tools that can disassemble a legacy software system, (separating services, business rules, and data), transform the components in high-level models, reconfigure these models using the best-practices from Model Driven Architecture (MDA), and finally regenerate a modern system. Is this even possible? Or do the laws of software entropy preclude such a goal from ever being achieved?

Transformation is an Augmentation Strategy that includes:

  • · Understanding application and data architecture and functionality
  • · Making legacy systems more reliable and adaptable
  • · Extracting and rationalizing data definitions, data and business rules
  • · Redesigning and reusing legacy rules and data within the context of strategic architecture
  • William M. Ulrich, (April 2005)

    The Gap
    MDA standards already support High-level business models for new software development. However successful Model Driven Modernization (MDM) must include low-level models representing software artifacts below the procedure level. Furthermore model transformation technology must provide both top-down and bottom-up capabilities.

    "We are addressing a big gap between methodologies and tools that are available for developing new software — for example, the OMG MDA — and the total lack of tools and methodologies that help you to be successful with your existing code." (William M. Ulrich, 2003).

    How can we best fill the ‘gap’ illustrated in the diagram above? Abstract syntax trees (AST) have long been used to model software artifacts, so to say there is “a total lack of tools” is not precisely correct. Admittedly, such models are typically fine-grained and specific to the constructs of a particular software language. There has however been some success filling the ‘gap’ when bottom-up transformations lift an AST into a language independent model.

    Automated Legacy Modernization
    For most companies, the attempt to commercialize automated legacy modernization has failed. The few companies still in this business space have generally lowered their expectations for the level of automation. The exception is The Software Revolution, Inc (TSRI), where current levels of automation exceed 99.9%. Their technology design involves a language independent model, appropriately called the Intermediate Object Model (IOM). As a result of this design, TSRI modernization capabilities include eight legacy source languages (with more in development) and four modern target languages. These 32 possible language pairs are reduced to 12 pathways because all transformations go through the IOM.

    Current Automated Model Driven Capability
    The diagram below illustrates the current capability for automated Model Driven Modernization (MDM). Service Oriented Architecture (SOA) and Model Driven Architecture (MDA) considerations are employed in the modernization effort. However, an up arrow from the IOM to the Business Model is still void.

    The Model Driven Modernization (MDM) of The Software Revolution, Inc (TSRI) involves a direct transformation of code to facilitate an intermediate testing phase. Once the accuracy of these initial model transformations is verified, the models are modified within the IOM via a second wave of transformation rules to enhance the architecture of the modernized legacy application. Service Oriented Architecture (SOA) is concerned with the interoperability and agility between system modules, which requires separation of services. So while the current capability for automated MDM does not provide AST models to be lifted up to the Business Model level, architectural concerns are satisfied with the enhanced N-tier architecture. And the interoperability of the modernized legacy system with other Commercial Off The Shelf (COTS) modules is assured.

    TSRI’s complete modernization tool set, JANUSTM, is capable of documentation, transformation, re-factoring, and web-enablement of legacy applications. Most of the work to provide these services is done within the IOM. Therefore most of these services are fully automated, (exceeding 99.9%). However, some services are semi-automated, particularly those requiring domain expertise.

    Extensibility Provides the Path to the Future
    One tool within the JANUSTM suite of tools is called SYN2XSD. Essentially this tool converts IOM files into XML Schema Description (XSD) files. This transformation capability was developed by TSRI in response to customer requests for the exportation of models into existing UML tools such as Rational Rose Architect, Eclipse, xmlSPY, etc. With this extensibility and the ability to interface with tools adhering to OMG standards, we can predict that automated software tools will fill the ‘gap’ one day soon.