BLU AGE 2009 Edition Agile Model Transformation

Similar documents
Introduction to MDE and Model Transformation

The Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling

The Eclipse Modeling Framework and MDA Status and Opportunities

Practical Model-Driven Development with the IBM Software Development Platform

Modelling in Enterprise Architecture. MSc Business Information Systems

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

3rd Lecture Languages for information modeling

Bachelor of Engineering, IT Thesis

* Corresponding Author

Open Source egovernment Reference Architecture. Cory Casanave, President. Data Access Technologies, Inc.

Knowledge Discovery: How to Reverse-Engineer Legacy Systems

Model Driven Engineering (MDE)

Modellierung operationaler Aspekte von Systemarchitekturen. Master Thesis presentation. October 2005 March Mirko Bleyh - Medieninformatik

Overview of lectures today and Wednesday

Model driven Engineering & Model driven Architecture

Transformation of the system sequence diagram to an interface navigation diagram

DEV427 MODEL-DRIVEN DEVELOPMENT USING PowerDesigner. Xiao-Yun WANG PowerDesigner Chief Architect

Object Management Group Model Driven Architecture (MDA) MDA Guide rev. 2.0 OMG Document ormsc/

<is web> Information Systems & Semantic Web University of Koblenz Landau, Germany

MDSE USE CASES. Chapter #3

IBM Rational Software Architect

Model Driven Architecture

innoq Deutschland GmbH innoq Schweiz GmbH D Ratingen CH-6330 Cham Tel Tel

We manage the technology that lets you manage your business.

Introduction to Dependable Systems: Meta-modeling and modeldriven

Index. business modeling syntax 181 business process modeling 57 business rule 40

Small is Beautiful Building a flexible software factory using small DSLs and Small Models

Second OMG Workshop on Web Services Modeling. Easy Development of Scalable Web Services Based on Model-Driven Process Management

EGF Tutorial. Benoît Langlois Thales/EPM. EGF Tutorial by Thales; made available under the EPL v1.0

Defining Domain-Specific Modeling Languages

MDA. SOA = Model Driven SOA

Application Discovery and Enterprise Metadata Repository solution Questions PRIEVIEW COPY ONLY 1-1

IP Log for modeling.mdt.modisco Release Indigo

The 60-Minute Guide to Development Tools for IBM Lotus Domino, IBM WebSphere Portal, and IBM Workplace Applications

Object-Oriented Analysis and Design Using UML (OO-226)

CISC836: Models in Software Development: Methods, Techniques and Tools

NooJ Graphical User Interfaces Modernization

index_ qxd 7/18/02 11:48 AM Page 259 Index

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations

ADT: Eclipse development tools for ATL

MOMOCS D2.1 XIRUP S UPPORTING T OOLS R EQUIREMENTS. Model driven Modernisation of Complex Systems. Dissemination Level: Work package:

Start Up Benoît Langlois / Thales Global Services Eclipse (EMFT) EGF 2011 by Thales; made available under the EPL v1.

Executive Summary. Round Trip Engineering of Space Systems. Change Log. Executive Summary. Visas

SCOS-2000 Technical Note

Introduction to EGF. Benoît Langlois / Thales Global Services.

INF5120 Model-Based System Development

Comparative analysis of MDA tools

SERES: ASEMANTICREGISTRY FOR ENTERPRISE SERVICES. Geir Jevne 9.juni 2011

EGF Creation Review. Benoît Langlois - Thales/TCS/EPM. April 22, 2009

Workpackage 15: DBE Business Modeling Language. Deliverable D15.5: BML Editor Final Release

The Model Driven Architecture. Dennis Wagelaar Viviane Jonckers Software Languages Lab

WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES. Introduction. Production rules. Christian de Sainte Marie ILOG

ACM Technical Solution Architecture - Development and Deployment of ACM Solutions- ECM Fast Start Workshop 1Q2011

Building JavaServer Faces Applications

INF5120 and INF9120 Modelbased System development

IP Log for modeling.mdt.modisco

Tools to Develop New Linux Applications

QoS-aware model-driven SOA using SoaML

WP 15: DBE Business Modeling Language

Deliverable D4.2. SHAPE MDE Toolset User s Guide

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1

Business Processes and Rules An egovernment Case-Study

An Introduction to MDE

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

What Is UML? The Goals and Features of UML. Overview. The goals of UML

Model Driven Engineering (MDE) and Diagrammatic Predicate Logic (DPL)

