Advertisement

Awas: AADL Information Flow and Error Propagation Analysis Framework

Conference paper
  • 585 Downloads
Part of the Communications in Computer and Information Science book series (CCIS, volume 1269)

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.

References

  1. 1.
    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 2017Google Scholar
  2. 2.
    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)Google Scholar
  3. 3.
    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)CrossRefGoogle Scholar
  4. 4.
    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)Google Scholar
  5. 5.
    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)Google Scholar
  6. 6.
    Horwitz, S., Reps, T., Binkley, D.: Interprocedural slicing using dependence graphs. ACM Trans. Program. Lang. Syst. (TOPLAS) 12(1), 26–60 (1990)CrossRefGoogle Scholar
  7. 7.
    Jackson, D., Rollins, E.J.: Chopping: a generalization of slicing. Carnegie-Mellon Univ Pittsburgh Pa Dept Of Computer Science, Technical report (1994)Google Scholar
  8. 8.
    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)Google Scholar
  9. 9.
    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_19CrossRefGoogle Scholar
  10. 10.
    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)CrossRefGoogle Scholar
  11. 11.
    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)CrossRefGoogle Scholar
  12. 12.
    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-0CrossRefGoogle Scholar
  13. 13.
    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)Google Scholar
  14. 14.
    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)Google Scholar
  15. 15.
    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 2014Google Scholar
  16. 16.
    Thiagarajan, H., Hatcliff, J.: Awas user documentation. http://awas.sireum.org/. https://awas.sireum.org
  17. 17.
    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 2020Google Scholar
  18. 18.
    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)Google Scholar
  19. 19.
    Wallace, M.: Modular architectural representation and analysis of fault propagation and transformation. Electron. Notes Theoret. Comput. Sci. 141(3), 53–71 (2005)CrossRefGoogle Scholar
  20. 20.
    Weiser, M.: Program slicing. In: Proceedings of the 5th International Conference on Software Engineering, pp. 439–449. IEEE Press (1981)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  1. 1.Kansas State UniversityManhattanUSA

Personalised recommendations