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

Similar documents
Issues in Large Scale Application Development with Model-based Techniques

xuml, AADL and Beyond

Model driven Engineering & Model driven Architecture

Model Driven Architecture and Rhapsody

Model Driven Architecture - The Vision

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

bahmanzamani.com Computer Engineering i Dept. University of Isfahan

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

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

Model Driven Engineering (MDE)

Semantics-Based Integration of Embedded Systems Models

An Introduction to MDE

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

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

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

SCOS-2000 Technical Note

9LV Mk4. Use of DDS for system integration. June, 2007 Thomas Jungefeldt. Saab Systems

Composable Code Generation Applied to MDA

OMG Workshop MDA. Tool Chains for MDA? Let's consider leaving our tool chains behind us.

MDSE USE CASES. Chapter #3

Course 7. Reusability, interoperability. S. Motogna - Software Quality

Executable UML the silver bullet or maybe not Dr. Joel Henry October 22, 2008

Designing Component-Based Architectures with Rational Rose RealTime

Cisco Application Centric Infrastructure (ACI) - Endpoint Groups (EPG) Usage and Design

Practical Model-Driven Development with the IBM Software Development Platform

Object-Oriented Design

Overview of lectures today and Wednesday

SyncML Overview. Noel Poore, Psion Computers PLC

Taming Rave: How to control data collection standards?

MDA Driven xuml Plug-in for JAVA

Question 1: What is a code walk-through, and how is it performed?

CODAGEN TECHNOLOGIES AND MODEL-DRIVEN ARCHITECTURE (MDA)

Models versus Ontologies - What's the Difference and where does it Matter?

Data Model Considerations for Radar Systems

F-16 Modular Mission Computer Application Software

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

Experiences in the Use of MDA and UML in Developing NATO Standards

Developing in OMG s Model-Driven Architecture

Adaptive System Infrastructure for Ultra-Large. Large-Scale Systems. SMART Conference, Thursday, March 6 th, 2008

OpenVMS migration to i4 and beyond

Software Engineering with Objects and Components Open Issues and Course Summary

Meeting the Challenges of Ultra-Large

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE

The Future of Software Radio MDD Tools. Dom Paniscotti Bruce Trask

Model Driven Ontology: A New Methodology for Ontology Development

1 Executive Overview The Benefits and Objectives of BPDM

Networking for a dynamic infrastructure: getting it right.

Using AADL in Model Driven Development. Katholieke Universiteit Leuven Belgium

INT NTION L. Domain Expert DSLs

Applying MDA Modeling to Development of Real-Time Software

From Object Composition to Model Transformation with the MDA

GENERATION OF SCA DOMAIN PROFILE DESCRIPTORS FROM UML 2.0 MODELS

ADT: Eclipse development tools for ATL

A number of optimizations are already in use by the majority of companies in industry, notably:

Model-Driven Systems Engineering for Netcentric System of Systems With DEVS Unified Process

Applying UML Modeling and MDA to Real-Time Software Development

A Better Approach to Leveraging an OpenStack Private Cloud. David Linthicum

Lesson 19 Software engineering aspects

Bizagi Process Management Suite as an Application of the Model Driven Architecture Approach for Developing Information Systems

IBM WebSphere Business Integration Event Broker and Message Broker V5.0

02291: System Integration

Copyright 2002, 2003 by the Web Services-Interoperability Organization. All rights reserved.

Java Embedded on ARM

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

Making Information Perform: Evolving the MIP from databases to services

CAS 703 Software Design

ISO/IEC JTC 1 N 13127

ICD Wiki Framework for Enabling Semantic Web Service Definition and Orchestration

IBM Rational Software Architect

Fundamental Concepts and Models

Enterprise Linux vs. Embedded Linux

Oracle Application Server 10g Integration Interconnect. An Oracle Technical White Paper January 2005

WebSphere Application Server, Version 5. What s New?

CS 575: Software Design

BLU AGE 2009 Edition Agile Model Transformation

Design Patterns for Description-Driven Systems

IP PBX for Service Oriented Architectures Communications Web Services

Defining Domain-Specific Modeling Languages

developer.* The Independent Magazine for Software Professionals

ONOS YANG Tools. Thomas Vachuska Open Networking Foundation

Chapter 18. Software Reuse

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

I D C T E C H N O L O G Y S P O T L I G H T. V i r t u a l and Cloud D a t a Center Management

Digital Renewable Ecosystem on Predix Platform from GE Renewable Energy

AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz

An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com

