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