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

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

Apr 01, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Lockheed Martin Aeronautics Company © 2001 Lockheed Martin Corporation F-16 Modular Mission Computer Application Software Achieving Cross-Platform Compatibility.

Lockheed Martin Aeronautics Company© 2001 Lockheed Martin Corporation

F-16 Modular Mission ComputerF-16 Modular Mission ComputerApplication SoftwareApplication Software

Achieving Cross-Platform Compatibility with Achieving Cross-Platform Compatibility with Increased Productivity and Quality using the Increased Productivity and Quality using the OMG’s Model Driven ArchitectureOMG’s Model Driven Architecture

Lauren E. ClarkLauren E. ClarkChief EngineerChief EngineerF-16 Modular Mission Computer SoftwareF-16 Modular Mission Computer SoftwareLockheed Martin Aeronautics CompanyLockheed Martin Aeronautics Company

Terry RuthruffTerry RuthruffStaff SpecialistStaff SpecialistSoftware Engineering CoreSoftware Engineering CoreLockheed Martin Aeronautics CompanyLockheed Martin Aeronautics Company

Allan KennedyAllan KennedyPresidentPresidentKennedy Carter LimitedKennedy Carter Limited

Bary D. HoganBary D. HoganMethodology LeadMethodology LeadF-16 Modular Mission Computer SoftwareF-16 Modular Mission Computer SoftwareLockheed Martin Aeronautics CompanyLockheed Martin Aeronautics Company

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

Lockheed Martin Aeronautics Company

AgendaAgenda

Basic Software ComponentsBasic Software Components

Cross-Platform Compatibility: The GoalCross-Platform Compatibility: The Goal

The eXecutable MDA Approach:The eXecutable MDA Approach: eXecutable UML ModelingeXecutable UML Modeling Platform Specific Mapping (Design Tagging)Platform Specific Mapping (Design Tagging) Automatic Code GenerationAutomatic Code Generation

Advantages of the eXecutable MDA ApproachAdvantages of the eXecutable MDA Approach

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

Lockheed Martin Aeronautics Company

Software

Basic Software ComponentsBasic Software Components

HardwareHardware

Software ExecutionPlatform

Application Software

Application Software Interface

Application Software:

High-level software that is unique to the application(s) for which the embedded computer (i.e. subsystem) exists

80-90% of the total software (in terms of long-term development cost)

Application Software:

High-level software that is unique to the application(s) for which the embedded computer (i.e. subsystem) exists

80-90% of the total software (in terms of long-term development cost)

Software Execution Platform:

Low-level software, the purpose of which is to allow the Application Software to run on the hardware

Software Execution Platform:

Low-level software, the purpose of which is to allow the Application Software to run on the hardware

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

Lockheed Martin Aeronautics Company

Software ExecutionPlatform

Board Support Package / BIT

Software Execution PlatformSoftware Execution Platform

HardwareHardware

Application Software

Application Software Interface

Device Drivers Operating System

Software ArchitectureSoftware Execution Platform:

Low-level software, the purpose of which is to allow the Application Software to run on the hardware

Software Execution Platform:

Low-level software, the purpose of which is to allow the Application Software to run on the hardware

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

Lockheed Martin Aeronautics Company

Software ExecutionPlatform

Board Support Package / BIT

Board Support Package / Built-In TestBoard Support Package / Built-In Test

HardwareHardware

Application Software

Application Software Interface

Device Drivers Operating System

Software Architecture

Board Support Package:

Lowest-level boot software / firmware that allows all other software (including the Operating System) to be loaded into memory and begin executing

Unique to the hardware; and usually delivered with the hardware (located in some type of ROM)

Built-In Test (BIT):

Low-level software that detects and reports hardware errors

Unique to the hardware; and usually delivered with the hardware

Board Support Package:

Lowest-level boot software / firmware that allows all other software (including the Operating System) to be loaded into memory and begin executing