Data Consistency and Quality Issues in SEND Datasets

Reengineering of Distributed Middleware Systems To a Model Driven Architecture (MDA)

NEXOF-RA NESSI Open Framework Reference Architecture IST- FP

Cloud Programming James Larus Microsoft Research. July 13, 2010

Methods for the Development

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

BIG MODELS AN ALTERNATIVE APPROACH

Industrial system integration experts with combined 100+ years of experience in software development, integration and large project execution

Model-Driven *: Beyond Code Generation

Standard Business Rules Language: why and how? ICAI 06

NETWARS Enhancements via Third Party: Case Study, TNAPS+ to NETWARS Translator

CA ERwin Data Modeler

Model Driven Data Interoperability (MDMI)

Introduction to MDE and Model Transformation

Transcription:

Model-Based Techniques in the Development of Net-Centric Applications June 20, 2007 Timothy A. Anderson Basil C. Krikeles BAE-Systems Advanced Information Technologies 6 New England Executive Park Burlington, MA 01803 This work was sponsored by the Air Force Research Laboratory (Contract # F30602-01-D-0053 Order No. 0012, subcontract S06021). Any opinions, findings and conclusions or recommendations expressed in this paper are those of the authors and do not necessarily reflect the views of the United States Air Force. Approved for Public Release; distribution unlimited.

Why is it important to develop next-generation software technologies such as MDA? Size and complexity of software systems rapidly increasing beyond our capacity to handle with current technology Functionality moving from hardware to software (flight control, radios) Networked evolving constellation of systems to integrate with Underlying technologies and infrastructure rapidly evolving Requirements rapidly evolving For complex systems it may not be possible to accurately capture system requirements, especially in software with long lifecycles Need to protect large software investment by ensuring software can be managed, maintained, extended, modified, and adapted over a long period of time by teams other than the original developers MDA supports Software Producibility Document number- 2

Model Driven Development, xuml, DSLs Model-driven development is focused on a representation of the functionality and behavior in of a system that is independent of the ultimate implementation technology, language or infrastructure Relies on automated or semi-automated means of transforming the model into a platform specific executable Executable UML (xuml) comprises a subset of the UML standard with sufficiently precise semantics to be capable of being executable XUML attempts to provide a generic MDA solution, i.e. one that works in any application domain Domain Specific Languages (DSLs) implement MDD in the context of specific problem domains, and can be optimized for those domains Document number- 3

XML-defined Gateway for Tactical Data Links Link Message Format Specifications (.xml) XDG Layered, Dynamically Loadable Link Interface Modules (C++) Link Message Translation Specifications (.xml) Link Interface and CMF- Link Translator Code Generation External Data Interface Adapters (C++) Common Message Format (CMF) Specifications (.xml) TDL specifications are generally human-readable, making implementation V&V difficult. Several data links (Link-11, Link-16, etc.) are in active use. Each one requires robust, high-performance support. Message forwarding among a variety of TDLs can be an N 2 implementation problem: each pair of network types can require a module to handle translation. XDG represents TDL data formats and rules in XML, from which it generates a common data representation and link-specific translators and forwarders. Document number- 4

XDA DSL: A Model Driven Framework for Domain Engineering with Auto-generated XML parser Platform Specific Instance (PSI) XML Tool meta.xsd validates Code Generator (Domain Implementation Standard C++ or Java) GMTITrackUpdate Class Domain Engineering XSLT xform tracking.xml (Domain Def XML) Platform Independent Domain Model (PIM) tracking.xsd (Domain Def XSD) validates XDA Middleware Interface XML Parser and Writer for Domain Application Logic XDA Library Instance Data Instance TrackUpdate Data (Instance Data) Application PSI at Runtime Document number- 5

Our case study and its value proposition With MDA and xuml: one executable PIM with multiple instantiation for each weapon system Shared Business Logic implemented in xuml (Cooperative Analysis, Design, Coding) Weapon System Instantiation A (Integration, Testing, Program Mgmt) Weapon System Instantiation N (Integration, Testing, Program Mgmt) Versus N Implementations Implementation A of Business Logic (Weapon system specific Analysis, Design, Coding) Implementation N of Business Logic (Weapon system specific Analysis, Design, Coding) Weapon System Instantiation A (Integration, Testing, Program Mgmt) Weapon System Instantiation N (Integration, Testing, Program Mgmt) Conventional procurement strategy: multiple implementations of same business logic Document number- 6

Platform-specific deployment Isolates Isolates application application from from hardware hardware devices devices and and data data buses buses Core Processing Logic Core Core domains domains capture capture common common behaviour behaviour to to ensure ensure uniformly uniformly applied applied processing processing rules rules in in a a netcentricentric environment net- environment Weapons Weapons Sensors Sensors Comms Comms Adaptation Domains Isolates Isolates application application from from underlying underlying execution execution technologies technologies Run-Time Interface Domains User Interface Domains HUD/HDDs HUD/HDDs Displays Displays Other Other Tools Tools Target Execution Environment Isolates Isolates application application from from (Processors / Operating System / Language) user user interface interface formats formats and and devices devices Target Target Hardware Hardware Document number- 7

Configuration Management Issues Effective tools have been developed to support text-oriented software development, for example Concurrent modification of the same source file by multiple developers Source code differencing Semi-automated merging of different versions of the same source file Automated patching of released versions Branching of the source tree and merging of different branches None of these tools exist in usable form for Model Driven Development, resulting in hard to overcome problems for large MDA projects Development must be centralized One small team of two to three developers must be assigned to each unit of re-use (domain, or package or set of classes) in order to serialize modifications and to de-conflict access by direct communication Patching a release of the model is virtually impossible; significant defects typically force a re-release of the modified model Domain interactions happen in Bridges across domain boundaries and are even harder to manage The next generation of MDA technologies must address this issue Document number- 8

Unintended Consequences Use of the relational data model and specialization hierarchies rather than inheritance reduces performance and developer effectiveness Expressivity of the Action Specification Language is not adequate for many algorithms An abstract language may be adequate for describing an algorithm, but not expressive enough to capture optimizations and other implementation-specific details needed for system performance Use of abstract state machines and event queues can yield fragile, inefficient code Document number- 9

Model Compilation and PSM Generation Platform Translation Rules (Transformation model) Compiler Meta Model Model Compiler Framework Compiler Generator Creation of Customized Code Generator Generate d C++ g++ Executa Platformble Specific binary Model Compiler (PSMC) xum PSMC (exe) L Platform-Specific Build Set (PSBS) Generate d C++ (PSM) g++ Executa ble Source binary code Legacy headers & libraries Platform- Specific Implementation (PSI) Creation of Target Executable Document number- 10

Lessons learned from current experience with MDA MDA technology is in its infancy but holds tremendous promise Standards are being developed MDA has been successfully applied in the well-scoped area of Domain Specific Languages Effective general purpose MDA tools will require the following: A next-generation standard for a subset of UML that includes execution semantics and effectively addresses all aspects of software modeling including runtime model, threading/concurrency, state machines and multiprocessing Ability to represent different levels of detail within a model according to the user s interest - Subject matter experts can see a view appropriate to them, while developers and modelers can drill down to implementation details Industry accepted standards enabling cross-vendor interoperability Additional research to address version control and configuration management in the context of MDA and to support concurrent model modifications and distributed model development Document number- 11

Suggestions for improving the next xuml standard Include a new approach to domain interaction that will eliminate the tight coupling induced by bridges and inline code, truly hide the internal implementation details of domains Enable a heterogeneous approach to modeling to allow for efficiencies and optimizations at different levels of representation Do not relegate platform-specific and optimization issues to the model compiler. The modeling language, if appropriate for the granularity of the model, should be able to abstract and capture both platform issues and optimization strategies. The strategy of relying on the model compiler is both unrealistic and brittle The runtime architecture should not be drastically different from current state of the art. The Relational Database Model used by the current version of xuml is confusing, error-prone and inefficient Include interoperability standards. The market place will force tool vendors to comply allowing developers to mix and match MDA tools and to create customized modeling environments with the tools best suited for their task Try to emulate at the MDA level the utility of the Unix constellation of file-based tools and the success of the Eclipse eco-system of development tools Document number- 12

Conclusion As software projects continue to grow in size and complexity, MDA can be a valuable approach to managing the development With current technology, MDA is especially effective when more narrowly focused and used in conjunction with domain-specific modeling languages. Standards are still being developed General tools are either limited in expressive power or lack platform independence Cross-tool interoperability standards are critical, in order to allow competition, evolution, and use of best-of-breed tools New technologies for configuration management are required to support effective development It is extremely difficult to provide a single tool that supports all levels of development Different levels of detail could require different modeling paradigms Interoperability will be required between tools at different levels of detail on the same project Final thought: a model is an artifact that can be used beyond code generation, to produce documentation, complexity or producibility statistics, etc. Document number- 13