Evaluating Compuware OptimalJ as an MDA tool

Slides:



Advertisements
Similar presentations
The role of OCL in the Model Driven Architecture Jos Warmer Klasse Objecten
Advertisements

Apache Struts Technology
Model Driven Architecture Efficiently react to Changing Architectural and Functional Requirements Stainless Steel Models for Red Rusting Technologies Wim.
1 Model-driven development of SOA with Web services – using QVT technology Master thesis by Berge Stillingen Department of Informatics, University of Oslo.
Formal Techniques in Software Engineering Universiteit AntwerpenIntroduction 1.1 Formal Techniques in Software Engineering 3de BAC Informatica Chapter.
OMG‘s MDA: An Overview copyright © 2001, MATHEMA AG OMG‘s MDA: An Overview OMG‘s MDA: An Overview Markus Völter
MDA and QVT in Together Architect 2006  Pavel Kobiakov, Borland Software Corporation  06 December 2005.
MDA – Model Driven Architecture: An introduction Franco Flore Senior Product Manager.
Amit, Keyur, Sabhay and Saleh Model Driven Architecture in the Enterprise.
Secure Middleware (?) Patrick Morrison 3/1/2006 Secure Systems Group.
7 July 2003 MDA presentation Dennis Wagelaar 1 Model-Driven Architecture The current state of affairs.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
Apache Struts Technology A MVC Framework for Java Web Applications.
ARCH-6: UML Modeling with Enterprise Architect Phillip Magnay Technical Architect.
HL7 UK 2003 (c) Abies Ltd Modelling Clinical Information Using UML Tim Benson Abies Ltd
MDA Guide Version CYT. 2 Outline OMG Vision and Process Introduction to MDA How is MDA Used? MDA Transformations Other MDA Capabilities Using the.
Model-Driven Architecture & OptimalJ Roland T. Craddolph.
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
Agenda 23 April, 2007 T Service-Oriented Architecture and Software Engineering 1 Service Oriented and Model Driven Architectures Pankaj Saharan.
Chemical Toxicity and Safety Information System Shuanghui Luo Ying Li Jin Xu.
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
1 Modeling Server-side Components with UML Junichi Suzuki, Ph.D. School of Information and Computer Science University.
3 April SOA: Services Oriented Architecture MDA: Model Driven Architecture.
Introduction to MDA (Model Driven Architecture) CYT.
第十四章 J2EE 入门 Introduction What is J2EE ?
Copyright © 2004 InteliData A Real-World Example of MDA without Automation Ed Seidewitz 26 August 2004.
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
1 Model Compiler Construction Based on Aspect-oriented Mechanisms Naoyasu Ubayashi (Kyushu Institute of Technology) Tetsuo Tamai (University of Tokyo)
Adaptive Hypermedia Tutorial System Based on AHA Jing Zhai Dublin City University.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
MDA – Model Driven Architecture Olivier Riboux. Overview What is MDA? The Challenges MDA addresses Developing in the MDA Benefits / Conclusion Case Study:
December 4, ICSSEA’03 The SmartTools Software Factory The MDA approach and Generative programming for Software Development:
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
Design of an Integrated Robot Simulator for Learning Applications Brendon Wilson April 15th, 1999.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Apache Struts Technology A MVC Framework for Java Web Applications.
Model Driven Architecture MDA SE-548 Lale Doğan
Page 1 Hitachi Ltd. – FhI FOKUS TTCN-3 User Conference, June 2005 MDA based approach for generation of TTCN-3 test specifications Hideto Ogawa, Hitachi.
J2EE Platform Overview (Application Architecture)
Modelowanie i analiza systemów informacyjnych Model Driven Architecture Marek Bazan Marzec 2017.
MACS 2005 First International Workshop on the Modeling and Analysis of Concerns in Software Concern Management for Constructing Model Compilers -- Towards.
Introduction to Advanced Java Programming
Physical Data Model – step-by-step instructions and template
Web Application Modeling
Web Engineering.
Introduction to J2EE Architecture
Sakai WebApp Structure
Modelling Clinical Information Using UML
Distributed System Using Java 2 Enterprise Edition (J2EE)
Domain Specific Product Description Exchange
Tools for Composing and Deploying Grid Middleware Web Services
كارگاه آموزشي معماري نرم‌افزار
ARCH-5: From Design to Implementation in OpenEdge® using UML and MDA
CS310 Software Engineering Dr.Doaa Sami
The Tropos visual modeling language A meta-model.
UML profiles.
Analysis models and design models
OMG - Model Driven Architectures
Constructing MDA-based Application Using Rational XDE for .NET
Ivan Kurtev, Klaas van den Berg Software Engineering Group
Understanding and Designing with EJB
Model Driven Software Development
Software Architecture & Design
SDMX IT Tools SDMX Registry
Presentation transcript:

Evaluating Compuware OptimalJ as an MDA tool Shimin Li

