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.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
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)