Software Portability Gains Realized with Metah and Ada95
Total Page:16
File Type:pdf, Size:1020Kb
SOFTWARE PORTABILITY GAINS REALIZED WITH METAH AND ADA95 Bruce Lewis, US Army Aviation and Missile Command, Redstone Arsenal, Alabama In each of these cases the high Abstract portability and supported functionality of MetaH is an Architecture Description Ada95 was a significant enabler. Current Language (ADL) developed to express and trends say that future avionics systems and evaluate the software architecture of avionics perhaps other safety critical applications will and flight control systems. It is intended for require space and time partitioning. Should not only description and analysis, but also for Ada95 and the Ravenscar profile support these integration of the software components on the capabilities? specified embedded hardware. This automated composition to specification with glue code Problem Statement generation allows rapid development and Due to significant dependency of evolution of real-time embedded mission and software on the execution environment safety critical systems. It also provides very (compilers, operating systems, processors, high portability in these complex systems for buses, I/O devices), it is often very expensive software application code across various to re-host software as execution capacity is execution environments. This is accomplished exceeded. Embedded real-time software is by leveraging language and O/S standards, particularly difficult to re-host because of minimizing component dependencies, and by timing dependencies, performance constructing component timing relationships to requirements, complex processor architectures, specification across differing execution synchronous concurrent processes and platforms. specialized device interfaces. Avionics and This paper describes MetaH and flight control software adds to the complexity provides the results of porting a highly time by requiring multilevel safety, fault tolerance, sensitive application across significantly modular multiprocessor architectures, and very different embedded hardware/software complex multi-mode system behavior. execution environments. We initially developed Because of the complexity of upgrading a reusable MetaH specification for missile the software for a new processing environment, architectures, populated it with software one of the most significant risks in system components reengineered from a production development of large real-time systems, missile system, and executed it on single and especially avionics and flight control systems, dual i80960MC target configurations. We then is the problem of exceeding the processor retargeted this application to single and dual resources during the software development Pentium target configurations; and to a single process. Program after program has had to PowerPC configuration. We compare the costs scale back system requirements to fit on the of these exercises with estimated costs to do the hardware. Integration, maintenance and same tasks using traditional methods. upgrade costs are driven up since software must 1 be shoe-horned into the available resources for from impacting development. MetaH leverages as long as possible. the rapid construction of systems further by In addition, the execution capacity of adding the automatic integration of hardware many systems is not well understood. Avionics and software in accord with modeling used to systems have long lives with periodic upgrades. analyze the system. DSSA emphasized the use The software system control techniques often of domain specific application generators or used provide no quantitative indication of reusable component libraries in concert with schedulability bounds or the impact of changes ADLs to build systems. The second, the on the application. Even small changes can Evolutionary Design of Complex Systems result in unexpected and difficult to resolve (EDCS), was focused on our ability to build failures. Eventually, these changes exceed the systems that could be rapidly evolved and to capability of the system. predict the impact of change. EDCS started with multiple approaches but ended with a In this age of Commercial Off The strong focus on ADLs as a foundation for Shelf (COTS) processors, and with the very building highly evolvable complex systems. rapid increase in power of those processors, The DARPA program Dynamic Assembly for finding a higher performing processor is often System Adaptability, Dependability and not the problem. Again, the greater difficulty is Assurance (DASADA) is extending the impact in moving the software onto a new execution of MetaH by addressing efficient dynamic and platform. static scheduling required for efficient The software portability problem also integration of soft real time dynamic manifests itself in fielded systems. Military applications (tactical internet) with hard real mission critical weapons and aircraft systems time (safety critical) applications to build more typically have very long lives and must be dynamic systems with retained dependability upgraded throughout their lifecycle. Capacity and assurance qualities. This also includes on the original processors is soon exhausted if dependable adaptation through architectural its not already exhausted when fielded. constraint based dynamic reconfiguration and Multiple processors become obsolete within the design time automated verification technology. development phase of these systems with Dr. Steve Vestal of the Honeywell Technology millions of dollars and years of effort spent to Center has been the principal investigator. upgrade or re-develop the software each time. Bruce Lewis has served as technical POC on Many more processors and buses will become both DARPA programs and has led the US obsolete over the system lifetime costing many Army Aviation and Missile Command, millions more and significantly delaying Research Development and Engineering system capabilities. A much more evolvable Center, Software Engineering Directorate approach that meets system requirements is (SED) laboratory demonstrations and needed. technology integration with MetaH since 1993. The US Navy, US Air Force, the Ada Joint History Program Office, and the US Army Space and Missile Defense Command have also funded The technology behind the MetaH ADL was MetaH related projects. The Open Systems - developed over several DARPA programs. The Joint Task Force (OS-JTF) has funded projects first, Domain Specific Software Architectures using MetaH’s advanced system building (DSSA), was concerned with using domain capabilities for modular avionics to evaluate specific system engineering knowledge to build the POSIX API and to impact GOA and SAE languages (ADLs) that could specify software OS API standards efforts. OS-JTF is currently architectures and analyze architectural supporting the standardization of an Avionics properties to prevent architectural problems 2 Architecture Description Language (AADL) fielded commercial avionics systems. Space based on MetaH. The synergistic integration of and time partitioning is also becoming advanced DARPA technology for evolvability, important in military systems since military SED lab resources and OS-JTF open systems avionics are now required to be FAA certified and standardization investigations has resulted if they fly in commercial airspace. With Glass in the advanced portability demonstrated in this Cockpits, avionics software becomes much paper. more flight critical. Space and time (S&T) partitioning is also desirable for avionics and An Overview of MetaH space systems to reduce the amount of hardware that must fly. These applications are also among those most likely to use Ada and In this DARPA research context, MetaH was where processing environment upgrades are developed for building missile and aircraft likely to be extremely expensive. avionics and flight control systems. It was MetaH was also developed to provide rapid designed to integrate the multiple domains of development and evolution of the system. One application software in avionics on a generated aspect of evolution is the ability to rapidly architectural backplane based on formal reconfigure these complex real-time systems to scheduling and implementation methods. The new hardware environments. The MetaH MetaH language provides a system designer a process for system development offers low risk simple but precise language for specification of rapid changes in the execution environment. architectural requirements from which it This fundamentally changes the high risk, tied- extracts the formal modeling parameters for to-the-hardware development approach we multiple analyses. It comprehends both currently use. Now, with MetaH, from a hardware and software components. It will software/execution environment perspective, generate the architecture integrating the programs can evolve the hardware multiple hardware and software components into a times during system development and field system complaint with the modeled behavior. with plenty of capacity using modern Current architectural analyses include processors. schedulability, reliability and safety/security. The language and toolset were The MetaH Process developed to meet the requirements for building state-of-the-art modular multiprocessor systems with multilevel safety The combination of MetaH language and security and fault management. It provides and tools that analyze and implement the for the specification and generation of dynamic system to the architecture specified provides a multi-mode behavior across multiple new paradigm for the development of processors