DocumentCode
3011585
Title
Separating essentials from incidentals: an execution architecture for real-time control systems
Author
Dvorak, Daniel L. ; Reinholtz, William K.
Author_Institution
Jet Propulsion Lab., California Inst. of Technol., Pasadena, CA
fYear
2004
fDate
14-14 May 2004
Firstpage
301
Lastpage
304
Abstract
Source code for real-time control systems often intertwines several concerns such as functionality, data flow, control flow, synchronization, timing, and architectural style. This combination of concerns makes software harder to write correctly, harder to verify, and harder to reuse. This paper proposes an execution architecture that makes such systems more analyzable, verifiable, and reusable by separating "essential code" (software specific to the physical platform, the physical environment, and mission goals) from "incidental code" (all other software, particularly architectural support software for combining together essential components). This architecture elevates two forms of processing as first-class items: individual transformations of global state, as defined in pure functions, and rules of interaction of transformations, as managed by an engine that maintains certain invariants. Importantly, the explicit specification of these two forms of processing by systems engineers reduces sources of ambiguity in requirements
Keywords
formal specification; formal verification; real-time systems; software quality; software reusability; execution architecture; real-time control system; software quality; software reuse; source code; Computer architecture; Control systems; Hardware; Laboratories; Object oriented modeling; Propulsion; Real time systems; Software reusability; Space technology; State estimation;
fLanguage
English
Publisher
ieee
Conference_Titel
Object-Oriented Real-Time Distributed Computing, 2004. Proceedings. Seventh IEEE International Symposium on
Conference_Location
Vienna
Print_ISBN
0-7695-2124-X
Type
conf
DOI
10.1109/ISORC.2004.1300392
Filename
1300392
Link To Document