Unique to the hardware; and usually delivered with the hardware (located in some type of ROM)

Built-In Test (BIT):

Low-level software that detects and reports hardware errors

Unique to the hardware; and usually delivered with the hardware

Board Support Package / BITBoard Support Package / BIT

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

Lockheed Martin Aeronautics Company

Software ExecutionPlatformOperating System

Operating SystemOperating System

HardwareHardware

Application Software

Application Software Interface

Operating System:

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.)

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:

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.)

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 SystemOperating System

Board Support Package / BIT

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

Lockheed Martin Aeronautics Company

Software ExecutionPlatformDevice Drivers Operating System

Device DriversDevice Drivers

HardwareHardware

Application Software

Application Software Interface

Device Drivers:

Low-level software that manages the input from and output to the various external devices in support of the Application Software

Unique to the hardware; but usually not delivered with the hardware

Device Drivers:

Low-level software that manages the input from and output to the various external devices in support of the Application Software

Unique to the hardware; but usually not delivered with the hardware

Software Architecture

Board Support Package / BIT

Device DriversDevice Drivers

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

Lockheed Martin Aeronautics Company

Software ExecutionPlatformDevice Drivers Operating System

Software Architecture

Software ArchitectureSoftware Architecture

HardwareHardware

Application Software

Application Software Interface

Software Architecture:

Low-level software providing the framework within which the Application Software executes

Provides execution control, data / message management, error handling, and various support services to the Application Software

Assumes a particular Application Software language

Unique to the hardware; but, since it must support all requirements levied by the Application Software, is not delivered with the hardware

Software Architecture:

Low-level software providing the framework within which the Application Software executes

Provides execution control, data / message management, error handling, and various support services to the Application Software

Assumes a particular Application Software language

Unique to the hardware; but, since it must support all requirements levied by the Application Software, is not delivered with the hardwareBoard Support Package / BIT

Software ArchitectureSoftware Architecture

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

Lockheed Martin Aeronautics Company

Application Software InterfaceApplication Software InterfaceApplication Software Interface

Software ExecutionPlatformDevice Drivers Operating System

Software Architecture

Application Software InterfaceApplication Software Interface

HardwareHardware

Application Software

Application Software Interface:

The boundary between the Application Software and the Software Execution Platform

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

This interface is specified by the Software Execution Platform

Application Software Interface:

The boundary between the Application Software and the Software Execution Platform

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

This interface is specified by the Software Execution PlatformBoard Support Package / BIT

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

Lockheed Martin Aeronautics Company

Hardware Platform #2Hardware Platform #2

Application Software

Board Support Package / BITBoard Support Package / BIT

Device DriversDevice Drivers Operating SystemOperating System

Software ArchitectureSoftware Architecture

Application Software Interface

HoldConstant

HardwareHardware

Cross-Platform Compatibility: The Usual ApproachCross-Platform Compatibility: The Usual Approach

Hardware Platform #1Hardware Platform #1

Application Software

Application Software Interface

Device Drivers Operating System

Software Architecture

Board Support Package / BIT

Maintain a constant Application Software InterfaceMaintain a constant Application Software Interface

Portable

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

Lockheed Martin Aeronautics Company

Hardware PlatformHardware Platform

Cross-Platform Compatibility IssuesCross-Platform Compatibility Issues

Application Software

Device DriversDevice Drivers Operating SystemOperating System

Software ArchitectureSoftware Architecture

Application Software Interface

Board Support Package / BITBoard Support Package / BIT

Can a constantCan a constantApplication Software InterfaceApplication Software Interface

always be maintained?always be maintained?

Consider…

What if the language or operating system becomes obsolete?

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…

What if the language or operating system becomes obsolete?

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?

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

Lockheed Martin Aeronautics Company

Hardware PlatformHardware Platform

Cross-Platform Compatibility IssuesCross-Platform Compatibility Issues

Application Software