Science of Computer Programming. Aspect-oriented model-driven skeleton code generation: A graph-based transformation approach

Model Driven Development Unified Modeling Language (UML)

challenges in domain-specific modeling raphaël mannadiar august 27, 2009

This paper is more intended to set up a basis for a constructive discussion than to offer definitive answers and closed solutions.

Event Metamodel and Profile (EMP) Proposed RFP Updated Sept, 2007

Model Driven Ontology: A New Methodology for Ontology Development

JBPM Course Content. Module-1 JBPM overview, Drools overview

OMG Specifications for Enterprise Interoperability

Managing Learning Objects in Large Scale Courseware Authoring Studio 1

High-Fidelity analysis of software systems

Generation Chain. Benoît Langlois Thales/EPM. EGF Tutorial Generation Chain by Thales; made available under the EPL v1.

16 Evaluation Framework for Model-Driven Product Line Engineering Tools

From Models to Components. Rapid Service Creation with

Science of Computer Programming. A model-driven process for the modernization of component-based systems

MDA & Semantic Web Services Integrating SWSF & OWL with ODM

Notation Standards for TOGAF:

A Metamodel independent approach for Conflict Detection to support distributed development in MDE. Mostafa Pordel A THESIS

Applying MDE Tools at Runtime: Experiments upon Runtime Models

Conceptual Modeling and Specification Generation for B2B Business Processes based on ebxml

J2EE Application Development : Conversion and Beyond Osmond Ng

Platform Variability. Dennis Wagelaar Software Languages Lab

Workpackage 15: DBE Business Modeling Language

IBM Rational Business Developer (RBD) is a development environment that

MDA and Integration of Legacy Systems: An Industrial Case Study

PROJECT PERIODIC REPORT

Ontology Summit2007 Survey Response Analysis. Ken Baclawski Northeastern University

Object Security. Model Driven Security. Ulrich Lang, Rudolf Schreiner. Protection of Resources in Complex Distributed Systems

Qualitative ROI for MDA Projects. Ken Sayers - Chubb and Son, Inc. OMG UML Workshop San Francisco, CA October 21-24, 2002

Proposed Revisions to ebxml Technical Architecture Specification v ebxml Business Process Project Team

Enterprise Architect. User Guide Series. Domain Models

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE

Raising the Level of Development: Models, Architectures, Programs

Model handling with EMF

TOPCASED. Toolkit In OPen source for Critical Applications & SystEms Development

Transcription:

BLU AGE 2009 Edition Agile Model Transformation Model Driven Modernization for Legacy Systems 1 2009 NETFECTIVE TECHNOLOGY -ne peut être copiésans

BLU AGE Agile Model Transformation Agenda Model transformation global overview Enterprise application generation offering's BLU AGE Legacy Modernization Reverse modeling for Legacy application BLU AGE reverse modeling definitions, techniques and patterns Case study :"Scafruit" BLU AGE Reverse Modeling principle KDM as fundamental technique for reverse modeling MDA and Ontology development Knowledge base Global overview of the transformation process BLU AGE Model Driven Modernization case study Reverse modeling case study: Process and Steps Reverse modeling case study: Demonstration Workshop presentation: case study labs 2 2009 NETFECTIVE TECHNOLOGY -ne peut être copiésans

BLU AGE Agile Model Transformation global overview BLUAGE is an MDA compliant software workbench Built-On Eclipse, that instantly transforms your Models into Agile Java EE and.net business applications BLU AGE transforms UML PIM models - representing business processes, functional specifications and business rules into Enterprise Applications PIM Model Creation UML2 & BPMN Modelers MagicDraw, Rational Platform-Independent Models (PIMs) are free from technical concerns while Platform-Specific Models (PSMs) are annotated with platform-oriented configuration information to generate end users applications UML2 Models PIM models are realized with available modeling market tools such as, Rational, Magic Draw, Enterprise Architect... BLU AGE Model Transformation 3 2009 NETFECTIVE TECHNOLOGY -ne peut être copiésans l'autorisation expresse de NETFECTIVE TECHNOLOGY

BLU AGE Agile Model Transformation: Build Edition PIM Model Creation The BLU AGE Build Edition is an integrated modeling environment built-on Eclipse to validate PIM models and generate in real time Enterprise Application Key features: Model Driven Architecture support which transforms user friendly model elements into business application Real time application generation & deployment within Eclipse or Eclipse-based IDE BLU AGE Model Transformation Integrated PIM Validation Environment BLU AGE Build Edition Iterative process UML2 model debugger (Executing the generated application & debugging it from model) Generated Application WYSIWYG Editor to map UI HTML mockups with models Validation of input models by using OCL 2.x constraints that are related to the meta model classes. 2009 NETFECTIVE TECHNOLOGY -ne peut être copiésans l'autorisation expresse de NETFECTIVE TECHNOLOGY 4 4