Project Overview Introduction Mode-Driven Architecture Overview Framework for Evaluating MDA Tools Evaluating Compuware OptimalJ Conclusion December 3, 2018

Introduction Motivation Objectives Approach Organization December 3, 2018

Model-Driven Architecture Overview Viewpoints and Models Computation Independent Viewpoint and CIM Platform Independent Viewpoint and PIM Platform Specific Viewpoint and PSM December 3, 2018

Model-Driven Architecture overview Model transformations Meta-model Mapping Model Marking Approaches Marking Model Meta-model transformation Model transformation Pattern application Model Merging December 3, 2018

Model-Driven Architecture overview Proposed standards Meta-Object Facility (MOF) Unified Modeling Language (UML) XML Metadata Interchange (XMI) Common Warehouse Metamodel (CWM) December 3, 2018

Model-Driven Architecture overview Benefits Improved portability By separating the specification of the operation of a system from the details of the way that the system uses the capabilities of its platform Increased productivity By automating mappings Improved quality By reuse of well designed patterns and templates in mappings Improved maintainability and documentation By separation of concerns, traceability and consistency between models and code December 3, 2018

Framework for Evaluating MDA Tools MDA Feature Analysis By a case study Comparison with a Standard Engineering Tool December 3, 2018

Model-Driven Architecture Features December 3, 2018

Case Study Goal Exercise important MDA-related activities using Compuware OptimalJ Compare OptimalJ with Standard Engineering Tool December 3, 2018

Standard Engineering Tool Eclipse + Lomboz J2EE plug-in December 3, 2018

Case Study Software Practice Lab (SPL) A number of members (students) A number of supervisors A number of sponsors A list of projects, and each of them is associated with a specific sponsor Each member, supervisor, and sponsor can access the information of SPL through a web browser by login SPL with their username and password. December 3, 2018

Software Practice Lab (SPL) Case Study Software Practice Lab (SPL) December 3, 2018

Case Study December 3, 2018

Case Study December 3, 2018

Case Study December 3, 2018

Implementation - Eclipse & Lomboz J2EE plug-in Software Practice Lab J2EE Components December 3, 2018

Implementation - Eclipse & Lomboz J2EE plug-in Design pattern: Session Façade Member, supervisor, project, and sponsor are accessible via SPLAccess Code written A session EJB and its DAO (SPLAccess) Two BMP EJBs and their DAOs (Member and Supervisor) Two CMP EJBs (Project and Sponsor) A Servlet Database Schema (for five relations) Code generated (by XDoclet) EJB Home, Remote, DAO interfaces Deployment descriptions December 3, 2018

Feature Analysis - Eclipse & Lomboz J2EE plug-in December 3, 2018

SPL Implementation – OptimalJ 3.1 PE Construct the Domain Model (PIM) High level of abstraction of the system Class Model Static structure of the application data Each class must has a primary key (for creating database model) Service Model Operations on data (e.g. login user, show all projects in SPL) December 3, 2018

SPL Domain model explorer December 3, 2018

SPL Domain model December 3, 2018

SPL Implementation – OptimalJ 3.1 PE Generate the Application Model (PSM) High level of abstraction of the Platform Use patterns to translate PIM to PSM PSM depends upon technology used (Currently J2EE) SPL application model consists of Database model – SQL Schema (Solid) EJB model – Session, entity, and message-driven beans Web model – Web page templates from Macromedia Dreamweaver December 3, 2018

SPL Application model – Database model December 3, 2018

SPL Application model – EJB model December 3, 2018

Transformation Rules -- Classes For each class in the PIM, there is a class of the same name in the PSM For each public attribute of the class, the following are in the PSM A private attribute with the same name and type A public operation for get A public operation for set December 3, 2018

Transformation Rules -- Associations For each association in the PIM, the following are in the PSM A private attribute in each class with the same name as the opposite class Get and set operations for the attribute If multiplicity is 0 or 1, the type is that of the opposite class If multiplicity is many, the type is a Set (e.g. Collection in Java) December 3, 2018

SPL Implementation – OptimalJ 3.1 PE Generate the Code Model Java code, JSP, and XML files Certain design patterns used (e.g. Session Façade) Make the generated code easier to understand and modify Divides generated files into free and guarded blocks Free blocks Free to change Changes are preserved when code is updated from application model Guarded blocks Forbid changing But may change by selecting the option to ignore the guarded blocks or from outside OptimalJ. The changes are not preserved. December 3, 2018

Feature Analysis - OptimalJ 3.1 PE December 3, 2018

Comparison December 3, 2018

Conclusion Compuware OptimlJ 3.1 PE supports MDA well Shield the engineer from implementation details Provides a good development life-cycle Make modification to models The modification can be reflected almost immediately in the deployed system Perform significantly better than the traditional engineering tool December 3, 2018

Conclusion Suggestions for improvements Provide the ability to model behavior of the system Provide the simulation of models at domain level and application level December 3, 2018