Abstract
Specification of software for safety critical, embedded computer systems has been widely addressed in literature. To achieve the high level of confidence in a specification’s correctness necessary in many applications, manual inspections, formal verification, and simulation must be used in concert. Researchers have successfully addressed issues in inspection and verification; however, results in the areas of execution and simulation of specifications have not made as large an impact as desired.
In this paper we present an approach to specification-based prototyping which addresses this issue. It combines the advantages of rigorous formal specifications and rapid systems prototyping. The approach lets us refine a formal executable model of the system requirements to a detailed model of the software requirements. Throughout this refinement process, the specification is used as a prototype of the proposed software. Thus, we guarantee that the formal specification of the system is always consistent with the observed behavior of the prototype. The approach is supported with the Nimbus environment, a framework that allows the formal specification to execute while interacting with software models of its embedding environment or even the physical environment itself (hardware-in-the-loop simulation).
This work has been partially supported by NSF grants CCR-9624324 and CCR-9615088.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
L. Abraido-Fandino. An overview of REFINE 2.0. In Proceedings of the second symposium on knowledge engineering, Madrid, Spain, 1987.
J.M. Atlee and M.A. Buckley. A logic-model semantics for SCR software requirements. In S.J. Zeil, editor, Proceedings of the 1996 ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA’96), pages 280–292, January 1996.
B. Auernheimer and R. A. Kemmerer. RT-ASLAN: A specification language for real-time systems. IEEE Transactions on Software Engineering, 12(9), September 1986.
Valdis Berzins, Luqi, and Amiram Yehudai. Using transformations in specification-based prototyping. IEEE Transactions on Software Engineering, 19(5):436–452, May 1993.
W. Chan, R.J. Anderson, P. Beame, S. Burns, F. Modugno, D. Notkin, and J.D. Reese. Model checking large software specifications. IEEE Transactions on Software Engineering, 24(7):498–520, July 1998.
A. M. Davis. Operational prototyping: A new development approach. IEEE Software, 6(5), September 1992.
S. Faulk, J. Brackett, P. Ward, and J Kirby, Jr. The CoRE method for real-time requirements. IEEE Software, 9(5), September 1992.
S. Gerhart, D. Craigen, and T. Ralston. Experience with formal methods in critical systems. IEEE Software, vol-11(1):21–39, January 1994.
S. Gerhart, D. Craigen, and T. Ralston. Formal methods reality check: Industrial usage. IEEE Transactions on Software Engineering, 21(2):90–98, February 1995.
D. Harel. Statecharts: A visual formalism for complex systems. Science of Computer Programming, pages 231–274, 1987.
D. Harel, H. Lachover, A. Naamad, A. Pnueli, M. Politi, R. Sherman, A. Shtull-Trauring, and M. Trakhtenbrot. Statemate: A working environment for the devel-opment of complex reactive systems. IEEE Transactions on Software Engineering, 16(4):403–414, April 1990.
Mats P. E. Heimdahl and Nancy G. Leveson. Completeness and consistency in hierarchical state-base requirements. IEEE Transactions on Software Engineering, pages 363–377, June 1996.
Mats P.E. Heimdahl, Jeffrey M. Thompson, and Barbara J. Czerny. Specification and analysis of intercomponent communication. IEEE Computer, pages 47–54, April 1998.
C. L. Heitmeyer, B. L. Labaw, and D. Kiskis. Consistency checking of SCR-style requirements specifications. In Proceedings of the Second IEEE International Symposium on Requirements Engineering, March 1995.
C.L. Heitmeyer, R.D. Jeffords, and B.G. Labaw. Automated consistency checking of requirements specifications. ACM Transactions of Software Engineering and Methodology, 5(3):231–261, July 1996.
K.L. Heninger. Specifying software requirements for complex systems: New techniques and their application. IEEE Transactions on Software Engineering, 6(1):2–13, Januaray 1980.
Michael Jackson. The world and the machine. In Proceedings of the 1995 Internation Conference on Software Engineering, pages 283–292, 1995.
B. Kramer, Luqi, and V. Berzins. Compositional semantics of a real-time prototyping language. IEEE Transactions on Software Engineering, 19(5):453–477, May 1993.
N.G. Leveson, M.P.E. Heimdahl, H. Hildreth, and J.D. Reese. Requirements specification for process-control systems. IEEE Transactions on Software Engineering, pages 684–706, September 1994.
David C. Luckham, John J. Kenney, Larry M. Augustin, James Vera, Doug Bryan, and Walter Mann. Specification and analysis of system architecture using rapide. IEEE Transactions on Software Engineering, 21(4):336–354, April 1995.
David C. Luckham, James Vera, Doug Bryan, Larry Augustin, and Frank Belz. Partial orderings of event sets and their application to prototyping concurrent timed systems. Journal of Systems Software, 21(3):253–265, June 1993.
Luqi. Real-time constraints in a rapid prototyping language. Computer Languages, 18(2):77–103, 1993.
Luqi and V. Berzins. Execution of a high level real-time language. In Proceedings of the Real-Time Systems Symposium, 1988.
Steven P. Miller. Modeling software requirements for embedded systems. Technical report, Advanced Technology Center, Rockwell Collins, Inc., 1999. In Progress.
David L. Parnas and Jan Madey. Functional documentation for computer sys-tems engineering (volume 2). Technical Report CRL 237, McMaster University, Hamilton, Ontario, September 1991.
P. Zave. An insider’s evaluation of PAISLey. IEEE Transactions on Software Engineering, 17(3), March 1991.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Thompson, J.M., Heimdahl, M.P.E., Miller, S.P. (1999). Specification-Based Prototyping for Embedded Systems’. In: Nierstrasz, O., Lemoine, M. (eds) Software Engineering — ESEC/FSE ’99. ESEC SIGSOFT FSE 1999 1999. Lecture Notes in Computer Science, vol 1687. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48166-4_11
Download citation
DOI: https://doi.org/10.1007/3-540-48166-4_11
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66538-0
Online ISBN: 978-3-540-48166-9
eBook Packages: Springer Book Archive