Abstract
The list of applications classified as safety critical is growing due to emerging contexts such as the Internet of Things that touch the everyday activities of millions of people through smart devices like home automation systems and connected vehicles. These consumer products require high reliability but must be priced competitively. Traditional system development strategies are costly, in part, because traditional verification activities find only a small percentage of defects early in a project and because when discovered late in the development life cycle their repair requires changes to dependent code as well. Our development approach leverages early system architecture knowledge to jump start an architecture-centric development strategy that iteratively establishes traceability among the requirements, architecture, and verification artifacts. A virtual integration strategy makes the current state of the system under development available for analysis early in the product development life cycle. The approach is implemented using the Architecture Analysis and Design Language (AADL) embodied in the Open Source AADL Tool Environment (OSATE). The Architecture-Led Incremental System Assurance (ALISA) toolkit, the latest contribution of our team at the Software Engineering Institute, builds on AADL to provide the constructs and tools for an engineer to specify the integrated system, and to define verification activities that ensure satisfaction of the specification. The results from using the languages and techniques in pilot projects have shown very large cost and time savings, important to holding down costs for consumer-level Internet of Things systems. In this paper we focus on the architecture-led development process and illustrate the support given by ALISA.
- A. Albinet, J.-L. Boulanger, H. Dubois, M.-A. Peraldi-Frati, Y. Sorel, and Q.-D. Van. Model-based methodology for requirements traceability in embedded systems. In Proceedings of 3rd European Conference on Model Driven Architecture Foundations and Applications, ECMDA'07, 2007.Google Scholar
- C. Y. Baldwin and K. B. Clark. Design rules: The power of modularity, volume 1. MIT press, 2000.Google Scholar
Digital Library
- N. Bilton. Nest thermostat glitch leaves users in the cold. http://www.nytimes.com/2016/01/14/fashion/nest-thermostat-glitch-battery-dies-software-freeze.html? r=0. url visited June 29, 2016.Google Scholar
- D. De Niz, P. H. Feiler, D. Gluch, and L. Wrage. A virtual upgrade validation method for software reliant systems. Technical Report CMU/SEI-2012-TR-005, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA, 2012.Google Scholar
- J. Delange and P. Feiler. Architecture fault modeling with the AADL Error-Model Annex. In 2014 40th EUROMICRO Conference on Software Engineering and Advanced Applications, pages 361--368, Aug 2014. Google Scholar
Digital Library
- J. Delange, P. Feiler, and N. Ernst. Incremental life cycle assurance of safety-critical systems. In 8th European Congress on Embedded Real Time Software and Systems (ERTSS 2016), 2016.Google Scholar
- J. Delange, P. Feiler, D. Gluch, and J. Hudak. AADL fault modeling and analysis within an ARP4761 safety assessment. Technical Report CMU/SEI-2014-TR-020, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA, 2014. url visited June 29, 2016.Google Scholar
- P. Feiler, D. Gluch, and J. D. Mcgregor. An architecture-led safety analysis method. In Proceedings of ERTS 2016, 2016.Google Scholar
- P. Feiler, J. Hansson, D. de Niz, and L. Wrage. System architecture virtual integration: An industrial case study. Technical Report CMU/SEI-2009-TR-017, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA, 2009.Google Scholar
- P. Feiler, C. Weinstock, J. Goodenough, J. Delange, A. Klein, and N. Ernst. Architecture-led diagnosis and verification of a stepper motor controller. In 8th European Congress on Embedded Real Time Software and Systems (ERTSS 2016), 2016.Google Scholar
- P. H. Feiler and D. P. Gluch. Model-Based Engineering with AADL: An Introduction to the SAE Architecture Analysis & Design Language. Addison-Wesley Professional, 1st edition, 2012.Google Scholar
Digital Library
- P. H. Feiler, B. A. Lewis, and S. Vestal. The sae architecture analysis: Design language (aadl) a standard for engineering performance critical systems. In 2006 IEEE Conference on Computer Aided Control System Design, 2006 IEEE International Conference on Control Applications, 2006 IEEE International Symposium on Intelligent Control, pages 1206--1211, Oct 2006.Google Scholar
Cross Ref
- D. D. Gajski, S. Abdi, A. Gerstlauer, and G. Schirner. Embedded system design: modeling, synthesis and verification. Springer Science & Business Media, 2009. Google Scholar
Cross Ref
- J. Holler, V. Tsiatsis, C. Mulligan, S. Avesand, S. Karnouskos, and D. Boyle. From Machine-to-Machine to the Internet of Things: Introduction to a New Age of Intelligence. Elsevier Academic Press, 2014.Google Scholar
Digital Library
- P. Liggesmeyer and M. Trapp. Trends in embedded software engineering. IEEE Software, 26(3):19--25, May 2009. Google Scholar
Digital Library
- P. K. Manadhata and J. M. Wing. An attack surface metric. IEEE Transactions on Software Engineering, 37(3):371--386, 2011. Google Scholar
Digital Library
- B. Nuseibeh. Weaving together requirements and architectures. Computer, 34:115--117, 2001. Google Scholar
Digital Library
- K. J. Sullivan. The structure and value of modularity in software design. In SIGSOFT Software Engineering Notes, pages 99--108. ACM Press, 2001. Google Scholar
Digital Library
- D. Ward. Avsi's system architecture virtual integration program:proof of concept demonstrations,Google Scholar
- M. Whalen, A. Gacek, D. Cofer, A. Murugesan, M. Heimdahl, and S. Rayadurgam. Your 'what' is my 'how': iteration and hierarchy in system design. IEEE Software, 30(2):54--60, 2013. Google Scholar
Digital Library
- M. V. Woodward and P. Mosterman. Challenges for embedded software development. In Proceedings of the 50th International Midwest Symposium on Circuits and Systems (MWSCAS), Montreal, Canada, pages 630--633, 2007. Google Scholar
Cross Ref
Recommendations
Co-Design and Refinement for Safety Critical Systems
DFT '04: Proceedings of the Defect and Fault Tolerance in VLSI Systems, 19th IEEE International SymposiumIn this paper we focus on design entry of complex systems, that is, the highest abstract tier of the global system without implementation choices to such and such technologies. At this very first level, the use of a formal specification language is more ...
Scrum for cyber-physical systems: a process proposal
RCoSE 2014: Proceedings of the 1st International Workshop on Rapid Continuous Software EngineeringAgile development processes and especially Scrum are chang- ing the state of the practice in software development. Many companies in the classical IT sector have adopted them to successfully tackle various challenges from the rapidly changing ...
Agile methods for open source safety-critical software
The introduction of software technology in a life-dependent environment requires the development team to execute a process that ensures a high level of software reliability and correctness. Despite their popularity, agile methods are generally assumed ...






Comments