Abstract
The continued maturation of industry standard architecture description languages is providing a foundation for more sophisticated analyses earlier in the system engineering process. The Architecture Analysis and Design Language (AADL) and its supporting annotation sub-languages provide the ability to model system hardware/software components as well as information flows within the system. Such flows include conventional notions of data/control flows, security-oriented information flows, and fault/error propagation paths that are supported by the AADL Error Modeling Annex (EMv2)—all of which are central to engineering safety/security-critical systems.
In this paper, we describe Awas – an open-source framework for performing information reachability analysis on AADL models annotated with flow annotations at varying degrees of details. The framework provides highly scalable interactive visualizations of flows with dynamic querying capabilities. To ease the process, we provide a simple domain-specific language to pose various queries for checking safety and security properties. We demonstrate the effectiveness of our approach by applying it on a collection of industrial models of safety/security-critical systems from the medical and avionics domains.
This work is supported in part by the US Army, by the DARPA CASE program, and by Software Engineering Institute.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
The simple UAS is adapted from an example used by the Collins Aerospace team on DARPA Cyber-Assured Systems Engineering (CASE) project – the authors are part of the Collins team on DARPA CASE.
References
Carpenter, T., Hatcliff, J., Vasserman, E.Y.: A reference separation architecture for mixed-criticality medical and IoT devices. In: Proceedings of the ACM Workshop on the Internet of Safe Things (SafeThings). ACM, November 2017
Delange, J., Feiler, P.: Architecture fault modeling with the AADL error-model annex. In: 2014 40th EUROMICRO Conference on Software Engineering and Advanced Applications, pp. 361–368. IEEE (2014)
Hatcliff, J., Larson, B., Carpenter, T., Jones, P., Zhang, Y., Jorgens, J.: The open PCA pump project: an exemplar open source medical device as a community resource. SIGBED Rev. 16, 8–13 (2019)
Hatcliff, J., Wassyng, A., Kelly, T., Comar, C., Jones, P.L.: Certifiably safe software-dependent systems: challenges and directions. In: Proceedings of the on Future of Software Engineering (ICSE FOSE), pp. 182–200 (2014)
Herrera, D., Chen, H., Lavoie, E., Hendren, L.: Webassembly and javascript challenge: Numerical program performance using modern browser technologies and devices. Technical report, Technical report SABLE-TR-2018-2, Montréal, Québec, Canada (2018)
Horwitz, S., Reps, T., Binkley, D.: Interprocedural slicing using dependence graphs. ACM Trans. Program. Lang. Syst. (TOPLAS) 12(1), 26–60 (1990)
Jackson, D., Rollins, E.J.: Chopping: a generalization of slicing. Carnegie-Mellon Univ Pittsburgh Pa Dept Of Computer Science, Technical report (1994)
Kildall, G.A.: A unified approach to global program optimization. In: Proceedings of the 1st Annual ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, pp. 194–206. ACM (1973)
Larson, B.R., Chalin, P., Hatcliff, J.: BLESS: formal specification and verification of behaviors for embedded systems with software. In: Brat, G., Rungta, N., Venet, A. (eds.) NFM 2013. LNCS, vol. 7871, pp. 276–290. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-38088-4_19
Larson, B., Hatcliff, J., Fowler, K., Delange, J.: Illustrating the AADL error modeling annex (v. 2) using a simple safety-critical medical device. ACM SIGAda Ada Lett. 33(3), 65–84 (2013)
Larson, B., Jones, P., Zhang, Y., Hatcliff, J.: Principles and benefits of explicitly designed medical device safety architecture. Biomed. Instrum. Technol. 51(5), 380–389 (2017)
Ranganath, V.P., Hatcliff, J.: Slicing concurrent java programs using Indus and Kaveri. STTT 9(5–6), 489–504 (2007). https://doi.org/10.1007/s10009-007-0043-0
Rasmussen, S., Kingston, D., Humphrey, L.R.: A brief introduction to unmanned systems autonomy services (UxAS). In: 2018 International Conference on Unmanned Aircraft Systems (ICUAS), pp. 257–268 (2018)
Reps, T., Horwitz, S., Sagiv, M.: Precise interprocedural dataflow analysis via graph reachability. In: Proceedings of the 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 49–61. ACM (1995)
SAE AS-2C Architecture Description Language Subcommittee: SAE Architecture Analysis and Design Language (AADL) Annex Volume 3: Annex E: Error Model Language. Technical report, SAE Aerospace, June 2014
Thiagarajan, H., Hatcliff, J.: Awas user documentation. http://awas.sireum.org/. https://awas.sireum.org
Thiagarajan, H., Larson, B., Hatcliff, J., Zhang, Y.: Model-based risk analysis for an open-source PCA pump using AADL error modeling. In: Proceedings of the International Conference on Model-based Safety Analysis, September 2020
Thiagarajan, H., Hatcliff, J., Belt, J., Robby: Bakar Alir: supporting developers in construction of information flow contracts in SPARK. In: 2012 IEEE 12th International Working Conference on Source Code Analysis and Manipulation, pp. 132–137 (2012)
Wallace, M.: Modular architectural representation and analysis of fault propagation and transformation. Electron. Notes Theoret. Comput. Sci. 141(3), 53–71 (2005)
Weiser, M.: Program slicing. In: Proceedings of the 5th International Conference on Software Engineering, pp. 439–449. IEEE Press (1981)
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Thiagarajan, H., Hatcliff, J., Robby (2020). Awas: AADL Information Flow and Error Propagation Analysis Framework. In: Muccini, H., et al. Software Architecture. ECSA 2020. Communications in Computer and Information Science, vol 1269. Springer, Cham. https://doi.org/10.1007/978-3-030-59155-7_23
Download citation
DOI: https://doi.org/10.1007/978-3-030-59155-7_23
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-59154-0
Online ISBN: 978-3-030-59155-7
eBook Packages: Computer ScienceComputer Science (R0)