F-16 Modular Mission Computer Application Software

1y ago
12 Views
2 Downloads
737.82 KB
35 Pages
Last View : 1d ago
Last Download : 3m ago
Upload by : Milo Davies
Transcription

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 President Kennedy Carter Limited 2001 Lockheed Martin Corporation Lockheed Martin Aeronautics Company

Agenda Basic Software Components Cross-Platform Compatibility: The Goal The eXecutable MDA Approach: eXecutable UML Modeling Platform Specific Mapping (Design Tagging) Automatic Code Generation Advantages of the eXecutable MDA Approach Lockheed Martin Aeronautics Company

Basic Software Components Application ApplicationSoftware: Software: High-level High-levelsoftware softwarethat thatisisunique uniquetoto Application Software Software the theapplication(s) application(s)for forwhich whichthe the embedded embeddedcomputer computer(i.e. (i.e.subsystem) subsystem) exists exists 80-90% 80-90%ofofthe thetotal totalsoftware software(in (interms terms ofoflong-term long-termdevelopment developmentcost) cost) Application Software Interface Software Execution Platform Software SoftwareExecution ExecutionPlatform: Platform: Low-level Low-levelsoftware, software,the thepurpose purposeofof which whichisistotoallow allowthe theApplication Application Software Softwaretotorun runon onthe thehardware hardware Hardware Lockheed Martin Aeronautics Company

Software Execution Platform Application Software Application Software Interface Software Architecture Software Execution Operating System Platform Device Drivers Board Support Package / BIT Software SoftwareExecution ExecutionPlatform: Platform: Low-level Low-levelsoftware, software,the thepurpose purposeofof which whichisistotoallow allowthe theApplication Application Software Softwaretotorun runon onthe thehardware hardware Hardware Lockheed Martin Aeronautics Company

Board Support Package / Built-In Test Board BoardSupport SupportPackage: Package: Lowest-level Lowest-levelboot bootsoftware software/ /firmware firmware Application Software that thatallows allowsall allother othersoftware software(including (including the theOperating OperatingSystem) System)totobe beloaded loaded into intomemory memoryand andbegin beginexecuting executing Unique Uniquetotothe thehardware; hardware;and andusually usually Application Software Interface delivered deliveredwith withthe thehardware hardware(located (located ininsome type of ROM) some type of ROM) Built-In Built-InTest Test(BIT): (BIT): Software Architecture Software Execution Operating System Platform Device Drivers Board Support Package / BIT Low-level Low-levelsoftware softwarethat thatdetects detectsand and reports reportshardware hardwareerrors errors Unique Uniquetotothe thehardware; hardware;and andusually usually delivered deliveredwith withthe thehardware hardware Hardware Lockheed Martin Aeronautics Company

Operating System Application Software Application Software Interface Software Architecture Software Execution Operating System Platform Device Drivers Board Support Package / BIT Operating OperatingSystem: System: Low-level Low-levelsoftware softwarethat, that,once oncebooted, booted, manages managesall allother othersoftware software(this (this management managementinvolving involvingsuch suchthings thingsas as multitasking, multitasking,memory memorysharing, sharing,I/O I/O interrupt interrupthandling, handling,error errorand andstatus status reporting, reporting,etc.) etc.) Unique Uniqueto tothe thehardware hardware(i.e. (i.e.ititmust mustat at least leastbe beported portedtotoeach eachnew newhardware hardware platform); platform);and andsometimes sometimesdelivered delivered with withthe thehardware hardware Hardware Lockheed Martin Aeronautics Company

Device Drivers Application Software Device DeviceDrivers: Drivers: Application Software Interface Software Architecture Software Execution Operating System Platform Device Drivers Board Support Package / BIT Low-level Low-levelsoftware softwarethat thatmanages managesthe the input inputfrom fromand andoutput outputtotothe thevarious various external externaldevices devicesininsupport supportofofthe the Application ApplicationSoftware Software Unique Uniquetotothe thehardware; hardware;but butusually usually not notdelivered deliveredwith withthe thehardware hardware Hardware Lockheed Martin Aeronautics Company

