+ All Categories
Home > Documents > F-16 Modular Mission Computer Application … Martin Aeronautics Company Software Basic Software...

F-16 Modular Mission Computer Application … Martin Aeronautics Company Software Basic Software...

Date post: 30-Aug-2018
Category:
Upload: lehanh
View: 220 times
Download: 0 times
Share this document with a friend
35
Lockheed Martin Aeronautics Company © 2001 Lockheed Martin Corporation F F - - 16 Modular Mission Computer 16 Modular Mission Computer Application Software Application Software Achieving Cross Achieving Cross - - Platform Compatibility with Platform Compatibility with Increased Productivity and Quality using the Increased Productivity and Quality using the OMG OMG s s Model Driven Architecture Model Driven Architecture Lauren E. Clark Lauren E. Clark Chief Engineer Chief Engineer F F - - 16 Modular Mission Computer Software 16 Modular Mission Computer Software Lockheed Martin Aeronautics Company Lockheed Martin Aeronautics Company Terry Terry Ruthruff 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 Bary D. Hogan D. Hogan Methodology Lead Methodology Lead F F - - 16 Modular Mission Computer Software 16 Modular Mission Computer Software Lockheed Martin Aeronautics Company Lockheed Martin Aeronautics Company
Transcript

Lockheed Martin Aeronautics Company© 2001 Lockheed Martin Corporation

FF--16 Modular Mission Computer16 Modular Mission ComputerApplication SoftwareApplication Software

Achieving CrossAchieving Cross--Platform Compatibility with Platform Compatibility with Increased Productivity and Quality using the Increased Productivity and Quality using the OMGOMG’’s s Model Driven ArchitectureModel Driven Architecture

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

Terry Terry RuthruffRuthruffStaff SpecialistStaff SpecialistSoftware Engineering CoreSoftware Engineering CoreLockheed Martin Aeronautics CompanyLockheed Martin Aeronautics Company

Allan KennedyAllan KennedyPresidentPresidentKennedy Carter LimitedKennedy Carter Limited

Bary Bary D. HoganD. HoganMethodology LeadMethodology LeadFF--16 Modular Mission Computer Software16 Modular Mission Computer SoftwareLockheed Martin Aeronautics CompanyLockheed Martin Aeronautics Company

Lockheed Martin Aeronautics Company

AgendaAgenda

•• Basic Software ComponentsBasic Software Components

•• CrossCross--Platform Compatibility: The GoalPlatform Compatibility: The Goal

•• The The eXecutableeXecutable MDA Approach:MDA Approach:−− eXecutable eXecutable UML ModelingUML Modeling−− Platform Specific Mapping (Design Tagging)Platform Specific Mapping (Design Tagging)−− Automatic Code GenerationAutomatic Code Generation

•• Advantages of the Advantages of the eXecutableeXecutable MDA ApproachMDA Approach

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 tothe application(s) for which theembedded computer (i.e. subsystem)exists

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

Application Software:

● High-level software that is unique tothe application(s) for which theembedded computer (i.e. subsystem)exists

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

Software Execution Platform:

● Low-level software, the purpose ofwhich is to allow the ApplicationSoftware to run on the hardware

Software Execution Platform:

● Low-level software, the purpose ofwhich is to allow the ApplicationSoftware to run on the hardware

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 ofwhich is to allow the ApplicationSoftware to run on the hardware

Software Execution Platform:

● Low-level software, the purpose ofwhich is to allow the ApplicationSoftware to run on the hardware

Lockheed Martin Aeronautics Company

Software ExecutionPlatform

Board Support Package / BIT

Board Support Package / BuiltBoard Support Package / Built--In TestIn Test

HardwareHardware

Application Software

Application Software Interface

Device Drivers Operating System

Software Architecture

Board Support Package:

● Lowest-level boot software / firmwarethat allows all other software (includingthe Operating System) to be loadedinto memory and begin executing

● Unique to the hardware; and usuallydelivered with the hardware (locatedin some type of ROM)

Built-In Test (BIT):

● Low-level software that detects andreports hardware errors

● Unique to the hardware; and usuallydelivered with the hardware

Board Support Package:

● Lowest-level boot software / firmwarethat allows all other software (includingthe Operating System) to be loadedinto memory and begin executing

● Unique to the hardware; and usuallydelivered with the hardware (locatedin some type of ROM)

Built-In Test (BIT):

● Low-level software that detects andreports hardware errors

● Unique to the hardware; and usuallydelivered with the hardware

Board Support Package / BITBoard Support Package / BIT

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 (thismanagement involving such things asmultitasking, memory sharing, I/Ointerrupt handling, error and statusreporting, etc.)

● Unique to the hardware (i.e. it must atleast be ported to each new hardwareplatform); and sometimes deliveredwith the hardware

Operating System:

● Low-level software that, once booted,manages all other software (thismanagement involving such things asmultitasking, memory sharing, I/Ointerrupt handling, error and statusreporting, etc.)

● Unique to the hardware (i.e. it must atleast be ported to each new hardwareplatform); and sometimes deliveredwith the hardware

Device Drivers

Software Architecture

Operating SystemOperating System

Board Support Package / BIT

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 theinput from and output to the variousexternal devices in support of theApplication Software

● Unique to the hardware; but usuallynot delivered with the hardware

Device Drivers:

● Low-level software that manages theinput from and output to the variousexternal devices in support of theApplication Software

● Unique to the hardware; but usuallynot delivered with the hardware

Software Architecture

Board Support Package / BIT

Device DriversDevice Drivers

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 theframework within which the ApplicationSoftware executes

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

● Assumes a particular ApplicationSoftware language

● Unique to the hardware; but, since itmust support all requirements leviedby the Application Software, is notdelivered with the hardware

Software Architecture:

● Low-level software providing theframework within which the ApplicationSoftware executes

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

● Assumes a particular ApplicationSoftware language

● Unique to the hardware; but, since itmust support all requirements leviedby the Application Software, is notdelivered with the hardwareBoard Support Package / BIT

Software ArchitectureSoftware Architecture

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 ApplicationSoftware and the Software ExecutionPlatform

● The specified methods by which theApplication Software can makerequests and use the services of theSoftware Execution Platform and theSoftware Execution Platform canprovide its services to the ApplicationSoftware

● This interface is specified by theSoftware Execution Platform

Application Software Interface:

● The boundary between the ApplicationSoftware and the Software ExecutionPlatform

● The specified methods by which theApplication Software can makerequests and use the services of theSoftware Execution Platform and theSoftware Execution Platform canprovide its services to the ApplicationSoftware

● This interface is specified by theSoftware Execution PlatformBoard Support Package / BIT

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

CrossCross--Platform Compatibility: The Usual ApproachPlatform 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

Lockheed Martin Aeronautics Company

Hardware PlatformHardware Platform

CrossCross--Platform Compatibility IssuesPlatform 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 operatingsystem becomes obsolete?

● What if it is necessary to port evena part of the Application Softwareto a legacy platform not having theresources to support the newerSoftware Execution Platforms?

Consider…

● What if the language or operatingsystem becomes obsolete?

● What if it is necessary to port evena part of the Application Softwareto a legacy platform not having theresources to support the newerSoftware Execution Platforms?

Lockheed Martin Aeronautics Company

Hardware PlatformHardware Platform

CrossCross--Platform Compatibility IssuesPlatform 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 SoftwareExecution Platform changes couldprovide more Application Softwarecapability, but only by means ofchanging the Application SoftwareInterface?

Consider…

● What if hardware or SoftwareExecution Platform changes couldprovide more Application Softwarecapability, but only by means ofchanging the Application SoftwareInterface?

Lockheed Martin Aeronautics Company

Hardware PlatformHardware Platform

CrossCross--Platform Compatibility: The GoalPlatform 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

crosscross--platform compatibilityplatform 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

Lockheed Martin Aeronautics Company

eXecutableeXecutable MDA: Application Software DevelopmentMDA: Application Software Development

eXecutable eXecutable UMLUMLModelingModeling

RequirementsRequirementsDefinitionDefinition

IntegrationIntegration& Test& Test

Platform SpecificPlatform SpecificMappingMapping

(Design Tagging)(Design Tagging)

AutomaticCode Generation

ApplicationSoftwareInterfaceDefinition