Device DriversDevice Drivers Operating SystemOperating System

Software ArchitectureSoftware Architecture

Application Software Interface

Board Support Package / BITBoard Support Package / BIT

Even if it were possible, would one Even if it were possible, would one always want to maintain a constant always want to maintain a constant

Application Software Interface?Application Software Interface?

Consider…

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…

What if hardware or Software Execution Platform changes could provide more Application Software capability, but only by means of changing the Application Software Interface?

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

Lockheed Martin Aeronautics Company

Hardware PlatformHardware Platform

Cross-Platform Compatibility: The GoalCross-Platform Compatibility: The Goal

Application Software

Device DriversDevice Drivers Operating SystemOperating System

Software ArchitectureSoftware Architecture

Application Software Interface

Board Support Package / BITBoard Support Package / BIT

The goalThe goalshould be to provideshould be to provide

cross-platform compatibilitycross-platform compatibilityof Application Softwareof Application Software

despite despite anyanyImplementation,Implementation,

or platform specific, changesor platform specific, changes::

that is, changes tothat is, changes tothe Hardware Platform,the Hardware Platform,

the Software Execution Platform,the Software Execution Platform,or theor the

Application Software InterfaceApplication Software Interface

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

Lockheed Martin Aeronautics Company

eXecutable MDA: Application Software DevelopmenteXecutable MDA: Application Software Development

eXecutable UMLeXecutable UMLModelingModeling

RequirementsRequirementsDefinitionDefinition

IntegrationIntegration& Test& Test

Platform SpecificPlatform SpecificMappingMapping

(Design Tagging)(Design Tagging)

AutomaticCode Generation

ApplicationSoftwareInterfaceDefinition

The eXecutableThe eXecutableMDA ApproachMDA Approach

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

Lockheed Martin Aeronautics Company

eXecutable UML Modeling: Domain ModeleXecutable UML Modeling: Domain Model

Domain Model(Package Diagram):

The software application space is partitioned into multiple platform independent models (or domains)

Mappings between the domains (bridges) are defined

Domain Model(Package Diagram):

The software application space is partitioned into multiple platform independent models (or domains)

Mappings between the domains (bridges) are defined

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

Lockheed Martin Aeronautics Company

eXecutable UML Modeling: Class DiagramseXecutable UML Modeling: Class Diagrams

Class Diagrams:

Within each platform independent domain model, conceptual entities are modeled first: classes,attributes, and associations are abstracted

Behavior, though considered, is not modeled explicitly in this view

Class Diagrams:

Within each platform independent domain model, conceptual entities are modeled first: classes,attributes, and associations are abstracted

Behavior, though considered, is not modeled explicitly in this view

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

Lockheed Martin Aeronautics Company

eXecutable UML Modeling: State ChartseXecutable UML Modeling: State Charts

State Charts:

Behavior is formalized during state modeling

Class lifecycles are modeled using signal-driven state machines

Class operations are defined

State Charts:

Behavior is formalized during state modeling

Class lifecycles are modeled using signal-driven state machines

Class operations are defined

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

Lockheed Martin Aeronautics Company

eXecutable UML Modeling: ASLeXecutable UML Modeling: ASL

Action Specification Language:

State actions and class operations are specified using a precise Action Specification Language (ASL)

ASL is a higher order and much simpler language than a typical high order language (e.g. C++)

ASL deals with object oriented concepts, not implementation concepts

ASL conforms to the UML Precise Action Semantics

Action Specification Language:

State actions and class operations are specified using a precise Action Specification Language (ASL)

ASL is a higher order and much simpler language than a typical high order language (e.g. C++)

ASL deals with object oriented concepts, not implementation concepts

ASL conforms to the UML Precise Action Semantics

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

Lockheed Martin Aeronautics Company

eXecutable UML Modeling: SimulationeXecutable UML Modeling: Simulation

Simulation:

Since a precise Action Specification Language is used, models are executable and therefore may be simulated

Simulation features resemble those of a high order language debugger

Models may be validated long before they are implemented

Simulation:

Since a precise Action Specification Language is used, models are executable and therefore may be simulated

Simulation features resemble those of a high order language debugger

Models may be validated long before they are implemented

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

Lockheed Martin Aeronautics Company

eXecutable UML Modeling: SummaryeXecutable UML Modeling: Summary

eXecutable UMLeXecutable UMLModelingModeling

xUML models are a complete representation xUML models are a complete representation of the application space (not a top-level or of the application space (not a top-level or preliminary design)preliminary design)

Modeling is performed using a Unified Modeling is performed using a Unified Modeling Language (UML) representationModeling Language (UML) representation

Modeling makes use of a precise Action Modeling makes use of a precise Action Specification Language (ASL) and is Specification Language (ASL) and is therefore executable (providing early therefore executable (providing early validation of the models)validation of the models)

Each xUML model is a Platform Independent Each xUML model is a Platform Independent Model (PIM), or completely implementation-Model (PIM), or completely implementation-independent (i.e. independent of the independent (i.e. independent of the hardware platform, the software execution hardware platform, the software execution platform, and the application software platform, and the application software interface)interface)

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

Lockheed Martin Aeronautics Company

Design Tags

Class Allocation Program Allocation Max Instance Count Event Rate Event Queue Throw Away Initialization Source Type Subtype of etc.

Design Tags

Class Allocation Program Allocation Max Instance Count Event Rate Event Queue Throw Away Initialization Source Type Subtype of etc.

Design Tagging: Specifying the PIM to PSM MappingDesign Tagging: Specifying the PIM to PSM Mapping

Source Code Files

...

...

......Automatic

Code Generator

xUML Models

...

...

Application Software Interface Definition

Software ExecutionPlatform Specific

Software ExecutionPlatform Specific

LanguageSpecific

LanguageSpecific

Defines

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

Lockheed Martin Aeronautics Company

Design Tagging: Specifying the PIM to PSM MappingDesign Tagging: Specifying the PIM to PSM Mapping

Design Tagging:

Design tag values represent implementation-specific design decisions

Design tagging is applied to, but not embedded in, the xUML models (tags and tag values may be included or excluded)

Code Generator assumes the most standard implementation, such that only exceptions must be tagged

Design Tagging:

Design tag values represent implementation-specific design decisions

Design tagging is applied to, but not embedded in, the xUML models (tags and tag values may be included or excluded)

Code Generator assumes the most standard implementation, such that only exceptions must be tagged

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

Lockheed Martin Aeronautics Company

Design Tagging: SummaryDesign Tagging: Summary

Whereas xUML modeling is implementation- Whereas xUML modeling is implementation- independent, Design Tagging is implemen-independent, Design Tagging is implemen-tation-dependent (i.e. specific to a particular tation-dependent (i.e. specific to a particular Application Software Interface)Application Software Interface)

Implementation-specific design decisions Implementation-specific design decisions (only those needed to support code (only those needed to support code generation) are made during Design Tagging, generation) are made during Design Tagging, and are represented with design tag values and are represented with design tag values that are applied to the xUML modelsthat are applied to the xUML models

The most standard implementation is always The most standard implementation is always assumed by the code generator, such that assumed by the code generator, such that only exceptions must be taggedonly exceptions must be tagged

Design Tagging is overlaid on (not Design Tagging is overlaid on (not embedded in) the xUML models, such that it embedded in) the xUML models, such that it may be included or excludedmay be included or excluded

Platform SpecificPlatform SpecificMappingMapping

(Design Tagging)(Design Tagging)

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

Lockheed Martin Aeronautics Company

Modelof

Implementation

...

...

Automatic Code Generation: 3 Levels of ModelsAutomatic Code Generation: 3 Levels of Models

Modelof

xUML

...