BLU AGE Agile Model Transformation: Deliver Edition PIM Model Creation Integrated Generation Environment to fully generate your applications into the majority of existing and forthcoming frameworks and web-applications servers thanks to a large range of customizable transformation cartridges (BSPs) Key features: Fully generate production applications compliant with your custom frameworks and architecture BLU AGE Model Transformation Integrated Environment for PSM / PDM Generation BLU AGE Deliver Edition BLU AGE Software Factory use 'standard' cartridges (BSP BLU AGE Shared Plug-ins) for common enterprise architectures support BLU AGE Software Factory to create and modify your own BSPs and improve generated application performance Manage your projects, iteration and generation workflows through a single interface Generated Application Application delivery Life Cycle Management. 5

BLU AGE Agile Model Transformation: Screenshots IBM Rational RSM for PIM creation BLU AGE Build Edition for PIM validationc 6

BLU AGE Agile Model Transformation Agenda Model transformation global overview Enterprise application generation offering's BLU AGE Legacy Modernization Reverse modeling for Legacy application BLU AGE reverse modeling definitions, techniques and patterns Case study :"Scafruit" BLU AGE Reverse Modeling principle KDM as fundamental technique for reverse modeling MDA and Ontology development Knowledge base Global overview of the transformation process BLU AGE Model Driven Modernization case study Reverse modeling case study: Process and Steps Reverse modeling case study: Demonstration Workshop presentation: case study labs 7 2009 NETFECTIVE TECHNOLOGY -ne peut être copiésans

Architecture Driven Modernization for Legacy Systems What is a Legacy System? A piece of software that you have inherited, and is valuable to you What are typical problems with legacy systems? Original developers not available Outdated development methods used Extensive patches and modifications have been made Missing or outdated documentation How to deal with Legacy? New or changing requirements will gradually degrade original design unless extra development effort is spent to adapt the structure What about Reverse Engineering? Reverse Engineering is the process of analyzing a subject system to identify the system s components and their inter-relationships and create representations of the system in another form or at a higher level of abstraction. Modernization is the examination and alteration of a subject system to reconstitute it in a new form and the subsequent implementation of the new form. 8 2009 NETFECTIVE TECHNOLOGY -ne peut être copiésans l'autorisation expresse de NETFECTIVE TECHNOLOGY

BLU AGE Legacy Modernization Edition Java OO applications Non OO applications BLU AGE Legacy Modernization Edition provides tools and methods with an integrated reverse engineering framework plugged into Eclipse BLU AGE enables effective and efficient ways to treat models as firstclass assets in reverse engineering process BLU AGE has the ability to extract PIM models from existing legacy application in order to generate application source code conforming to new technical architecture design using Java EE or.net without writing any line of code BLU AGE PIM Model Extraction Integrated Reverse Modeling Environment BLU AGE Reverse Modeling BLU AGE is able to modernize legacy applications by software analysts, derive extracted PIMs into PSMs and link these PSMs to PDMs by generating set of transformations, while technical cartridges are designed by software architects BLU AGE Model Driven Modernization 9

BLU AGE Legacy Modernization principles BLU AGE provides a generic and extensible approach to model extraction and discovery from multiple types of legacy systems BLU AGE uses a model-based approach and a metamodel-driven methodology Match different requirements systems modernization, data integration, etc Use models operations and facilities: transformations, weavings,extractions, etc support methodology for defining extensions of the core metamodel and plug-ins to enable manipulating models, business rules, services, data, etc Legacy application PSM Model Architecture Driven Modernization PIM Model. Full exploration support. Identify and convert all resources. Structure inventory and dependencies. Locate architectural aspects and layers MDA Model Transformation PSM Models. Agile model transformation. App Source code generation. Java EE and.net cartridges. Transaction and batch support BLU AGE Reverse Modeling : Global transformation process 10

BLU AGE relies on standards and extensible frameworks BLU AGE provides a common tool box (discoverers, model transformation, model weaving, etc) based on generic and extensible frameworks and core metamodel (OMG specification) Apply common principles and frameworks supported by a wide user community to the extraction and further management of models from legacy systems Use as much as possible OMG standards and Eclipse projects in the modernization process Eclipse Modeling Framework ATL model-to-model transformation AMW model-weaving 11

