Title :
Runtime Programming through Model-Preserving, Scalable Runtime Patches
Author :
Kirsch, Christoph M. ; Lopes, Luís ; Marques, Eduardo R B ; Sokolova, Ana
Author_Institution :
Dept. of Comput. Sci., Univ. of Salzburg, Salzburg, Austria
Abstract :
We consider a methodology for flexible software design, runtime programming, defined by recurrent, incremental software modifications to a program at runtime, called runtime patches. The principles we consider for runtime programming are model preservation and scalability. Model preservation means that a runtime patch preserves the programming model in place for programs -- in terms of syntax, semantics, and correctness properties -- as opposed to an ``ad-hoc´´, disruptive operation, or one that requires an extra level of abstraction. Scalability means that, for practicality and performance, the effort in program compilation required by a runtime patch should ideally scale in proportion to the change induced by it. We formulate runtime programming over an abstract model for component-based concurrent programs, defined by a modular relation between the syntax and semantics of programs, plus built-in notions of initialization and quiescence. The notion of a runtime patch is defined over these assumptions, as a model-preserving transition between two programs and respective states. Additionally, we propose an incremental compilation framework for scalability in patch compilation. The formulation is put in perspective through a case-study instantiation over a language for distributed hard real-time systems, the Hierarchical Timing Language (HTL).
Keywords :
object-oriented methods; program compilers; software engineering; component-based concurrent programs; flexible software design; hierarchical timing language; incremental software modifications; model preservation; patch compilation; program compilation; runtime patches; runtime programming; Programming; Real time systems; Runtime; Scalability; Semantics; Switches; Syntactics; compilation; component-based systems; concurrency; modularity; reconfigurable systems; runtime patching; runtime programming; scalability;
Conference_Titel :
Application of Concurrency to System Design (ACSD), 2011 11th International Conference on
Conference_Location :
Newcastle Upon Tyne
Print_ISBN :
978-1-61284-974-4
DOI :
10.1109/ACSD.2011.28