Software Architecture Software SoftwareArchitecture: Architecture: Low-level Low-levelsoftware softwareproviding providingthe the framework frameworkwithin withinwhich whichthe theApplication Application Software Softwareexecutes executes Application Software Provides Providesexecution executioncontrol, control,data data/ / message messagemanagement, management,error errorhandling, handling, and andvarious varioussupport supportservices servicestotothe the Application ApplicationSoftware Software Application Software Interface Software Architecture Software Execution Operating System Platform Device Drivers Board Support Package / BIT Assumes Assumesaaparticular particularApplication Application Software Softwarelanguage language Unique Uniquetotothe thehardware; hardware;but, but,since sinceitit must mustsupport supportall allrequirements requirementslevied levied by bythe theApplication ApplicationSoftware, Software,isisnot not delivered deliveredwith withthe thehardware hardware Hardware Lockheed Martin Aeronautics Company

Application Software Interface Application ApplicationSoftware SoftwareInterface: Interface: The Theboundary boundarybetween betweenthe theApplication Application Application Software Software Softwareand andthe theSoftware SoftwareExecution Execution Platform Platform The Thespecified specifiedmethods methodsby bywhich whichthe the Application Software Interface Software Architecture Software Execution Operating System Platform Device Drivers Board Support Package / BIT Application ApplicationSoftware Softwarecan canmake make requests requestsand anduse usethe theservices servicesofofthe the Software SoftwareExecution ExecutionPlatform Platformand andthe the Software SoftwareExecution ExecutionPlatform Platformcan can provide its services to the Application provide its services to the Application Software Software This Thisinterface interfaceisisspecified specifiedby bythe the Software SoftwareExecution ExecutionPlatform Platform Hardware Lockheed Martin Aeronautics Company

Cross-Platform Compatibility: The Usual Approach Maintain a constant Application Software Interface Portable Application Software Application Software Hold Constant Application Software Interface Application Software Interface Software Architecture Software Architecture Device Drivers Operating System Device Drivers Operating System Board Support Package / BIT Board Support Package / BIT Hardware Hardware Platform #1 Hardware Platform #2 Lockheed Martin Aeronautics Company

Cross-Platform Compatibility Issues Application Software Can a constant Application Software Interface always be maintained? Consider Consider What Whatififthe thelanguage languageor oroperating operating Application Software Interface Software Architecture Device Drivers Operating System Board Support Package / BIT system systembecomes becomesobsolete? obsolete? What Whatififititisisnecessary necessaryto toport porteven even aapart partofofthe theApplication ApplicationSoftware Software totoaalegacy legacyplatform platformnot nothaving havingthe the resources resourcestotosupport supportthe thenewer newer Software SoftwareExecution ExecutionPlatforms? Platforms? Hardware Platform Lockheed Martin Aeronautics Company

Cross-Platform Compatibility Issues Application Software Even if it were possible, would one always want to maintain a constant Application Software Interface? Consider Consider Application Software Interface Software Architecture Device Drivers Operating System Board Support Package / BIT What Whatififhardware hardwareor orSoftware Software Execution ExecutionPlatform Platformchanges changescould could provide providemore moreApplication ApplicationSoftware Software capability, capability,but butonly onlyby bymeans meansofof changing changingthe theApplication ApplicationSoftware Software Interface? Interface? Hardware Platform Lockheed Martin Aeronautics Company

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 that is, changes to the Hardware Platform, the Software Execution Platform, or the Application Software Interface Hardware Platform Lockheed Martin Aeronautics Company

eXecutable MDA: Application Software Development Requirements Definition eXecutable UML Modeling The eXecutable MDA Approach Platform Specific Mapping (Design Tagging) Application Software Interface Definition Automatic Code Generation Integration & Test Lockheed Martin Aeronautics Company

eXecutable UML Modeling: Domain Model Domain DomainModel Model (Package (PackageDiagram): Diagram): The Thesoftware softwareapplication applicationspace space isispartitioned partitionedinto intomultiple multiple platform independent platform independentmodels models (or (ordomains) domains) Mappings Mappingsbetween betweenthe the domains domains(bridges) (bridges)are aredefined defined Lockheed Martin Aeronautics Company

eXecutable UML Modeling: Class Diagrams Class ClassDiagrams: Diagrams: Within Withineach eachplatform platform independent independentdomain domainmodel, model, conceptual conceptualentities entities are modeled are modeledfirst: first: classes,attributes, classes,attributes,and and associations associationsare areabstracted abstracted Behavior, Behavior,though thoughconsidered, considered,isis not notmodeled modeledexplicitly explicitlyininthis this view view Lockheed Martin Aeronautics Company

