DARPA ITO Sponsored Research|
2000 Project Summary
|Project Website:||No URL -- Additional project information provided by the performing organization|
|Quad Chart:||Quad Chart provided by the performing organization|
The nature of embedded system software has changed fundamentally. In avionics, for example, yesterday's embedded software was a federation of relatively simple control loops; but today's embedded software systems are the glue which integrate the entire platform, presenting high level situation awareness to the pilot. Soon there will be UCAV's in which software will play the role of the pilot, blurring the traditional boundary between pilot and platform and requiring wholly new forms of integration.
Current techniques for producing these systems are inadequate. The traditional approaches of entangling concerns in order to meet space and time constraints has led to software systems inconsistent with the goal of evolution. Model-based methods offer a better approach:
The software must present a model-based view of its execution in terms of goals, strategies, plans, state-variables, and invariants. These should be monitored at runtime and the failure to achieve expected results should trigger diagnosis, reconfiguration and recovery.
At the lowest level, reactive controllers iterate through the following three steps:
Thus the software must make deductions at reactive speeds. But, the computational power available to embedded systems is becoming abundant, allowing model-based deduction to be embedded even in the lowest level, reactive components of the control systems.
Embedded software should be developed against the backdrop of model-based frameworks, each tailored to a single (or a small set of) issues. Some frameworks deal with cross-cutting issues such as fault tolerance; others deal with particular components and functional layers of a complex system (e.g. control of an observational asset in a UCAV). A framework, as we use the term, includes a set of properties with which the framework is concerned, a formal ontology of the domain, an axiomatization of the core domain theory, analytic techniques tailored to these properties and their domain theory, a runtime infrastructure providing a rich set of services, and an embedded language for describing how a specific application couples into the framework.
A framework thus reifies a model in code, API, and in the constraints and guarantees the model provides. Each framework exposes its own goals, plans, state-variables and invariants in terms of an embedded language which captures the terms and concepts used by application domain experts. Each framework also expresses its dependencies on other frameworks in the same language. These are then used to synthesize the code which integrates the ensemble of frameworks into a unified, reactive system.
|Recent FY-2000 Accomplishments:|
PI's attended program kickoff meeting, presented the project plan, and participated in workshop topics.
The results of this work will take the form of software, representation languages, and knowhow. The software will be a collection of prototype programs including a Framework Developer's Toolkit, a Dynamic Virtual Machine and a heterogeneous reasoning system suitable for program analysis. The representation languages will provide a way of describing, and perhaps more important, thinking about the structure and behavior of large scale embedded systems. These languages, and the knowhow that goes with them, will be described in technical papers and manuals, illustrated with examples from our work, and applied to tasks of interest to DARPA customers.
The technology will be transferred outside of MIT via several paths: traditional publication of re- search papers; network publication of software artifacts, manuals, and papers; through our students and through collaborations with other MOBIES contractors. The research will be concretely realized in software artifacts: programming environments, run-time systems, analysis and monitoring systems, representation languages and programmer interfaces. Usable software systems are a strong way to make a point, and the Internet will provide a venue for wide dissemination of the technology in source-code form for general use by the global Internet community.
MIT students are an important vectors for transferring technology out into the real world. Besides the graduate students whose dissertations will comprise much of the research, MIT also has a long-standing commitment to involving undergraduates in ongoing research through the Institute's UROP program.
MIT AI Lab
Cambridge, MA 02139