...xUML Elements:(e.g. Class, Attribute,

Association,Tag, etc.)

xUML Elements:(e.g. Class, Attribute,

Association,Tag, etc.)

Modelof

Application

...

...ApplicationElements:

(e.g. Aircraft, Missile,Target, etc.)

ApplicationElements:

(e.g. Aircraft, Missile,Target, etc.)

ImplementationElements:

(e.g. Procedure, Array,Program, Event

Queue, etc.)

ImplementationElements:

(e.g. Procedure, Array,Program, Event

Queue, etc.)

Level 1Level 1

Level 2Level 2

Level 3Level 3Developed

byProgram

Developedby

Program

Supplied byTool

Vendor

Supplied byTool

Vendor

Developedby

Program

Developedby

Program

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

Lockheed Martin Aeronautics Company

Modelof

xUML

...

...xUML Elements:(e.g. Class, Attribute,

Association,Tag, etc.)

xUML Elements:(e.g. Class, Attribute,

Association,Tag, etc.)

Level 2Level 2Supplied by

ToolVendor

Supplied byTool

Vendor

Automatic Code Generation: Level 2 - Simulation CodeAutomatic Code Generation: Level 2 - Simulation Code

Step 1:Step 1: Populate instances Populate instancesof of xUML MetamodelxUML Metamodel with with

Model of ApplicationModel of Application

Code Generation:Code Generation:Generation ofGeneration of

Simulation CodeSimulation Codefor Developmentfor Development

PlatformPlatform(e.g. UNIX C Code)(e.g. UNIX C Code)

Modelof

Application

...

...ApplicationElements:

(e.g. Aircraft, Missile,Target, etc.)

ApplicationElements:

(e.g. Aircraft, Missile,Target, etc.)

Level 1Level 1Developed

byProgram

Developedby

Program

When we say that “xUML models are executable” we mean that“executable code can be automatically generated from them”

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

Lockheed Martin Aeronautics Company

Modelof

Implementation

...

...ImplementationElements:

(e.g. Procedure, Array,Program, Event

Queue, etc.)

ImplementationElements:

(e.g. Procedure, Array,Program, Event

Queue, etc.)

Level 3Level 3Developed

byProgram

Developedby

Program

Modelof

xUML

...

...xUML Elements:(e.g. Class, Attribute,

Association,Tag, etc.)

xUML Elements:(e.g. Class, Attribute,

Association,Tag, etc.)

Level 2Level 2Supplied by

ToolVendor

Supplied byTool

Vendor

Automatic Code Generation: Level 3 - Target CodeAutomatic Code Generation: Level 3 - Target Code

Step 1:Step 1: Populate instances Populate instancesof of xUML MetamodelxUML Metamodel with with

Model of ApplicationModel of Application

Modelof

Application

...

...ApplicationElements:

(e.g. Aircraft, Missile,Target, etc.)

ApplicationElements:

(e.g. Aircraft, Missile,Target, etc.)

Level 1Level 1Developed

byProgram

Developedby

Program

Step 2:Step 2: Populate instances Populate instancesof of Model of ImplementationModel of Implementation

with with populated xUMLpopulated xUMLMetamodel instancesMetamodel instances

Code Generation:Code Generation:Generation ofGeneration ofSource CodeSource Code

for Targetfor Target(Embedded)(Embedded)

PlatformPlatform(e.g. Ada/C++ Code)(e.g. Ada/C++ Code)

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

Lockheed Martin Aeronautics Company

The Code GeneratorThe Code Generator

Modelof

Implementation

...

...ImplementationElements:

(e.g. Procedure, Array,Program, Event

Queue, etc.)

ImplementationElements:

(e.g. Procedure, Array,Program, Event

Queue, etc.)

Level 3Level 3Developed

byProgram

Developedby

Program

Modelof

xUML

...

...xUML Elements:(e.g. Class, Attribute,

Association,Tag etc.)

