F16 Modular Mission Computer Application Software Achieving CrossPlatform

  • Slides: 32
Download presentation
F-16 Modular Mission Computer Application Software Achieving Cross-Platform Compatibility with Increased Productivity and Quality

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

Agenda · The Platform · Cross-Platform Compatibility: The Goal · The e. Xecutable MDA

Agenda · The Platform · Cross-Platform Compatibility: The Goal · The e. Xecutable MDA Approach: - e. Xecutable UML Modeling - Platform Specific Mapping (Design Tagging) - Automatic Code Generation · Benefits derived from using e. Xecutable MDA K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company

Basic Software Components Application Software: l High-level software that is unique to the application(s)

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

Software Execution Platform Application Software Interface Software Architecture Software Execution Operating System Platform Device

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

Software Architecture: Application Software Interface Software Architecture Software Execution Operating System Platform Device Drivers

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

Application Software Interface: l The boundary between the Application Software and the Software Execution

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

Cross-Platform Compatibility: The Usual Approach Maintain a constant Application Software Interface Portable Application Software

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

Cross-Platform Compatibility Issues Application Software Can a constant Application Software Interface always be maintained?

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

Cross-Platform Compatibility Issues Application Software Even if it were possible, would one always want

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

Cross-Platform Compatibility: The Goal Application Software The goal should be to provide cross-platform compatibility

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

e. Xecutable MDA: Application Software Development Requirements Definition The e. Xecutable MDA Approach e.

e. Xecutable MDA: Application Software Development Requirements Definition The e. Xecutable MDA Approach e. Xecutable UML Modeling as supported by KC’s i. UML and i. CCG Platform Specific Mapping (Design Tagging) Application Software Interface Definition K E N N E D Y C A R T E R Automatic Code Generation Integration & Test Lockheed Martin Aeronautics Company

e. Xecutable UML Modeling: Domain Model (Package Diagram): The software application space is partitioned

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

e. Xecutable UML Modeling: Class Diagrams: K E N N E D Y C

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

e. Xecutable UML Modeling: State Charts: K E N N E D Y C

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

e. Xecutable UML Modeling: Action Language Action Specification Language: K E N N E

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

e. Xecutable UML Modeling: Simulation: K E N N E D Y C A

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

Design Tagging: Specifying the PIM to PSM Mapping Design Tags Class Allocation l Program

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

Design Tagging: Specifying the PIM to PSM Mapping Design Tagging: K E N N

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

Automatic Code Generation: 3 Levels of Models Level 3 Level 2 Level 1 Model

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

Automatic Code Generation: Level 2 - Simulation Code When we say that “x. UML

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

Automatic Code Generation: Level 3 - Target Code Level 3 Level 2 Level 1

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

Automatic Code Generation: The Code Generator Level 3 Level 2 Level 1 Model of

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

Automatic Code Generation: Code Generator Development Configurable Code Generator: K E N N E

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

Automatic Code Generation: Code Generator Development: K E N N E D Y C

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

Automatic Code Generation: Summary Automatic Code Generation · Automatic code generation is simply an

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

Portable Application Software Products The Portable Products e. Xecutable UML Models (and therefore the

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

Advantages of the e. Xecutable MDA Approach Increased Quality · The majority of software

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

Advantages of the e. Xecutable MDA Approach Increased Productivity · Rework is reduced -

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

Advantages of the e. Xecutable MDA Approach Cross-Platform Compatibility · One Application Software x.

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

e. Xecutable MDA: Summary of Key Themes · The platform is an x. UML

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

Projects Using e. Xecutable MDA with KC’s Tools · · · · · BAE

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

Contact Information Lauren E. Clark Chief Engineer F-16 Modular Mission Computer Software Lockheed Martin

Contact Information Lauren E. Clark Chief Engineer F-16 Modular Mission Computer Software Lockheed Martin Aeronautics Company Lauren. E. Clark@lmco. com (817) 763 -2748 Terry Ruthruff Staff Specialist Software Engineering Core Lockheed Martin Aeronautics Company Terry. Ruthruff@lmco. com (817) 763 -3525 Bary D. Hogan Methodology Lead F-16 Modular Mission Computer Software Lockheed Martin Aeronautics Company Bary. D. Hogan@lmco. com (817) 763 -2620 Allan Kennedy Managing Director Kennedy Carter Limited allan. kennedy@kc. com (+44) 1483 226 180 K E N N E D Y C A R T E R Lockheed Martin Aeronautics Company