The The eXecutableeXecutableMDA ApproachMDA Approach

Lockheed Martin Aeronautics Company

eXecutableeXecutable UML Modeling: Domain ModelUML Modeling: Domain Model

Domain Model(Package Diagram):

● The software application spaceis partitioned into multipleplatform independent models(or domains)

● Mappings between thedomains (bridges) are defined

Domain Model(Package Diagram):

● The software application spaceis partitioned into multipleplatform independent models(or domains)

● Mappings between thedomains (bridges) are defined

Lockheed Martin Aeronautics Company

eXecutableeXecutable UML Modeling: Class DiagramsUML Modeling: Class Diagrams

Class Diagrams:

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

● Behavior, though considered, isnot modeled explicitly in thisview

Class Diagrams:

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

● Behavior, though considered, isnot modeled explicitly in thisview

Lockheed Martin Aeronautics Company

eXecutableeXecutable UML Modeling: State ChartsUML Modeling: State Charts

State Charts:

● Behavior is formalized duringstate modeling

● Class lifecycles are modeledusing signal-driven statemachines

● Class operations are defined

State Charts:

● Behavior is formalized duringstate modeling

● Class lifecycles are modeledusing signal-driven statemachines

● Class operations are defined

Lockheed Martin Aeronautics Company

eXecutableeXecutable UML Modeling: ASLUML Modeling: ASL

Action Specification Language:

● State actions and classoperations are specified usinga precise Action SpecificationLanguage (ASL)

● ASL is a higher order and muchsimpler language than a typicalhigh order language (e.g. C++)

● ASL deals with object orientedconcepts, not implementationconcepts

● ASL conforms to the UMLPrecise Action Semantics

Action Specification Language:

● State actions and classoperations are specified usinga precise Action SpecificationLanguage (ASL)

● ASL is a higher order and muchsimpler language than a typicalhigh order language (e.g. C++)

● ASL deals with object orientedconcepts, not implementationconcepts

● ASL conforms to the UMLPrecise Action Semantics

Lockheed Martin Aeronautics Company

eXecutableeXecutable UML Modeling: SimulationUML Modeling: Simulation

Simulation:

● Since a precise ActionSpecification Language is used,models are executable andtherefore may be simulated

● Simulation features resemblethose of a high order languagedebugger

● Models may be validated longbefore they are implemented

Simulation:

● Since a precise ActionSpecification Language is used,models are executable andtherefore may be simulated

● Simulation features resemblethose of a high order languagedebugger

● Models may be validated longbefore they are implemented

Lockheed Martin Aeronautics Company

eXecutableeXecutable UML Modeling: SummaryUML Modeling: Summary

eXecutableeXecutable UMLUMLModelingModeling