eXecutable UML Modeling: State Charts State StateCharts: Charts: Behavior Behaviorisisformalized formalizedduring during state statemodeling modeling Class Classlifecycles lifecyclesare aremodeled modeled using usingsignal-driven signal-drivenstate state machines machines Class Classoperations operationsare aredefined defined Lockheed Martin Aeronautics Company

eXecutable UML Modeling: ASL Action ActionSpecification SpecificationLanguage: Language: State Stateactions actionsand andclass class operations operationsare arespecified specifiedusing using aaprecise preciseAction ActionSpecification Specification Language Language(ASL) (ASL) ASL ASLisisaahigher higherorder orderand andmuch much simpler simplerlanguage languagethan thanaatypical typical high highorder orderlanguage language(e.g. (e.g.C ) C ) ASL ASLdeals dealswith withobject objectoriented oriented concepts, concepts,not notimplementation implementation concepts concepts ASL ASLconforms conformsto tothe theUML UML Precise PreciseAction ActionSemantics Semantics Lockheed Martin Aeronautics Company

eXecutable UML Modeling: Simulation Simulation: Simulation: Since Sinceaaprecise preciseAction Action Specification SpecificationLanguage Languageisisused, used, models modelsare areexecutable executableand and therefore thereforemay maybe besimulated simulated Simulation Simulationfeatures featuresresemble resemble those thoseofofaahigh highorder orderlanguage language debugger debugger Models Modelsmay maybe bevalidated validatedlong long before beforethey theyare areimplemented implemented Lockheed Martin Aeronautics Company

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

Design Tagging: Specifying the PIM to PSM Mapping Design DesignTags Tags Class ClassAllocation Allocation Program ProgramAllocation Allocation xUML Models . . Max MaxInstance InstanceCount Count Event EventRate Rate Software Execution Software Execution Event EventQueue Queue Platform Platform Specific Specific Throw Away Throw Away Initialization Initialization Source SourceType Type Subtype Subtypeofof . Source Code Files etc. etc. . . Language Language Specific Specific Defines . Automatic Code Generator Application Software Interface Definition Lockheed Martin Aeronautics Company

Design Tagging: Specifying the PIM to PSM Mapping Design DesignTagging: Tagging: Design Designtag tagvalues valuesrepresent represent implementation-specific implementation-specificdesign design decisions decisions Design Designtagging taggingisisapplied appliedto, to, but butnot notembedded embeddedin, in,the thexUML xUML models models(tags (tagsand andtag tagvalues values may maybe beincluded includedor orexcluded) excluded) Code CodeGenerator Generatorassumes assumesthe the most moststandard standardimplementation, implementation, such suchthat thatonly onlyexceptions exceptionsmust must be betagged tagged Lockheed Martin Aeronautics Company

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

Automatic Code Generation: 3 Levels of Models Level 3 Level 2 Level 1 Model of Application Developed Developed by by Program Program Model of xUML Supplied Supplied by by Tool Tool Vendor Vendor Developed Developed by by Program Program Model of Implementation . . . . . . Application Application Elements: Elements: (e.g. Aircraft, (e.g. Aircraft, Missile, Missile, Target, etc.) Target, etc.) Implementation Implementation Elements: Elements: (e.g. Procedure, (e.g. Procedure, Array, Array, Program, Event Program, Event Queue, Queue, etc.) etc.) xUML xUML Elements: Elements: (e.g. Class, (e.g. Class, Attribute, Attribute, Association, Association, Tag, Tag, etc.) etc.) Lockheed Martin Aeronautics Company

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

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

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

Automatic Code Generation: Code Generator Development Configurable ConfigurableCode CodeGenerator: Generator: Code CodeGenerator Generatorisisdeveloped developed using usingthe thesame sameeXecutable eXecutable MDA MDAstrategy strategy The TheTool ToolVendor Vendorsupplies suppliesaa set setofofxUML xUMLmodels models(known (known as asthe theConfigurable ConfigurableCode Code Generator) Generator)that thatserve serveas asaa generic generictranslation translationframework framework Lockheed Martin Aeronautics Company