BLU AGE Legacy Modernization : Case study description The SCAFRUITS application case study is used by Intermarche one of the main European companies in the retail sector This application is concerned with the provisioning of fruits and vegetables from referenced suppliers as well as the sale and distribution of these items to franchised outlets all over Europe. Shops interact by means of the SCAFRUITS application to have the best products at the best prices in the best conditions The application design and initial utilization start in 1994 using IBM VisualAge PACBASE (approach based on the PACBASE Access Facility (PAF), COBOL-like language respecting the VAP design guidelines). It has continuously evolved from this period. At this time, from a business viewpoint, the application is composed of 85 Transactional Processes (TPs) and 23 batch processes About its technical facets, the size of the application is estimated to be equal to 3M of LoC, 600 programs, 400 screens, 200 batch programs, 300 potential users, 48,000 product references with only 2,000 active references at a time. There are 350,000 transactions per day and 100,000 created order lines per day This case study project has a functional scope perimeter for product referencing and ordering including 15 TPs and 15 batch (business) processes restructured under the form of objects, in the OO sense and their links into instances of classes and associations in the PIMs outputs 12

BLU AGE Legacy Modernization : Case study screenshots 13

BLU AGE Agile Model Transformation Agenda Model transformation global overview Enterprise application generation offering's BLU AGE Legacy Modernization Reverse modeling for Legacy application BLU AGE reverse modeling definitions, techniques and patterns Case study :"Scafruit" BLU AGE Reverse Modeling principle KDM as fundamental technique for reverse modeling MDA and Ontology development Knowledge base Global overview of the transformation process BLU AGE Model Driven Modernization case study Reverse modeling case study: Process and Steps Reverse modeling case study: Demonstration Workshop presentation: case study labs 14 2009 NETFECTIVE TECHNOLOGY -ne peut être copiésans

KDM as fundamental technique for reverse modeling Knowledge Discovery Metamodel (KDM, OMG specification) used as intermediate representation data structure in the BLU AGE software modernization process. The goal of KDM is to ensure the construction of a collection of concepts within a certain domain that can be also viewed as an Ontology. These concepts are pieces of knowledge extracted and made explicit. Build Data Micro KDM All KDM domains Structure Conceptual Platform Event UI KDM is used in the process of understanding and evolving existing software assets, IT portfolio management and software assurance. 15 2009 NETFECTIVE TECHNOLOGY -ne peut être copiésans l'autorisation expresse de NETFECTIVE TECHNOLOGY

Ontology to define concepts and explicit domain knowledge Ontology defines the common terms and concepts (meaning) used to describe and represent an area of knowledge. Ontology can range in expressivity from a Taxonomy (knowledge with minimal hierarchy or a parent/child structure), to a Thesaurus (words and synonyms), to a Conceptual Model (with more complex knowledge), to a Logical Theory (with very rich, complex, consistent and meaningful knowledge) Ontology contains: Class, Semantic, Contract, Transactional, Wrapper, Entity 16

MDA and Ontology development Ontology is used to separate implementations for each platform with explicit domain knowledge This explicit knowledge can be used to reason about the extent of platform dependencies and the restructuring refinement transformations Setting up ontology is used in MDA by applying platform-driven model for Automatic discovery of Legacy application, domain model, and platform dependencies management for technical architecture including Cobol mainframe, Enterprise Java,.NET,... O3 Meta Meta Ontology Meta Ontology M3 Meta Object Facility ODM Reverse Engineering Conceptual Model A Restructuring: Evaluation Redesign Conceptual Model B Forward Engineering O2 Ontology Schema Individuals O1 Ontology modeling space M2 M1 individuals Classes, properties, restrictions MOF modeling space Implemented Ontology A Implemented Ontology B 17 2009 NETFECTIVE TECHNOLOGY -ne peut être copiésans l'autorisation expresse de NETFECTIVE TECHNOLOGY

Ontology Platform Models example Platform dependency constraint ontology description Platform instance ontology Generated platform ontology Jar2UML Java Ontology j2me-pp-1_0.uml J2SE 1.2 Ontology J2EE 1.2 Ontology J2ME 1.2 Ontology UML2Ontology.atl j2me-pp-1_0.owl 18

