Lockheed Martin Aeronautics Company © 2001 Lockheed Martin Corporation F-16 Modular Mission Computer Application Software Achieving Cross-Platform Compatibility.

Slides:



Advertisements
Similar presentations
Automotive Embedded System Development in AUTOSAR
Advertisements

Automating Software Module Testing for FAA Certification Usha Santhanam The Boeing Company.
Configuration management
Configuration management
SOA Modelling By Rajat Goyal.
Database System Concepts and Architecture
Lockheed Martin Aeronautics Company © 2001 Lockheed Martin Corporation F-16 Modular Mission Computer Application Software Achieving Cross-Platform Compatibility.
COM vs. CORBA.
UML an overview.
K E N N E D Y C A R T E R Model Driven Architecture and eXecutable UML: The Next Evolutionary Step? Allan Kennedy Founder, Kennedy Carter Ltd.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Job No/ 1 © British Crown Copyright 2008/MOD Developing a High Integrity Code Generator Using iUML/iCCG Sam Moody AWE plc, Aldermaston, Berkshire, United.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
Amit, Keyur, Sabhay and Saleh Model Driven Architecture in the Enterprise.
Introduction To System Analysis and Design
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
7 July 2003 MDA presentation Dennis Wagelaar 1 Model-Driven Architecture The current state of affairs.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Chapter 13 Embedded Systems
Executable UML By Luca Pellicoro. Definitions Acronym: xtUML or xUML Technology where models (such as state diagrams and class diagrams) are automatically.
HAS. Patterns The use of patterns is essentially the reuse of well established good ideas. A pattern is a named well understood good solution to a common.
Nov. 14, 2007 Systems Engineering ä System ä A set or arrangement of things so related as to form a unity or organic whole. ä A set of facts, principles,
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
K E N N E D Y C A R T E R Model Driven Architecture and eXecutable UML Allan Kennedy Founder, Kennedy Carter Ltd Co-chair, OMG Object Reference.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Course Instructor: Aisha Azeem
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
1.Database plan 2.Information systems plan 3.Technology plan 4.Business strategy plan 5.Enterprise analysis Which of the following serves as a road map.
MDA Guide Version CYT. 2 Outline OMG Vision and Process Introduction to MDA How is MDA Used? MDA Transformations Other MDA Capabilities Using the.
Executable UML The Models are the Code - Executable UML CS387 Paul Krause.
RUP Implementation and Testing
Rational Unified Process Fundamentals Module 4: Disciplines II.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
An Introduction to Software Architecture
9/14/2012ISC329 Isabelle Bichindaritz1 Database System Life Cycle.
Introduction to MDA (Model Driven Architecture) CYT.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Configuration Management (CM)
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
 Three-Schema Architecture Three-Schema Architecture  Internal Level Internal Level  Conceptual Level Conceptual Level  External Level External Level.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
TAL7011 – Lecture 4 UML for Architecture Modeling.
Welcome Experiences in the Use of MDA and UML in Developing NATO Standards 16 July 2008 Chris Raistrick, Kennedy KC.COM.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
SPE-RFI-R : FEB.1999 : NUL-ITD-Iwata 2-01 Needs for Software Development Model Hiromichi Iwata Information Technologies.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
Chapter 5: Software Re-Engineering Omar Meqdadi SE 3860 Lecture 5 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
1. 2 Purpose of This Presentation ◆ To explain how spacecraft can be virtualized by using a standard modeling method; ◆ To introduce the basic concept.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
SwCDR (Peer) Review 1 UCB MAVEN Particles and Fields Flight Software Critical Design Review Peter R. Harvey.
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Distribution and components
An Introduction to Software Architecture
Executable Specifications
Software Development Process Using UML Recap
Presentation transcript:

Lockheed Martin Aeronautics Company © 2001 Lockheed Martin Corporation F-16 Modular Mission Computer Application Software Achieving Cross-Platform Compatibility with Increased Productivity and Quality using the OMG’s Model Driven Architecture Lauren E. Clark Chief Engineer F-16 Modular Mission Computer Software Lockheed Martin Aeronautics Company Terry Ruthruff Staff Specialist Software Engineering Core Lockheed Martin Aeronautics Company Allan Kennedy Managing Director Kennedy Carter Limited Bary D. Hogan Methodology Lead F-16 Modular Mission Computer Software Lockheed Martin Aeronautics Company