Automatic Code Generation: Code Generator Development Code CodeGenerator GeneratorDevelopment: Development: The TheConfigurable ConfigurableCode Code Generator Generatormay maybe beadapted adapted totothe meet the requirements the meet the requirements ofofany anyPlatform PlatformSpecific Specific Implementation Implementation(i.e. (i.e.ofofany any Application ApplicationSoftware SoftwareInterface) Interface) Code CodeGenerator Generatorand and Application ApplicationSoftware Softwaredevelopdevelopment mentmay maybe beperformed performed concurrently concurrently Lockheed Martin Aeronautics Company

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

Portable Application Software Products The Portable Products eXecutable 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 Lockheed Martin Aeronautics Company

Advantages of the eXecutable 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 xUML models is ensured Defect injection (and the resulting rework) is reduced by automating the software phase in which most defects are injected On a typical program, after Requirements Definition approximately 2/3 of the defects are injected during implementation (coding) Lockheed Martin Aeronautics Company

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

Advantages of the eXecutable MDA Approach Cross-Platform Compatibility One Application Software xUML Model database may be reused (as is) on any platform for which a code generator is developed xUML models are compatible with any hardware platform, any Software Execution Platform, and any Application Software Interface xUML models are compatible with any implementation language The -Platform Compatibility The Goal Goal of of Cross Cross-Platform Compatibility of of Application Application Software Software is is Attainable Attainable with with the the eXecutable eXecutable MDA MDA Approach Approach Lockheed Martin Aeronautics Company

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 President Kennedy Carter Limited allan@kc.com ( 44) 1483 483 200 Lockheed Martin Aeronautics Company

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

Related Documents:

Modular: 18" x 36" (45.7 cm x 91.4 cm) Stratatec Patterned Loop Dynex SD Nylon 100% Solution Dyed 0.187" (4.7mm) N/A ER3 Modular, Flex-Aire Cushion Modular, Conserv Modular, ethos Modular 24" x 24": 18" x 36": Coordinate Group: Size: Surface Texture: Yarn Content: Dye Method: Pile Height Average: Pattern Match: Modular

modular cnc router plans 2009v1 copyright modular cnc @2009 for personal use only item no. part number description vendor material cost qty. 1 mc-z-001 drive end plate modular cnc hdpe 10.00 1 2 mc-z-002 end plate modular cnc hdpe 8.00 1 3 mc-z-003 top plate modular cnc hdpe 12.50 1 4 mc-z-005 linear rod speedy metals 1018 crs 3.00 2

Shawnee Mission, KS 66219 Pawnee Elementary School 9501 W. 91st St. Shawnee Mission, KS 66212 Prairie Elementary School 6642 Mission Rd. Shawnee Mission, KS 66208 Santa Fe Trail Elementary School 7100 Lamar Shawnee Mission, KS 66204 Shawnee Mission East High School 7500 Mission Rd. Shawnee Mission, KS 66208 Shawnee Mission North High School

ESP-LX Modular Controller The ESP-LX Modular controller is an irrigation timing system designed for commercial and residential use. The controller’s modular design can accommodate from 8 to 32 valves. The ESP-LX Modular controller is available in an indoor-only vers

Throttle and Check Valve, Modular Check Valve, Modular Pilot Check Valve, Modular Solenoid Check Valve, Multi-station manifold Blocks, modular sub-plates. HYDRAULIC VALVES Full catalogue containing all the technical information is available on request PRODUCTS Directional control valves Modular valves 6 Directional Control Valves: CETOP

Modular: 24" x 24" (60.9 cm x 60.9 cm) Stratatec Patterned Loop Dynex SD Nylon 100% Solution Dyed 0.187" (4.7 mm) Not Required ER3 Modular, Flex-Aire Cushion Modular, ethos Modular 24" X 24": ARETE 04336 Coordinate Group: Size: Surface Texture: Yarn Content: Dye Method: Pile Height Average: Pattern Match: Modular Construction .

BDO Remit (USA) Inc. 4830 Mission Street, Suite 101 587-9495 California Check Cashing Store 5129 Mission Street H&R Block 5109 Mission Street Mission Check Cashier 4601 Mission Street Money Mart 4919 Mission Street Flowers Flowers and Gifts by Rosalinda 4743 Mission Street, Unit B 684-2858 Fregosi Flowers 4834 Mission Street 585-3386 Gile's Florist

Hitachi Storage Navigator Modular 2 (for GUI) Hitachi Storage Navigator Modular 2 operated by GUI. A Web-based application having the computer in which Hitachi Storage Navigator Modular 2 (for GUI) is installed as a server and operated by a Web browser of the same or different computer. HSNM2 (for CLI