Enabling Model Evolution via a Repository. Dan Matheson Robert France James Bieman Roger Alexander James DeWitt Nathan McEachen

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

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

Model Driven Architecture - The Vision

CS560: Formal Modelling and Implementation of Systems (Term II) Lecture: CASE A. O Riordan, 2009.

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

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

Improving Military Information Technology Through Common Conceptual Models

Appendix A - Glossary(of OO software term s)

Model Driven Development with EMF and EclipseLink (experiences in MDD and generating user interfaces)

Active Endpoints. ActiveVOS Platform Architecture Active Endpoints

Future Directions for SysML v2 INCOSE IW MBSE Workshop January 28, 2017

Defining Domain-Specific Modeling Languages

Scott Lowden SAP America Technical Solution Architect

SysML Past, Present, and Future. J.D. Baker Sparx Systems Ambassador Sparx Systems Pty Ltd

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

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

Architectural Blueprint

Evaluation of Aspects in UML Models

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten

XML in the Development of Component Systems. XML and the CORBA Component Model

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

Knowledge Discovery: How to Reverse-Engineer Legacy Systems

The Specifications Exchange Service of an RM-ODP Framework

The Eclipse Modeling Framework and MDA Status and Opportunities

Content Management for the Defense Intelligence Enterprise

IBM Rational Software Architect

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

Model driven Engineering & Model driven Architecture

Developing in OMG s Model-Driven Architecture

An introduction to MOF MetaObject Facility.

Introduction to MDE and Model Transformation

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

It s all Done with Mirrors Patterns and OCL. KMF Kent Modelling Framework D.H.Akehurst and O.Patrascoiu

Dictionary Driven Exchange Content Assembly Blueprints

Design Modeling Studio 1: Modeling Requirements for the Repository for Model Driven Development (REMODD) Project

Model-Code-Deploy platform. Product Overview. Features. UML support. Requirements management

Distributed systems. Distributed Systems Architectures. System types. Objectives. Distributed system characteristics.

Methods for the Development

Navigating the MetaMuddle

Lab 7: Baselines and History

Raising the Level of Development: Models, Architectures, Programs

Architekturen für die Cloud

Requirements and Design Overview

Architectural Design. Architectural Design. Software Architecture. Architectural Models

How to Harvest Reusable Components in Existing Software. Nikolai Mansurov Chief Scientist & Architect

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

ISO/IEC INTERNATIONAL STANDARD

Distributed Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1

BIG MODELS AN ALTERNATIVE APPROACH

Transactum Business Process Manager with High-Performance Elastic Scaling. November 2011 Ivan Klianev

J, K F, G, H. Library/framework, 168 LIKE() predicate, 142 Load-balancing server (LBS), 120 Lock on check out (LOCO), 1

Distributed Multitiered Application

Analysis, Modeling, and Design (AMD) Tools Software Market Strategies, Market Opportunities, and Market Forecasts, 2001 to 2006

EMC Documentum xdb. High-performance native XML database optimized for storing and querying large volumes of XML content

The Model Driven (R)evolution. Richard Mark Soley, Ph.D. Chairman and CEO Object Management Group, Inc.

6232A - Version: 1. Implementing a Microsoft SQL Server 2008 Database

Hospital System Lowers IT Costs After Epic Migration Flatirons Digital Innovations, Inc. All rights reserved.

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 14 Database Connectivity and Web Technologies

Open Data Schema. For Process Safety Applications

AIXM, WXXM, FIXM the power of a unified approach. Ian Painter ATM Lead Snowflake Software

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

Sequence Diagram Generation with Model Transformation Technology

A domain model-centric approach to J2EE development. Keiron McCammon CTO Versant Corporation

Programming in the large. Lecture 22: Configuration Management. Agenda for today. Bertrand Meyer. Bernd Schoeller

Model-Based Techniques in the Development of Net-Centric Applications. Timothy A. Anderson Basil C. Krikeles. June 20, 2007

Java EE 6: Develop Business Components with JMS & EJBs

Today: Distributed Objects. Distributed Objects

ADT: Eclipse development tools for ATL

Product Range 3SL. Cradle -7

Visual studio 2008 overview

Information Management (IM)

Software Architectures

Implementing a Web Service p. 110 Implementing a Web Service Client p. 114 Summary p. 117 Introduction to Entity Beans p. 119 Persistence Concepts p.

Design Patterns for Description-Driven Systems

Integration With the Business Modeler

VISUAL STUDIO TEAM SYSTEM 2008 END-TO-END USING MSF/CMMI Course E2EC08: Three days; Instructor-Led Course Syllabus

SE310 Analysis and Design of Software Systems

Web Application Expectations

developer.* The Independent Magazine for Software Professionals

Open Cloud Engine - An Open Source Cloud Native Transformer

Model Driven Architecture

ActiveVOS Technologies

From Object Composition to Model Transformation with the MDA

INTERNET-BASED COMPUTER-AIDED DESIGN: LEVERAGING PRODUCT MODEL, DISTRIBUTED OBJECT, AND WORLD WIDE WEB STANDARDS

Using Design Patterns in Education and Tutoring for the Software Systems Projects in Economic

Building JavaServer Faces Applications

MDA for the Enterprise

Cory Casanave, CEO Cory-c (at) modeldriven.com

Coral: A Metamodel Kernel for Transformation Engines

From Models to Components. Rapid Service Creation with

Oracle Developer Day

METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE

Database Assessment for PDMS

Tania Tudorache Stanford University. - Ontolog forum invited talk04. October 2007

New Features Summary PowerDesigner 15.2

* Corresponding Author

Integration of the Semantic Web with Meta Object Facilities