K E N N E D Y C A R T E R Lockheed Martin Aeronautics CompanyAgenda  The Platform  Cross-Platform Compatibility: The Goal  The eXecutable MDA Approach:  eXecutable UML Modeling  Platform Specific Mapping (Design Tagging)  Automatic Code Generation  Benefits derived from using eXecutable MDA

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company Software Basic Software Components Hardware Software Execution Platform Application Software Application Software Interface Application Software: l High-level software that is unique to the application(s) for which the embedded computer (i.e. subsystem) exists l 80-90% of the total software (in terms of long-term development cost) Application Software: l High-level software that is unique to the application(s) for which the embedded computer (i.e. subsystem) exists l 80-90% of the total software (in terms of long-term development cost) Software Execution Platform: l Low-level software, the purpose of which is to provide services that allow the Application Software to run on the hardware Software Execution Platform: l Low-level software, the purpose of which is to provide services that allow the Application Software to run on the hardware

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company Software Execution Platform Board Support Package / BIT Software Execution Platform Hardware Application Software Application Software Interface Device DriversOperating System Software Architecture Software Execution Platform: l Low-level software, the purpose of which is to provide services that allow the Application Software to run on the hardware Software Execution Platform: l Low-level software, the purpose of which is to provide services that allow the Application Software to run on the hardware

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company Software Execution Platform Board Support Package / BIT Board Support Package / Built-In Test Hardware Application Software Application Software Interface Device DriversOperating System Software Architecture Board Support Package: l Lowest-level boot software / firmware that allows all other software (including the Operating System) to be loaded into memory and begin executing l Unique to the hardware; and usually delivered with the hardware (located in some type of ROM) Built-In Test (BIT): l Low-level software that detects and reports hardware errors l Unique to the hardware; and usually delivered with the hardware Board Support Package: l Lowest-level boot software / firmware that allows all other software (including the Operating System) to be loaded into memory and begin executing l Unique to the hardware; and usually delivered with the hardware (located in some type of ROM) Built-In Test (BIT): l Low-level software that detects and reports hardware errors l Unique to the hardware; and usually delivered with the hardware Board Support Package / BIT

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company Software Execution Platform Operating System Hardware Application Software Application Software Interface Operating System: l Low-level software that, once booted, manages all other software (this management involving such things as multitasking, memory sharing, I/O interrupt handling, error and status reporting, etc.) l Unique to the hardware (i.e. it must at least be ported to each new hardware platform); and sometimes delivered with the hardware Operating System: l Low-level software that, once booted, manages all other software (this management involving such things as multitasking, memory sharing, I/O interrupt handling, error and status reporting, etc.) l Unique to the hardware (i.e. it must at least be ported to each new hardware platform); and sometimes delivered with the hardware Device Drivers Software Architecture Operating System Board Support Package / BIT

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company Software Execution Platform Device DriversOperating System Device Drivers Hardware Application Software Application Software Interface Device Drivers: l Low-level software that manages the input from and output to the various external devices in support of the Application Software l Unique to the hardware; but usually not delivered with the hardware Device Drivers: l Low-level software that manages the input from and output to the various external devices in support of the Application Software l Unique to the hardware; but usually not delivered with the hardware Software Architecture Board Support Package / BIT Device Drivers

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company Software Execution Platform Device DriversOperating System Software Architecture Hardware Application Software Application Software Interface Software Architecture: l Low-level software providing the framework within which the Application Software executes l Provides execution control, data / message management, error handling, and various support services to the Application Software l Assumes a particular Application Software language l Unique to the hardware; but, since it must support all requirements levied by the Application Software, is not delivered with the hardware Software Architecture: l Low-level software providing the framework within which the Application Software executes l Provides execution control, data / message management, error handling, and various support services to the Application Software l Assumes a particular Application Software language l Unique to the hardware; but, since it must support all requirements levied by the Application Software, is not delivered with the hardware Board Support Package / BIT Software Architecture

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company Application Software Interface Software Execution Platform Device DriversOperating System Software Architecture Application Software Interface Hardware Application Software Application Software Interface: l The boundary between the Application Software and the Software Execution Platform l The specified methods by which the Application Software can make requests and use the services of the Software Execution Platform and the Software Execution Platform can provide its services to the Application Software l This interface is specified by the Software Execution Platform Application Software Interface: l The boundary between the Application Software and the Software Execution Platform l The specified methods by which the Application Software can make requests and use the services of the Software Execution Platform and the Software Execution Platform can provide its services to the Application Software l This interface is specified by the Software Execution Platform Board Support Package / BIT

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company Hardware Platform #2 Application Software Board Support Package / BIT Device Drivers Operating System Software Architecture Application Software Interface Hold Constant Hardware Cross-Platform Compatibility: The Usual Approach Hardware Platform #1 Application Software Application Software Interface Device DriversOperating System Software Architecture Board Support Package / BIT Maintain a constant Application Software Interface Portable

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company Hardware Platform Cross-Platform Compatibility Issues Application Software Device Drivers Operating System Software Architecture Application Software Interface Board Support Package / BIT Can a constant Application Software Interface always be maintained? Consider… l What if the language or operating system becomes obsolete? l What if it is necessary to port even a part of the Application Software to a legacy platform not having the resources to support the newer Software Execution Platforms? Consider… l What if the language or operating system becomes obsolete? l What if it is necessary to port even a part of the Application Software to a legacy platform not having the resources to support the newer Software Execution Platforms?

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company Hardware Platform Cross-Platform Compatibility Issues Application Software Device Drivers Operating System Software Architecture Application Software Interface Board Support Package / BIT Even if it were possible, would one always want to maintain a constant Application Software Interface? Consider… l What if hardware or Software Execution Platform changes could provide more Application Software capability, but only by means of changing the Application Software Interface? Consider… l What if hardware or Software Execution Platform changes could provide more Application Software capability, but only by means of changing the Application Software Interface?

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company Hardware Platform Cross-Platform Compatibility: The Goal Application Software Device Drivers Operating System Software Architecture Application Software Interface Board Support Package / BIT The goal should be to provide cross-platform compatibility of Application Software despite any Implementation, or platform specific, changes: that is, changes to the Hardware Platform, the Software Execution Platform, or the Application Software Interface

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company eXecutable MDA: Application Software Development eXecutable UML ModelingRequirementsDefinition Integration & Test Platform Specific Platform Specific Mapping (Design Tagging) (Design Tagging) Automatic Code Generation Application Software Interface Definition The eXecutable MDA Approach as supported by KC’s iUML and iCCG

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company eXecutable UML Modeling: Domain Model Domain Model (Package Diagram): l The software application space is partitioned into multiple platform independent domain models l Mappings between the domains are defined as contracts for required and provided services Domain Model (Package Diagram): l The software application space is partitioned into multiple platform independent domain models l Mappings between the domains are defined as contracts for required and provided services

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company eXecutable UML Modeling: Class Diagrams Class Diagrams: l Within each platform independent domain model, conceptual entities are modeled first: classes,attributes, and associations are abstracted l Behavior, though considered, is not modeled explicitly in this view Class Diagrams: l Within each platform independent domain model, conceptual entities are modeled first: classes,attributes, and associations are abstracted l Behavior, though considered, is not modeled explicitly in this view

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company eXecutable UML Modeling: State Charts State Charts: l Behavior is formalized during state modeling l Class lifecycles are modeled using signal-driven state machines l Class operations are defined State Charts: l Behavior is formalized during state modeling l Class lifecycles are modeled using signal-driven state machines l Class operations are defined

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company eXecutable UML Modeling: Action Language Action Specification Language: l State actions and class operations are specified using Kennedy Carter’s Action Specification Language (ASL) l ASL is a higher order and much simpler language than a typical high order language (e.g. C++) l ASL deals with UML concepts, not implementation concepts l ASL was a major influence on the newly adopted Precise Action Semantics for the UML Action Specification Language: l State actions and class operations are specified using Kennedy Carter’s Action Specification Language (ASL) l ASL is a higher order and much simpler language than a typical high order language (e.g. C++) l ASL deals with UML concepts, not implementation concepts l ASL was a major influence on the newly adopted Precise Action Semantics for the UML

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company eXecutable UML Modeling: Simulation Simulation: l Since a precise Action Specification Language is used, models are executable and therefore may be simulated l Simulation features resemble those of a high order language debugger l Models may be validated long before they are implemented Simulation: l Since a precise Action Specification Language is used, models are executable and therefore may be simulated l Simulation features resemble those of a high order language debugger l Models may be validated long before they are implemented

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company eXecutable UML Modeling: Summary eXecutable UML Modeling  xUML models are a complete representation of the problem space (not a top-level or preliminary design)  Modeling is performed using a Unified Modeling Language (UML) representation  Modeling makes use of a precise Action Specification Language (ASL) and is therefore executable (providing early validation of the models)  Each xUML model is a Platform Independent Model (PIM), that is, completely implementation-independent (i.e. independent of the hardware platform, the software execution platform, and the application software interface)

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company Design Tags l Class Allocation l Program Allocation l Max Instance Count l Event Rate l Event Queue l Throw Away l Initialization l Source Type l Subtype of l etc. Design Tags l Class Allocation l Program Allocation l Max Instance Count l Event Rate l Event Queue l Throw Away l Initialization l Source Type l Subtype of l etc. Design Tagging: Specifying the PIM to PSM Mapping Source Code Files... Automatic Code Generator xUML Models... Application Software Interface Definition Software Execution Platform Specific Software Execution Platform Specific Language Specific Language Specific Defines

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company Design Tagging: Specifying the PIM to PSM Mapping Design Tagging: l Design tag values represent implementation-specific design decisions l Design tagging is applied to, but not embedded in, the xUML models (tags and tag values may be included or excluded) l Code Generator assumes the most standard implementation, such that only exceptions must be tagged Design Tagging: l Design tag values represent implementation-specific design decisions l Design tagging is applied to, but not embedded in, the xUML models (tags and tag values may be included or excluded) l Code Generator assumes the most standard implementation, such that only exceptions must be tagged

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company Design Tagging: Summary  Whereas xUML modeling is platform- independent, Design Tagging is platform- specific (i.e. specific to a particular Application Software Interface)  Platform-specific design decisions (only those needed to support code generation) are made during Design Tagging, and are represented with design tag values that are applied to the xUML models  The most standard implementation is always assumed by the code generator, such that only exceptions must be tagged  Design Tagging is overlaid on (not embedded in) the xUML models, such that it may be included or excluded Platform Specific Platform Specific Mapping (Design Tagging) (Design Tagging)

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company Model of Platform... Automatic Code Generation: 3 Levels of Models Model of xUML... xUML Elements: (e.g. Class, Attribute, Association, Tag, etc.) xUML Elements: (e.g. Class, Attribute, Association, Tag, etc.) Model of Application... Application Elements: (e.g. Aircraft, Missile, Target, etc.) Application Elements: (e.g. Aircraft, Missile, Target, etc.) Implementation Elements: (e.g. Procedure, Array, Program, Event Queue, etc.) Implementation Elements: (e.g. Procedure, Array, Program, Event Queue, etc.) Level 1 Level 2 Level 3 Developed by Program Developed by Program Supplied by Kennedy Carter Supplied by Kennedy Carter Developed by Program Developed by Program

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company Model of xUML... xUML Elements: (e.g. Class, Attribute, Association, Tag, etc.) xUML Elements: (e.g. Class, Attribute, Association, Tag, etc.) Level 2 Supplied by Kennedy Carter Supplied by Kennedy Carter Automatic Code Generation: Level 2 - Simulation Code Step 1: Populate instances of xUML Metamodel with Model of Application Code Generation: Generation of Simulation Code for Development Platform (e.g. UNIX C Code) Model of Application... Application Elements: (e.g. Aircraft, Missile, Target, etc.) Application Elements: (e.g. Aircraft, Missile, Target, etc.) Level 1 Developed by Program Developed by Program When we say that “xUML models are executable” we mean that “executable code can be automatically generated from them”

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company Model of Platform... Implementation Elements: (e.g. Procedure, Array, Program, Event Queue, etc.) Implementation Elements: (e.g. Procedure, Array, Program, Event Queue, etc.) Level 3 Developed by Program Developed by Program Model of xUML... xUML Elements: (e.g. Class, Attribute, Association, Tag, etc.) xUML Elements: (e.g. Class, Attribute, Association, Tag, etc.) Level 2 Supplied by Kennedy Carter Supplied by Kennedy Carter Automatic Code Generation: Level 3 - Target Code Step 1: Populate instances of xUML Metamodel with Model of Application Model of Application... Application Elements: (e.g. Aircraft, Missile, Target, etc.) Application Elements: (e.g. Aircraft, Missile, Target, etc.) Level 1 Developed by Program Developed by Program Step 2: Populate instances of Model of Implementation with populated xUML Metamodel instances Code Generation: Generation of Source Code for Target (Embedded)Platform (e.g. Ada/C++ Code)

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company The Code Generator Model of Platform... Implementation Elements: (e.g. Procedure, Array, Program, Event Queue, etc.) Implementation Elements: (e.g. Procedure, Array, Program, Event Queue, etc.) Level 3 Developed by Program Developed by Program Model of xUML... xUML Elements: (e.g. Class, Attribute, Association, Tag etc.) xUML Elements: (e.g. Class, Attribute, Association, Tag etc.) Level 2 Supplied by Kennedy Carter Supplied by Kennedy Carter Automatic Code Generation: The Code Generator Model of Application... Application Elements: (e.g. Aircraft, Missile, Target, etc.) Application Elements: (e.g. Aircraft, Missile, Target, etc.) Level 1 Developed by Program Developed by Program Generated Source Code for Target Platform The Code Generator includes all implementation-dependent details (those dependent upon the Application Software Interface – specific to the Hardware, the Software Execution Platform, the Implementation Language)

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company Automatic Code Generation: Code Generator Development Configurable Code Generator: l Code Generator is developed using the same eXecutable MDA strategy l Kennedy Carter supplies a set of xUML models (known as the Configurable Code Generator) that serve as a generic translation framework Configurable Code Generator: l Code Generator is developed using the same eXecutable MDA strategy l Kennedy Carter supplies a set of xUML models (known as the Configurable Code Generator) that serve as a generic translation framework

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company Automatic Code Generation: Code Generator Development Code Generator Development: l The Configurable Code Generator (iCCG) may be adapted to the meet the requirements of any Platform Specific Implementation (i.e. of any Application Software Interface) l Code Generator and Application Software develop- ment may be performed concurrently Code Generator Development: l The Configurable Code Generator (iCCG) may be adapted to the meet the requirements of any Platform Specific Implementation (i.e. of any Application Software Interface) l Code Generator and Application Software develop- ment may be performed concurrently

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company Automatic Code Generation: Summary  Automatic code generation is simply an extension of the code generation technique used for simulation of the eXecutable UML models on the development platform, this extension being for the target (embedded) platform  The code generator is developed within the same environment as the application software using the same eXecutable MDA strategy  Development cost: 1-2 architects  Nearly all implementation-specific design tasks (all but the design decisions represented by design tag values) are performed by the code generator, not the software developers Automatic Code Generation

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company Automatic Code Generator Portable Application Software Products Source Code Application Software Interface eXecutable UML Models Program Specific Program Specific Mapping (Design Tag Values) (Design Tag Values) Automatic Code Generator Program Specific Program Specific Mapping (Design Tag Values) (Design Tag Values) Source Code Application Software Interface eXecutable UML Models The Portable Products (and therefore the Configured Products to be placed in an Enterprise-Level Software Reuse Library)

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company Advantages of the eXecutable MDA Approach  The majority of software developers are isolated from implementation details, allowing them to focus on a thorough analysis of the application space  Maintenance of the application source code is eliminated, while maintenance of the xUML models is ensured  Defect injection (and the resulting rework) is reduced by automating the software phase in which most defects are injected  On a typical program, after Requirements Definition approximately 2/3 of the defects are injected during implementation (coding) Increased Quality

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company Advantages of the eXecutable MDA Approach  Rework is reduced  Early validation through simulation reduces rework  Increase in eXecutable UML modeling span time is more than offset by decrease in Integration & Test span time  Higher quality implementation (due to automation) reduces rework  Software development span time is reduced by automating the implementation phase  Application Software development schedule is reduced by at least 20%  The code generator, not each software developer, performs the majority of implementation-specific design tasks  40-60% of physical source code Increased Productivity

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company Advantages of the eXecutable MDA Approach  One Application Software xUML Model database may be reused (as is) on any platform for which a mapping is defined (ie: a code generator is developed)  xUML models are compatible with any hardware platform, any Software Execution Platform, and any Application Software Interface  xUML models are compatible with any implementation language Cross-Platform Compatibility The Goal of Cross-Platform Compatibility of Application Software is Attainable with the eXecutable MDA Approach The Goal of Cross-Platform Compatibility of Application Software is Attainable with the eXecutable MDA Approach

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company eXecutable MDA: Summary of Key Themes  The platform is an xUML virtual machine (but platform independent models can’t assume anything about the interface)  To validate PIMS as long-life assets we need eXecutable UML  eXecutable UML needs an action language, not a 3GL  Systems are integrated from multiple platform independent models  PIMS offer contracts for required and provided services  100% code generation is essential to make MDA a lightweight process  But don’t worry – its just another type of expert knowledge to formalise in xUML  It works  It makes sense  Its proven

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company Projects Using eXecutable MDA with KC’s Tools  BAE Systems: Stingray torpedo MLU  TRW Automotive: vehicle stability system  Siemens Metering: ‘intelligent’ gas meter  Thales: Nimrod MR4 crew trainers  GD Government Systems: ATM Switch for US Army  Royal Netherlands Navy: combat systems  Nortel Networks: Passport Voice Gateway  GCHQ: classified distributed application  UK NHS: patient control of access to medical records

K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company Contact Information Lauren E. Clark Chief Engineer F-16 Modular Mission Computer Software Lockheed Martin Aeronautics Company Terry Ruthruff Staff Specialist Software Engineering Core Lockheed Martin Aeronautics Company (817) Bary D. Hogan Methodology Lead F-16 Modular Mission Computer Software Lockheed Martin Aeronautics Company (817) (817) Allan Kennedy Managing Director Kennedy Carter Limited (+44)