xUML Elements:(e.g. Class, Attribute,

Association,Tag etc.)

Level 2Level 2Supplied by

ToolVendor

Supplied byTool

Vendor

Automatic Code Generation: The Code GeneratorAutomatic Code Generation: The Code Generator

Modelof

Application

...

...ApplicationElements:

(e.g. Aircraft, Missile,Target, etc.)

ApplicationElements:

(e.g. Aircraft, Missile,Target, etc.)

Level 1Level 1Developed

byProgram

Developedby

Program

GeneratedGeneratedSource CodeSource Code

for Targetfor TargetPlatformPlatform

The Code Generator includes all implementation-dependent detailsThe Code Generator includes all implementation-dependent details(those dependent upon the Application Software Interface – specific to the (those dependent upon the Application Software Interface – specific to the Hardware, the Software Execution Platform, the Implementation Language)Hardware, the Software Execution Platform, the Implementation Language)

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

Lockheed Martin Aeronautics Company

Automatic Code Generation: Code Generator DevelopmentAutomatic Code Generation: Code Generator Development

Configurable Code Generator:

Code Generator is developed using the same eXecutable MDA strategy

The Tool Vendor supplies a set of xUML models (known as the Configurable Code Generator) that serve as a generic translation framework

Configurable Code Generator:

Code Generator is developed using the same eXecutable MDA strategy

The Tool Vendor supplies a set of xUML models (known as the Configurable Code Generator) that serve as a generic translation framework

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

Lockheed Martin Aeronautics Company

Automatic Code Generation: Code Generator DevelopmentAutomatic Code Generation: Code Generator Development

Code Generator Development:

The Configurable Code Generator may be adapted to the meet the requirements of any Platform Specific Implementation (i.e. of any Application Software Interface)

Code Generator and Application Software develop- ment may be performed concurrently

Code Generator Development:

The Configurable Code Generator may be adapted to the meet the requirements of any Platform Specific Implementation (i.e. of any Application Software Interface)

Code Generator and Application Software develop- ment may be performed concurrently

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

Lockheed Martin Aeronautics Company

Automatic Code Generation: SummaryAutomatic Code Generation: Summary

Automatic code generation is simply an Automatic code generation is simply an extension of the code generation technique extension of the code generation technique used for simulation of the eXecutable UML used for simulation of the eXecutable UML models on the development platform, this models on the development platform, this extension being for the target (embedded) extension being for the target (embedded) platformplatform

The code generator is developed within the The code generator is developed within the same environment as the application same environment as the application software using the same eXecutable MDA software using the same eXecutable MDA strategystrategy Development cost: 1-2 architectsDevelopment cost: 1-2 architects

Nearly all implementation-specific design Nearly all implementation-specific design tasks (all but the design decisions tasks (all but the design decisions represented by design tag values) are represented by design tag values) are performed by the code generator, not the performed by the code generator, not the software developerssoftware developers

AutomaticCode Generation

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

Lockheed Martin Aeronautics Company

Automatic Code Generator

Portable Application Software ProductsPortable Application Software Products

Source CodeSource Code

ApplicationSoftwareInterface

eXecutable UMLeXecutable UMLModelsModels

Program SpecificProgram SpecificMappingMapping

(Design Tag Values)(Design Tag Values)

Automatic Code Generator

Program SpecificProgram SpecificMappingMapping

(Design Tag Values)(Design Tag Values)

Source CodeSource Code

ApplicationSoftwareInterface

eXecutable UMLeXecutable UMLModelsModels

The Portable ProductsThe Portable Products(and therefore the Configured Products(and therefore the Configured Productsto be placed in an Enterprise-Level to be placed in an Enterprise-Level Software Reuse Library)Software Reuse Library)

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

Lockheed Martin Aeronautics Company

Advantages of the eXecutable MDA ApproachAdvantages of the eXecutable MDA Approach