Global overview of the transformation process Reasoning Tools Interpretation Tools Management Tools Navigation Tools BLU AGE provides tools that automatically process searching on large data volumes for patterns, that can be considered as data knowledge which involves understanding existing software artifacts Legacy Application Resources Extraction Ontology OWL PSM Model. Analyze. Populate. Query. Generate Classify taxonomy, create intersection classes for constraint sets and infer class hierarchy Generate UML Profiles configuration against platform specification sort by platform constraint hierarchy and platform ontology Provide configuration rules and annotated metaclasses with platform constraints KDM Source Architecture UML Profiles generation BLU AGE also provides tools to chain together and combine model transformations in order to produce new transformations, and implement new operations on models PSM Models for Legacy modernization PIM Model Target Architecture BLU AGE transformation MetaModel ATL transformation generation 19

BLU AGE Agile Model Transformation Agenda Model transformation global overview Enterprise application generation offering's BLU AGE Legacy Modernization Reverse modeling for Legacy application BLU AGE reverse modeling definitions, techniques and patterns Case study :"Scafruit" BLU AGE Reverse Modeling principle KDM as fundamental technique for reverse modeling MDA and Ontology development Knowledge base Global overview of the transformation process BLU AGE Model Driven Modernization case study Reverse modeling case study: Process and Steps Reverse modeling case study: Demonstration Workshop presentation: case study labs 20 2009 NETFECTIVE TECHNOLOGY -ne peut être copiésans

Reverse modeling case study: transformation goal The overall goal of the case study modernization is to replace existing application by a renewed application based on Java EE The modernization process is based on the implementation principles and details of the reverse components, with the generation of text based on a semi-natural language, instance of metamodel dedicated to the way to use VisualAge PACBASE (VAP) using ATL model transformation 21

Reverse modeling case study: transformation process VAP Extraction XML Files Transactional Processes (TP) Batch Processes Dialogues Discovery phase Facing complex system, the best strategy is to divide and transform it into a set of models which can be homogeneously handled. 22

Reverse modeling case study: transformation workflow From the COBOL legacy programs we extract XML files representing 100% of the contained information (with comments) The total discovery and understanding method may be quite expensive in time of execution and in space to store resulting models The solution is to discover only part of the COBOL program (Data structure alone, Control structure alone ) involving human experts and highly rely on different kinds of ATL transformations Macro TP Model extraction Micro TP Model extraction Annotated Macro & Micro TP Model 23

Reverse modeling case study: transformation workflow Macro TP view model and annotated Macro TP model Micro TP view model and annotated Micro TP model 24

Reverse modeling case study: transformation workflow Global TP view model Final BLU AGE PIM extracted model 25

Reverse modeling case study: transformation steps 1/3 Meta model layering The technical approach is based on the PACBASE Access Facility (PAF) component of VAP M4 M3 Ecore PAF Table s structure The Reverse modeling process relies on predefined metamodels starting from Ecore. The PAF tables structure is thus represented as an instance of the Ecore metalanguage M2 M1 PAF Table Records in PAF tables Conforms to (instance of) Once the complex organization of VAP is captured, PAF logic s metatypes are members of this metamodel. By definition, the Table metatype for instance conforms to the EClass Ecore metatype M0 Parsed Cobol Code Ecore core metatypes in EMF 26

Reverse modeling case study: transformation steps 2/3 The case study table structure is an instance of the Table metatype at the PAF Table s structure level. PAF is thus used to populate records PAF tables PAF Queries Extractions are composed of several XML files. Several ATL transformations are next run in sequence to re-create, explicitly, the dependencies between VAP entities Rough XML data resulting from PAF queries The PAF persistence model is computed by means of an ATL transformation from the PAF extraction model. The same applies for the PAF associations Rough XML data from PAF PAF Extraction PAF Persistence PAF Associations VAP information processing 27

Reverse modeling case study: transformation steps 3/3 The PAF associations model complements the PAF persistence model by supplying reverse navigability. PAF persistence and PAF associations samples The reverse engineering method is in fact divided into three phases: The populating phase contributes to have rich cartographic view of an VAP application based on the transformation processes The interpretation phase which to parse the COBOL-like code conforms to predefined metamodel. The publishing phase based on VAP models and BLU AGE models VAP-oriented COBOL 28

Reverse modeling case study: transformation project structure BLU AGE Reverse modeling project for one transaction process BLU AGE Reverse modeling Meta models used for the transformations processes BLU AGE generated PIM models for Java EE publication 29

Reverse modeling case study: transformation details BLU AGE Interpretation workflow BLU AGE extraction workflow BLU AGE Representation workflow 30

For more information: http://www.bluage.com 31