Abstract
To enable verification of a complex C-program, so called compositional verification can be used where the specification for the C-program is split into a set of specifications organized such that the fact that the C-program satisfies its specification can be inferred from verifying that parts of the C-program satisfy their specifications. To support the approach in practice, specifications must be organized in parallel to a formal architecture model capturing the C-program as a hierarchical structure of components with well-defined interfaces. Previous modeling approaches lack support for formal architecture modeling of C-programs. Therefore, a general and formal approach for architecture modeling of sequential C-programs is presented, to support compositional verification, as well as to aid design and management of such C-programs in general.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Alur, R., Grosu, R.: Modular refinement of hierarchic reactive machines. ACM Trans. Program. Lang. Syst. 26(2), 339–369 (2004)
AUTOSAR: AUTomotive Open System ARchitecture. http://www.autosar.org/
Ferrari, A., Sofronis, C., Benveniste, A., Mangeruca, L., Passerone, Roberto, Caillaud, Benoît: Multiple viewpoint contract-based specification and design. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2007. LNCS, vol. 5382, pp. 200–225. Springer, Heidelberg (2008)
Cass, S.: Top 10 programming languages, July 2014. http://spectrum.ieee.org/computing/software/top-10-programming-languages
Chaki, S., Clarke, E., Groce, A., Jha, S., Veith, H.: Modular verification of software components in C. In: Proceedings of the 25th International Conference on Software Engineering, ICSE 2003, pp. 385–395, IEEE Computer Society, Washington (2003). http://dl.acm.org/citation.cfm?id=776816.776863
Diestel, R.: Graph Theory. Graduate Texts in Mathematics, vol. 173. Springer, Heidelberg (2010)
Feiler, P.H., Gluch, D.P.: Model-Based Engineering with AADL: An Introduction to the SAE Architecture Analysis & Design Language, 1st edn. Addison-Wesley Professional, Boston (2012)
Friedenthal, S., Moore, A., Steiner, R.: A Practical Guide to SysML: Systems Modeling Language. Morgan Kaufmann Inc., San Francisco (2008)
Greenaway, D.: Automated proof-producing abstraction of C code. Ph.D. thesis, University of New South Wales (2014)
Henzinger, T.A., Jhala, R., Majumdar, R., Sutre, G.: Software verification with BLAST. In: Ball, T., Rajamani, S.K. (eds.) SPIN 2003. LNCS, vol. 2648, pp. 235–239. Springer, Heidelberg (2003)
ISO 26262: Road vehicles-Functional safety (2011)
ISO 7498–1: Information technology - OSI - Basic Reference Model (1994)
Josko, B., Ma, Q., Metzner, A.: Designing embedded systems using heterogeneous rich components. In: Proceedings of the INCOSE International Symposium (2008)
Kernighan, B.W.: The C Programming Language, 2nd edn. Prentice Hall Professional Technical Reference, New York (1988)
Laster, K., Grumberg, O.: Modular model checking of software. In: Steffen, B. (ed.) TACAS 1998. LNCS, vol. 1384, pp. 20–35. Springer, Heidelberg (1998)
Lee, E.: Cyber physical systems: design challenges. In: 11th IEEE International Symposium on Object Oriented Real-Time Distributed Computing (ISORC), pp. 363–369, May 2008
Meyer, B.: Applying “Design by Contract”. Computer 25(10), 40–51 (1992). http://dx.doi.org/10.1109/2.161279
Nyberg, M.: Failure propagation modeling for safety analysis using causal bayesian networks. In: 2013 Conference on Control and Fault-Tolerant Systems (SysTol), pp. 91–97, October 2013
Rasool, G., Asif, N.: Software architecture recovery. Int. J. Comput. Inf. Syst. Sci. Eng. 1(3), 206 (2007)
de Roever, W.-P.: The need for compositional proof systems: a survey. In: Roever, W-Pl, Langmaack, H., Pnueli, A. (eds.) COMPOS 1997. LNCS, vol. 1536, p. 1. Springer, Heidelberg (1998)
Rumbaugh, J., Jacobson, I., Booch, G.: Unified Modeling Language Reference Manual. Pearson Higher Education, London (2004)
Dr, Taming, Sangiovanni-Vincentell, A.L., Damm, W., Passerone, R.: Taming Dr. Franken: contract-based design for cyber-physical systems. Eur. J. Control 18(3), 217–238 (2012)
Soleimanifard, S., Gurov, D.: Algorithmic verification of procedural programs in the presence of code variability. Sci. Comput. Program (2015). http://www.sciencedirect.com/science/article/pii/S0167642315002592
Westman, J., Nyberg, M.: Extending contract theory with safety integrity levels. In: 2015 IEEE 16th International Symposium on HASE, pp. 85–92, January 2015
Westman, J., Nyberg, M.: Environment-centric contracts for design of cyber-physical systems. In: Dingel, J., Schulte, W., Ramos, I., Abrahão, S., Insfran, Emilio (eds.) MODELS 2014. LNCS, vol. 8767, pp. 218–234. Springer, Heidelberg (2014)
Westman, J., Nyberg, M.: Contracts for specifying and structuring requirements on cyber-physical systems. In: Rawat, D.B., Rodriques, J., Stojmenovic, I. (eds.) Cyber Physical Systems: From Theory to Practice. Taylor & Francis (2015)
Whalen, M.W., Gacek, A., Cofer, D., Murugesan, A., Heimdahl, M.P., Rayadurgam, S.: Your what is my how: iteration and hierarchy in system design. IEEE Softw. 30(2), 54–60 (2013)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Westman, J., Nyberg, M. (2016). Formal Architecture Modeling of Sequential C-Programs. In: Braga, C., Ölveczky, P. (eds) Formal Aspects of Component Software. FACS 2015. Lecture Notes in Computer Science(), vol 9539. Springer, Cham. https://doi.org/10.1007/978-3-319-28934-2_17
Download citation
DOI: https://doi.org/10.1007/978-3-319-28934-2_17
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-28933-5
Online ISBN: 978-3-319-28934-2
eBook Packages: Computer ScienceComputer Science (R0)