Modeling spaces for real-time embedded systems

No system in the real world can compute an appropriate response in reaction to every situation it encounters, or even most situations it is likely to encounter. Biological systems address this issue with four strategies: (1) a repertoire of already computed responses tied to a situation recognition process, (2) organized in a response-time hierarchy that allows a quick response to occur immediately, and one or more slower and more deliberate responses to begin at the same time, with (3) decision processes that allow one of them to take over after a little while, or that (4) merge several of them in a combined and possibly novel response. In this paper, we describe an approach to building self-adaptive computing systems that incorporates these strategies, to cope with their intended use in hazardous, remote, unknown, or otherwise difficult environments, in which it is known a priori that the system cannot keep up with all important events, and that “as fast as possible” is not appropriate for some interactions. The key to implementing these strategies is an abstraction/refinement hierarchy of behavioral models and processes at multiple levels of granularity and precision. The key to coordinating these different models is the collection of integrative mappings among them, which are developed along with the models, and used for managing system behavior. We also describe the system development process that we use to build such systems, which differs from conventional methods by taking the basic artifacts of development, considered as partial models of aspects of the system in its environment, and retains them all in a model hierarchy, which eventually becomes the definition of the run time system. We show how to implement such systems, explain why we think they are good candidates for real-time operational environments, and illustrate the method with an example implementation.

[1]  Phyllis R. Nelson,et al.  Managing Variable and Cooperative Time Behavior , 2010, 2010 13th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing Workshops.

[2]  Christopher Landauer,et al.  Generic programming, partial evaluation, and a new programming paradigm , 1999, Proceedings of the 32nd Annual Hawaii International Conference on Systems Sciences. 1999. HICSS-32. Abstracts and CD-ROM of Full Papers.

[3]  Brian Cantwell Smith,et al.  Varieties of Self-Reference , 1986, TARK.

[4]  L. Blumenfeld,et al.  Tunnelling of electrons in biological processes. , 1973, Journal of theoretical biology.

[5]  Pattie Maes,et al.  Computational reflection , 1987, The Knowledge Engineering Review.

[6]  D O Walter,et al.  Biological processing. , 1984, The American journal of physiology.

[7]  Robert P. Goldman,et al.  Managing Online Self-adaptation in Real-Time Environments , 2001, IWSAS.

[8]  K. Bellman,et al.  Common origin of linguistic and movement abilities. , 1984, The American journal of physiology.

[9]  Phyllis R. Nelson,et al.  Developing Mechanisms for Determining "Good Enough" in SORT Systems , 2011, 2011 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing Workshops.

[10]  Pattie Maes,et al.  Concepts and experiments in computational reflection , 1987, OOPSLA '87.

[11]  D. Fell,et al.  The small world inside large metabolic networks , 2000, Proceedings of the Royal Society of London. Series B: Biological Sciences.

[12]  Brian Cantwell Smith,et al.  Reflection and semantics in LISP , 1984, POPL.

[13]  O Mason,et al.  Graph theory and networks in Biology. , 2006, IET systems biology.

[14]  Gordon S. Blair,et al.  Using Architecture Models to Support the Generation and Operation of Component-Based Adaptive Systems , 2009, Software Engineering for Self-Adaptive Systems.

[15]  William N. Robinson A requirements monitoring framework for enterprise systems , 2005, Requirements Engineering.

[16]  Christopher Landauer Problem Posing as a System Engineering Paradigm , 2011, 2011 21st International Conference on Systems Engineering.

[17]  F. Krasne,et al.  Adaptive Complexity of Interactions Between Feeding and Escape in Crayfish , 1983, Science.

[18]  Duncan J. Watts,et al.  Collective dynamics of ‘small-world’ networks , 1998, Nature.

[19]  F. Krasne,et al.  Different command neurons select different outputs from a shared premotor interneuron of crayfish tail-flip circuitry. , 1981, Science.

[20]  James S. Albus,et al.  Engineering of Mind: An Introduction to the Science of Intelligent Systems , 2001 .

[21]  Danielle Smith Bassett,et al.  Small-World Brain Networks , 2006, The Neuroscientist : a review journal bringing neurobiology, neurology and psychiatry.

[22]  M.S. Feather,et al.  Reconciling system requirements and runtime behavior , 1998, Proceedings Ninth International Workshop on Software Specification and Design.

[23]  David Garlan,et al.  Reasoning about implicit invocation , 1998, SIGSOFT '98/FSE-6.

[24]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[25]  Karan Harbison,et al.  User-Centered Requirements: The Scenario-Based Engineering Process , 1997 .

[26]  Robert Laddaga,et al.  The GRAVA self-adaptive architecture: history; design; applications; and challenges , 2004, 24th International Conference on Distributed Computing Systems Workshops, 2004. Proceedings..

[27]  Bradley R. Schmerl,et al.  Model-based adaptation for self-healing systems , 2002, WOSS '02.

[28]  Jie Wu,et al.  Small Worlds: The Dynamics of Networks between Order and Randomness , 2003 .

[29]  Gerald J. Sussman,et al.  Structure and interpretation of computer programs , 1985, Proceedings of the IEEE.

[30]  Olivier Danvy,et al.  Tutorial notes on partial evaluation , 1993, POPL '93.

[31]  A. Meystel Multiresolutional Architectures for Autonomous Systems with Incomplete and Inadequate Knowledge Representation , 1995 .

[32]  B. M. O'Halloran,et al.  A failure modes and mechanisms naming taxonomy , 2012, 2012 Proceedings Annual Reliability and Maintainability Symposium.

[33]  Christopher Landauer,et al.  Abstract Infrastructure for Real Systems: Reflection and Autonomy in Real Time , 2011, 2011 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing Workshops.

[34]  Alex M. Andrew,et al.  Intelligent Systems: Architecture, Design, and Control , 2002 .

[35]  Christopher Landauer Model Comparison for Fault and Attack Detection , 2012 .

[36]  Michele Lanza,et al.  Higher Abstractions for Dynamic Analysis , 2006 .

[37]  Martin S. Feather,et al.  Requirements monitoring in dynamic environments , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

[38]  Christopher Landauer,et al.  Self-modeling Systems , 2001, IWSAS.

[39]  R. C. Bromley,et al.  Failure modes, effects and criticality analysis (FMECA) , 1994 .