The majority of software developers are The majority of software developers are isolated from implementation details, isolated from implementation details, allowing them to focus on a thorough allowing them to focus on a thorough analysis of the application spaceanalysis of the application space

Maintenance of the application source code Maintenance of the application source code is eliminated, while maintenance of the xUML is eliminated, while maintenance of the xUML models is ensuredmodels is ensured

Defect injection (and the resulting rework) is Defect injection (and the resulting rework) is reduced by automating the software phase in reduced by automating the software phase in which most defects are injectedwhich most defects are injected On a typical program, after Requirements On a typical program, after Requirements

Definition approximately 2/3 of the defects Definition approximately 2/3 of the defects are injected during implementation are injected during implementation (coding)(coding)

Increased QualityIncreased Quality

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

Lockheed Martin Aeronautics Company

Advantages of the eXecutable MDA ApproachAdvantages of the eXecutable MDA Approach

Rework is reducedRework is reduced Early validation through simulation Early validation through simulation

reduces reworkreduces rework Increase in eXecutable UML modeling Increase in eXecutable UML modeling

span time is more than offset by decrease span time is more than offset by decrease in Integration & Test span timein Integration & Test span time

Higher quality implementation (due to Higher quality implementation (due to automation) reduces reworkautomation) reduces rework

Software development span time is reduced Software development span time is reduced by automating the implementation phaseby automating the implementation phase Application Software development Application Software development

schedule is reduced by at least 20%schedule is reduced by at least 20% The code generator, not each software The code generator, not each software

developer, performs the majority of developer, performs the majority of implementation-specific design tasksimplementation-specific design tasks 40-60% of physical source code40-60% of physical source code

Increased ProductivityIncreased Productivity

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

Lockheed Martin Aeronautics Company

Advantages of the eXecutable MDA ApproachAdvantages of the eXecutable MDA Approach

One Application Software xUML Model One Application Software xUML Model database may be reused (as is) on any database may be reused (as is) on any platform for which a code generator is platform for which a code generator is developeddeveloped xUML models are compatible with any xUML models are compatible with any

hardware platform, any Software hardware platform, any Software Execution Platform, and any Application Execution Platform, and any Application Software InterfaceSoftware Interface

xUML models are compatible with any xUML models are compatible with any implementation languageimplementation language

Cross-Platform CompatibilityCross-Platform Compatibility

The Goal of Cross-Platform Compatibility of Application SoftwareThe Goal of Cross-Platform Compatibility of Application Softwareis Attainable with the eXecutable MDA Approachis Attainable with the eXecutable MDA Approach

The Goal of Cross-Platform Compatibility of Application SoftwareThe Goal of Cross-Platform Compatibility of Application Softwareis Attainable with the eXecutable MDA Approachis Attainable with the eXecutable MDA Approach

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

Lockheed Martin Aeronautics Company

Contact InformationContact Information

Lauren E. ClarkLauren E. ClarkChief EngineerChief EngineerF-16 Modular Mission Computer SoftwareF-16 Modular Mission Computer SoftwareLockheed Martin Aeronautics CompanyLockheed Martin Aeronautics Company

Terry RuthruffTerry RuthruffStaff SpecialistStaff SpecialistSoftware Engineering CoreSoftware Engineering CoreLockheed Martin Aeronautics CompanyLockheed Martin Aeronautics Company

[email protected](817) 763-2748(817) 763-2748

Bary D. HoganBary D. HoganMethodology LeadMethodology LeadF-16 Modular Mission Computer SoftwareF-16 Modular Mission Computer SoftwareLockheed Martin Aeronautics CompanyLockheed Martin Aeronautics Company

[email protected](817) 763-3525(817) 763-3525

[email protected](817) 763-2620(817) 763-2620

Allan KennedyAllan KennedyPresidentPresidentKennedy Carter LimitedKennedy Carter Limited

[email protected](+44) 1483 483 200(+44) 1483 483 200