What's New in ActiveVOS 9.0

Collaborative Repositories in Model Driven Engineering

DEVELOPING MICROSOFT SHAREPOINT SERVER 2013 ADVANCED SOLUTIONS. Course: 20489A; Duration: 5 Days; Instructor-led

Transcription:

Enabling Model Evolution via a Repository Dan Matheson Robert France James Bieman Roger Alexander James DeWitt Nathan McEachen Dan Matheson

Goals Support software engineering research Model Driven Architecture Model Driven Software Development Aspect Oriented Modeling and Programming Develop a solution that is practical in the real world Show viability of an independent repository Show processes and engineering techniques that work 2 Dan Matheson

Motivations Experiences from applying MDA by hand in 2002 & 2003 Experiences from AOM research Reverse engineering / product merge experiences Economic realities of the last few years (layoffs, offshoring), the thinking that India or China is more cost effective Stop re-inventing data for research 3 Dan Matheson

Requirements, part Manage software solution artifacts from first solution proposal through code development Tool independence Work with existing tools Able to add new tools with little disruption Support multiple types of data and relationships among data Easy to extend for new data types and new relationships 4 Dan Matheson

Requirements, part 2 Allow any tool to access any data No fixed tool data access rules, other than normal access control Support multiple tool repository interaction protocols High data integrity in a shared data environment Scalable and distributed Non proprietary, open research environment 5 Dan Matheson

Some Managed Artifacts Managing model transformations in MDA Managing multiple models and composition directives from AOM Managing code components Managing model to code relationships Creating a catalog of components for re-use Tracking design evolution for team communication 6 Dan Matheson

Approach Leverage learnings from other engineering disciplines Discrete manufacturing (mechanical, electrical) Civil engineering RM-ODP to organize project design Use Open Source tools as much as possible Use experience of team members 60+ years industry product/solution development 7 Dan Matheson

Leveraged Learnings, Problems Discrete manufacturing Conflicting requirements Part versions Assembly versions Access control Manufacturing processes Software manufacturing Conflicting requirements Software versions Component sizes Access control Build processes 8 Dan Matheson

Leveraged Learnings, a Solution Product Data / Lifecycle Management The electronic equivalent of manufacturing specs Manages product structure: parts, assemblies, versions, documentation Manages manufacturing processes Manages product configurations Manages change process and change data Use Standards rather than re-invent OMG PDM Enablers, XML, etc. 9 Dan Matheson

Leveraged Learnings, Solution Product development tool structure Independent PDM repository Multiple tools from multiple vendors, from CAD to specialized analysis Product development process Tools only depend on data availability (stable) 0 Dan Matheson

Responsibility Architecture Tool Artifact Relationship Artifact Cluster Artifact Inter-cluster Relationship Repository Event Notification Facility Dan Matheson

Responsibility Architecture Tool creates, reads, modifies, deletes artifacts and relationships Repository tool independent artifact storage (ACID on CRUD) Interface Layer interface between tools and the persistence core Persistence Core storage and basic data integrity Artifact atomic data storage unit Complex Artifact assembly level storage unit Artifact Cluster logic grouping of artifacts (project) Artifact relationship dependency between 2 artifacts Notification Facility event propagation and handling 2 Dan Matheson

Process Flexibility 3 orthogonal components that can change with smaller cost (think of UNIX pipes). Tools for creating and modifying data A repository for preserving data and relationships Multiple processes coordinating data creation and validation Tool to tool, tool to repository, repository change to tool (process) As new tools are developed, processes can be modified or new processes created. As business goals change or SWE improves, processes can be modified without requiring new tools. 3 Dan Matheson

Interface Layer Interaction Design Tool action(data) Repository XML XML schema Interface Layer Transform XSLT Internal schema Full Input Stream Repository Artifact Tool Specific Data 4 Dan Matheson

Abstract Artifact Structure Design Contains n Artifact Cluster n Contains Contains Repository n 2 Artifact Type Relates Manages n Artifact 2 n Contains n Relates Artifact-Relationship Type Manages n Artifact-Relationship 5 Dan Matheson

Factory/Finder Structure for Extension Artifact Type Factory Actions on the objects Create (artifact_type_spec) Retrieve () or Query () : artifact_type_list Update (artifact_type_factory_spec) Delete (artifact_type) Manages n Artifact Type Create (artifact_spec) Retrieve () : artifact_list Update (artifact_type_spec) Delete (artifact) Manages n Artifact Instance Create (sub-artifact_spec) Retrieve () : artifact_data Update (artifact_spec) Delete (sub-artifact_spec) 6 Dan Matheson

PDM Part Structure Pattern PartMaster unchanging attributes PartRevision controlled changes PartDataIteration atomic part data and work-inprogress PartStructureIteration complex part (assembly) and work-in-progress Usage role played by part in assembly Applied to all artifacts PartMaster..* PartRevision component..* * Usage PartDataIteration * 0..* assembly PartStructureIteration 7 Dan Matheson

Goal Implementation of Release Support of simple UML class model storage Support AOM composition research Approach XMI representation of UML data XML / XML schema representation of other data Use open source components MySQL, ArgoUML Code in Java as monolithic application Simple GUI to launch 8 Dan Matheson

Implementation of Release Approach (cont.) Using RM-ODP to structure design process Refactoring of student project code (Nathan) Use CVS to control code source 9 Dan Matheson

Some Future Work Directions Expand artifact types Other UML models, interaction, activity, state, etc. Java code and code analysis Increase Repository Robustness N-tiered and distributed Increase tool support AOM composition tools Model analysis tools Code analysis 20 Dan Matheson