•• xUML models are a complete representation xUML models are a complete representation of the application space (not a topof the application space (not a top--level or 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 implementationModel (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)

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

Lockheed Martin Aeronautics Company

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

Design Tagging:

● Design tag values representimplementation-specific designdecisions

● Design tagging is applied to,but not embedded in, the xUMLmodels (tags and tag valuesmay be included or excluded)

● Code Generator assumes themost standard implementation,such that only exceptions mustbe tagged

Design Tagging:

● Design tag values representimplementation-specific designdecisions

● Design tagging is applied to,but not embedded in, the xUMLmodels (tags and tag valuesmay be included or excluded)

● Code Generator assumes themost standard implementation,such that only exceptions mustbe tagged

Lockheed Martin Aeronautics Company

Design Tagging: SummaryDesign Tagging: Summary

•• Whereas xUML modeling is implementationWhereas xUML modeling is implementation--independent, Design Tagging is independent, Design Tagging is implemenimplemen--tationtation--dependent (i.e. specific to a particular dependent (i.e. specific to a particular Application Software Interface)Application Software Interface)

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

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

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

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 Automatic Code Generation: Level 2 -- Simulation CodeSimulation Code

Step 1:Step 1: Populate instancesPopulate instancesof of xUMLxUML MetamodelMetamodel withwith

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”

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 Automatic Code Generation: Level 3 -- Target CodeTarget Code

Step 1:Step 1: Populate instancesPopulate instancesof of xUMLxUML MetamodelMetamodel withwith

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 instancesPopulate instancesof of Model of ImplementationModel of Implementation

with with populated xUMLpopulated xUMLMetamodel Metamodel instancesinstances

Code Generation:Code Generation:Generation ofGeneration ofSource CodeSource Code

for Targetfor Target(Embedded)(Embedded)

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

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 implementationThe Code Generator includes all implementation--dependent detailsdependent details(those dependent upon the Application Software Interface (those dependent upon the Application Software Interface –– specific to the specific to the Hardware, the Software Execution Platform, the Implementation LaHardware, the Software Execution Platform, the Implementation Language)nguage)

Lockheed Martin Aeronautics Company

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

Configurable Code Generator:

● Code Generator is developedusing the same eXecutableMDA strategy

● The Tool Vendor supplies aset of xUML models (knownas the Configurable CodeGenerator) that serve as ageneric translation framework

Configurable Code Generator:

● Code Generator is developedusing the same eXecutableMDA strategy

● The Tool Vendor supplies aset of xUML models (knownas the Configurable CodeGenerator) that serve as ageneric translation framework

Lockheed Martin Aeronautics Company

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

Code Generator Development:

● The Configurable CodeGenerator may be adaptedto the meet the requirementsof any Platform SpecificImplementation (i.e. of anyApplication Software Interface)

● Code Generator andApplication Software develop-ment may be performedconcurrently

Code Generator Development:

● The Configurable CodeGenerator may be adaptedto the meet the requirementsof any Platform SpecificImplementation (i.e. of anyApplication Software Interface)

● Code Generator andApplication Software develop-ment may be performedconcurrently

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 used for simulation of the eXecutableeXecutable UML 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 software using the same eXecutable eXecutable MDA MDA strategystrategy−− Development cost: 1Development cost: 1--2 architects2 architects

•• Nearly all implementationNearly all implementation--specific design 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

Lockheed Martin Aeronautics Company

Automatic Code Generator

Portable Application Software ProductsPortable Application Software Products

Source CodeSource Code

ApplicationSoftwareInterface

eXecutable eXecutable UMLUMLModelsModels

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

eXecutableeXecutable UMLUMLModelsModels

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

Lockheed Martin Aeronautics Company

Advantages of the Advantages of the eXecutable eXecutable MDA ApproachMDA 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 Definition approximately 2/3 of the defects are injected during defects are injected during implementation (coding)implementation (coding)

Increased QualityIncreased Quality

Lockheed Martin Aeronautics Company

Advantages of the Advantages of the eXecutableeXecutable MDA ApproachMDA Approach

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

reduces reworkreduces rework•• Increase in Increase in eXecutableeXecutable UML modeling 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 implementationimplementation--specific design tasksspecific design tasks•• 4040--60% of physical source code60% of physical source code

Increased ProductivityIncreased Productivity

Lockheed Martin Aeronautics Company

Advantages of the Advantages of the eXecutableeXecutable MDA ApproachMDA 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

CrossCross--Platform CompatibilityPlatform Compatibility

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

The Goal of CrossThe Goal of Cross--Platform Compatibility of Application SoftwarePlatform Compatibility of Application Softwareis Attainable with the is Attainable with the eXecutable eXecutable MDA ApproachMDA Approach

Lockheed Martin Aeronautics Company

Contact InformationContact Information

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

Terry Terry RuthruffRuthruffStaff SpecialistStaff SpecialistSoftware Engineering CoreSoftware Engineering CoreLockheed Martin Aeronautics CompanyLockheed Martin Aeronautics Company

[email protected]@lmco.com(817) 763(817) 763--27482748

Bary Bary D. HoganD. HoganMethodology LeadMethodology LeadFF--16 Modular Mission Computer Software16 Modular Mission Computer SoftwareLockheed Martin Aeronautics CompanyLockheed Martin Aeronautics Company

[email protected]@lmco.com(817) 763(817) 763--35253525

[email protected]@lmco.com(817) 763(817) 763--26202620

Allan KennedyAllan KennedyPresidentPresidentKennedy Carter LimitedKennedy Carter Limited

allanallan@@kckc.com.com(+44) 1483 483 200(+44) 1483 483 200


Recommended