skip to main content
10.1145/2739011.2739028acmotherconferencesArticle/Chapter ViewAbstractPublication PageseuroplopConference Proceedingsconference-collections
research-article

Building a safety architecture pattern system

Published: 10 July 2013 Publication History

Abstract

Safety architecture patterns provide knowledge about large scale design decisions for safety-critical systems. They provide good ways to avoid, detect, and handle faults in software or hardware. In this paper we revise existing architectural safety patterns and organize them to build up a pattern system. We add Goal Structuring Notation diagrams to the patterns to provide a structured overview of their architectural decisions. Based on these diagrams we analyze and present relationships between the patterns. The diagrams can also be used to argue about a systems's safety, which we show with an example.

References

[1]
Alvarez, Jacobo et al. (2005). Safe PLD-based programmable controllers. In: International Conference on Field Programmable Logic and Applications. IEEE, 559--562.
[2]
Antonino, Pablo Oliveira, Thorsten Keuler, and Pablo Antonino (2012). Towards an Approach to Represent Safety Patterns. In: The Seventh International Conference on Software Engineering Advances (ICSEA). c, 228--237.
[3]
Armoush, Ashraf (2010). Design patterns for safety-critical embedded systems. PhD thesis. RWTH Aachen University.
[4]
Babar, M. A. (2007). Improving the Reuse of Pattern-Based Knowledge in Software Architecting. In: EuroPLoP. Lero, Ireland, 7--11.
[5]
Buschmann, Frank et al. (1996). Pattern-Oriented Software Architecture: A System of Patterns. John Wiley & Sons.
[6]
Daniels, Fonda, Kalhee Kim, and Mladen A Vouk (1997). The Reliable Hybrid Pattern A Generalized Software Fault Tolerant Design Pattern. In: European Conference on Pattern Language of Programs (EuroPLoP), 1--9.
[7]
Desnos, Nicolas et al. (2012). Towards a Security and Dependability Pattern Development Technique for Resource Constrained Embedded Systems. In: 4th International Conference on Software Quality, Process Automation in Software Development. Springer, Vienna, Austria, 193--204.
[8]
Douglass, Bruce Powel (1998). Safety-Critical Systems Design. Electronic Engineering 70, 862.
[9]
Douglass, Bruce Powel (2002). Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems. Pearson.
[10]
Douglass, Bruce Powel (2010). Design Patterns for Embedded Systems in C. Elsevier.
[11]
Gawand, Hemangi, RS Mundada, and P. Swaminathan (2011). Design Patterns to Implement Safety and Fault Tolerance. International Journal of Computer Applications 18, 2, 6--13.
[12]
Grunske, Lars (2003). Transformational Patterns for the Improvement of Safety Properties in Architectural Specification. In: Proceedings of The Second Nordic Conference on Pattern Languages of Programs (VikingPLoP).
[13]
Hampton, Paul (2012). Survey of safety Architectural Patterns. In: Achieving Systems Safety. February 2012. Springer London, London, 7--9.
[14]
Hanmer, Robert S. (2007). Patterns for Fault Tolerant Software. Wiley.
[15]
Kumar, Kiran and T. V. Prabhakar (2010a). Design Decision Topology Model for Pattern Relationship Analysis. In: 1st Asian Conference on Pattern Languages of Programs (AsianPLoP 2010).
[16]
Kumar, Kiran and T. V. Prabhakar (2010b). Pattern-oriented Knowledge Model for Architecture Design. In: 17th Conference on Pattern Languages of Programs (PLoP).
[17]
Olivera, Andre Rodrigues (2012). Taim: A Safety Pattern Repository, BsC thesis. Federal University of Rio Grande do sul.
[18]
Pullum, L. (2001). Software fault tolerance techniques and implementation. Artech House.
[19]
Rauhamäki, Jari and Seppo Kuikka (2013). Patterns for control system safety. In: 18th European Conference on Pattern Languages of Programs (VikingPLoP).
[20]
Rauhamäki, Jari, Timo Vepsäläinen, and Seppo Kuikka (2012). Architectural patterns for functional safety. In: Nordic Conference on Pattern Languages of Programs (VikingPLoP).
[21]
Rauhamäki, Jari, Timo Vepsäläinen, and Seppo Kuikka (2013). Patterns for safety and control system cooperation. In: Nordic Conference on Pattern Languages of Programs (VikingPLoP).
[22]
Saridakis, Titos (2002). A System of Patterns for Fault Tolerance. In: EuroPLoP.
[23]
Sarma, U V R, Sahith Rampelli, and P Premchand (2013). A Catalog of Architectural Design Patterns for Safety-Critical Real-Time Systems. International Journal of Engineering Research and Applications 3, 1, 125--131.
[24]
Schumacher, Markus (2003). Security Engineering with Patterns. Springer.
[25]
Wu, Weihang (2007). Architectural Reasoning for Safety- Critical Software Applications. PhD thesis. University of York.
[26]
Alvarez, Jacobo et al. (2005). Safe PLD-based programmable controllers. In: International Conference on Field Programmable Logic and Applications. IEEE, 559--562.
[27]
Anderson, T O M et al. (1985). Software Fault Tolerance: An Evaluation. IEEE Transactions on Software Engineering SE-11, 12, 1502--1510.
[28]
Armoush, Ashraf (2010). Design patterns for safety-critical embedded systems. PhD thesis. RWTH Aachen University.
[29]
Babar, M. A. (2007). Improving the Reuse of Pattern-Based Knowledge in Software Architecting. In: EuroPLoP. Lero, Ireland, 7--11.
[30]
Bachmann, Felix, Len Bass, and Mark Klein (2003). Deriving Architectural Tactics: A Step Toward Methodical Architectural Design. Tech. rep. March. Carnegie Mellon Software Engineering Institute.
[31]
Bak, Stanley et al. (Apr. 2009). The System-Level Simplex Architecture for Improved Real-Time Embedded System Safety. In: 2009 15th IEEE Real-Time and Embedded Technology and Applications Symposium. IEEE, 99--107.
[32]
Bapat, Sandip et al. (2007). Chowkidar: A Health Monitor for Wireless Sensor Network Testbeds. In: 3rd International Conference on Testbeds and Research Infrastructure for the Development of Networks and Communities (TridentCom). IEEE.
[33]
Beder, Delano M., Jo Ueyama, and Marcos L. Chaim (Dec. 2011). A generic policy-free framework for fault-tolerant systems: Experiments on WSNs. In: 2011 IEEE 2nd International Conference on Networked Embedded Systems for Enterprise Applications. IEEE, 1--7.
[34]
Bederna, F. and T. Zeller (1999). Method and arrangement for controlling the drive unit of a vehicle.
[35]
Borchert, Christoph, Horst Schirmeier, and Olaf Spinczyk (2012). Protecting the Dynamic Dispatch in C ++ by Dependability Aspects. In: 1st GI Workshop on Software-Based Methods for Robust Embedded Systems (SOBRES '12).
[36]
Börcsök, J et al. (2011). High-Availability Controller Concept for Steering Systems: The Degradable Safety Controller. In: Proceedings of the 2nd international conference on Circuits, Systems, Communications & Computers, 220--228. ISBN: 9781618040565.
[37]
Brilliant, S. S., J. C. Knight, and N. G. Leveson (1990). Analysis of faults in an N-version software experiment. IEEE Transactions on Software Engineering 16, 2, 238--247.
[38]
Carr, D. W. et al. (2005). An Open On-Board CBTC Controller Based on N-Version Programming. In: International Conference on Computational Intelligence for Modelling, Control and Automation and International Conference on Intelligent Agents, Web Technologies and Internet Commerce (CIMCA-IAWTIC'06). Vol. 1. IEEE, 834--839.
[39]
Chao, H. C., T. W. Pearce, and M. J. D. Hayes (2004). Use of the HLA in a Real-Time Multi-Vehicle Simulator. In: The Canadian Society of Mechanical Engineering Forum, 1--10.
[40]
Chen, Xi et al. (2007). Application of Software Watchdog as a Dependability Software Service for Automotive Safety Relevant Systems. In: 37th International Conference on Dependable Systems and Networks (DSN). IEEE.
[41]
Douglass, Bruce Powel (2002). Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems. Pearson.
[42]
Douglass, Bruce Powel (2010). Design Patterns for Embedded Systems in C. Elsevier.
[43]
Durmuú, Mustafa Seçkin et al. (2011). A New Voting Strategy in Diverse Programming for Railway Interlocking Systems. In: International Conference on Transportation, Mechanical, and Electrical Engineering (TMEE). IEEE, 723--726.
[44]
EGAS, Arbeitskreis (2006). Standardisiertes E-Gas-Ueberwachungskonzept fuer Motorsteuerungen von Otto- und Dieselmotoren.
[45]
Emori, Toshiyuki and Shigehito Kawakami (2005). Safety technologies incorporated in the safety control system. Yokogawa Technical Report 40, 4, 43--46.
[46]
Fernandez, A Vergara and R. Denz (2002). Reliability Analysis for the quench detection in the LHC machine. In: 8th European Particle Accelerator Conference, 2445--2447.
[47]
Ghosh, A. K. et al. (1995). A distributed safety-critical system for real-time train control. In: 21st Annual Conference on IEEE Industrial Electronics. Vol. 2. IEEE, 760--767.
[48]
Goble, William M (1998). The Use and Development of Quantitative Reliability and Safety Analysis in New Product Design. PhD thesis. Technical University of Eindhoven.
[49]
Grunske, Lars (2003). Transformational Patterns for the Improvement of Safety Properties in Architectural Specification. In: Proceedings of The Second Nordic Conference on Pattern Languages of Programs (VikingPLoP).
[50]
Guiochet, J. and A. Vilchis (2002). Safety Analysis of a Medical Robot for Tele-echography. In: 2nd IARP IEEE/RAS joint workshop on Technical Challenge for Dependable Robots in Human Environments. IEEE, 217--227.
[51]
Hanmer, Robert S. (2007). Patterns for Fault Tolerant Software. Wiley.
[52]
International Electrotechnical Commission (2010). IEC 61508, Functional Safety of Electrical/ Electronic/ Programmable Electronic Safety Related Systems.
[53]
Jacazio, G, P Serena Guinzio, and M Sorli (2008). A dual-duplex electrohydraulic system for the fly-by-wire control of a helicopter main rotor. In: 26th International Congress of the Aeronautical Sciences, 1--9.
[54]
Kim, K H Kane (1998). ROAFTS: A Middleware Architecture for Real-time Object-oriented Adaptive Fault Tolerance Support. In: 3rd International High-Assurance Systems Engineering Symposium. IEEE.
[55]
Kohanawa, Akihiko, Masami Hasegawa, and Shigeharu Kanamori (2010). Safety Control Solutions Protecting Onsite Safety. Fuji Electric Group 56, 1.
[56]
Kumar, Kiran and T. V. Prabhakar (2010). Design Decision Topology Model for Pattern Relationship Analysis. In: 1st Asian Conference on Pattern Languages of Programs (AsianPLoP 2010).
[57]
Kumar, S Phani, P. Seetha Ramaiah, and V. Khanaa (2011). Architectural patterns to design software safety based safety-critical systems. In: Proceedings of the 2011 International Conference on Communication, Computing & Security - ICCCS '11. ACM Press, New York, New York, USA, 620.
[58]
Kyriakoulakos, Konstantinos and Dionisios N. Pnevmatikatos (2009). A novel SRAM-based FPGA architecture for efficient TMR fault tolerance support. In: 19th International Conference on Field Programmable Logic and Applications (FPL). IEEE.
[59]
Laprie, J. C. et al. (1995). Architectural Issues in Software Fault Tolerance. In: Software Fault Tolerance. Wiley, 47--80.
[60]
Ljosland, Ingvar (2006). BUCS: Patterns and Robustness A Navigation System Case Study.
[61]
Michael, J Bret, Anil Nerode, and Duminda Wijesekera (2006). On the Provision of Safety Assurance via Safety Kernels for Modern Weapon Systems. In: DTIC Science & Technology, 102--105.
[62]
Miyawaki, N. (2008). Study of Machine Safety Control. JTEKT Engineering Journal 1004E, 119--124.
[63]
Mutlu, Ahmet (2004). DC Motor Speed Controller Software.
[64]
Nourani, Esmaeil and Mohammad Abdollahi Azgomi (Dec. 2009). A design pattern for dependable web services using design diversity techniques and WS-BPEL. In: 2009 International Conference on Innovations in Information Technology (IIT). IEEE, 325--329.
[65]
Parchas, E. and R. de Lemos (2004). An architectural approach for improving availability in Web services. In: Third Workshop on Architecting Dependable Systems (WADS). IET.
[66]
Preschern, Christopher (2011). PISCAS: Pisciculture Automation System Product Line. MA thesis. Graz University of Technology.
[67]
Preschern, Christopher, Nermin Kajtazovic, and Christian Kreiner (2013). Catalog of Safety Tactics in the light of the IEC 61508 Safety Lifecycle. In: VikingPLoP.
[68]
Sghairi, M et al. (2008). Challenges in Building Fault -Tolerant Flight Control System for a Civil Aircraft. IAENG International Journal of Computer Science 35, 4, 495--499.
[69]
Skambraks, Martin (Sept. 2006). An Architecture for Runtime State Restoration after Transient Hardware-Faults in Redundant Real-Time Systems. In: Conference on Emerging Technologies and Factory Automation. IEEE, 78--85.
[70]
Solomon, Bogdan et al. (May 2007). Towards a Real-Time Reference Architecture for Autonomic Systems. In: International Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS '07). IEEE.
[71]
Stögerer, Christoph and Wolfgang Kastner (2010). Distributed Monitoring for Component-based Traffic Management Systems. In: Conference on Emerging Technologies and Factory Automation (ETFA). IEEE.
[72]
Tong, Adams N. (2007). Fabrication of deep-submicron complementary metal-oxide semiconductor devices. PhD thesis. University of Notre Dame.
[73]
Varjoranta, Velu (2012). Software safety issues in machine control system design process. PhD thesis. Tampere University of Technology.
[74]
Wang, Feiyi et al. (2001). SITAR: A Scalable Intrusion-Tolerant Architecture for Distributed Services. In: Foundations of Intrusion Tolerant Systems (OASIS'03). June. IEEE, 5--6.
[75]
Yang, Hao and Xianhui Yang (Aug. 2010). Automatic Generation of Markov Models in Safety Instrumented Systems with Non-identical Channels. In: 2010 International Conference of Information Science and Management Engineering. IEEE, 287--290.
[76]
Zhu, Liming, Muhammad Ali Babar, and Ross Jeffery (2004). Mining Patterns to Support Software Architecture Evaluation. In: 4thWorking IEEE / IFIP Conference on Software Architecture (WICSA). IEEE.
[77]
Zimmer, Marcel (2009). Prototypische Implementierung und Evaluation von Sicherheitsmustern in eingebetteten Systemen. MA thesis. Technische Universität Kaiserslautern.

Cited By

View all
  • (2023)Safety-Aware Deployment Synthesis and Trade-Off Analysis of Apollo Autonomous Driving Platform2023 IEEE 20th International Conference on Software Architecture Companion (ICSA-C)10.1109/ICSA-C57050.2023.00070(309-316)Online publication date: Mar-2023
  • (2023)A Toolchain for Synthesizing and Validating Safety ArchitecturesSN Computer Science10.1007/s42979-023-01712-54:4Online publication date: 15-Apr-2023
  • (2022)Consolidated Software Architecture for Safety-Critical AUTOSAR Applications2022 IEEE International Conference on Industrial Technology (ICIT)10.1109/ICIT48603.2022.10002745(1-6)Online publication date: 22-Aug-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
EuroPLoP '13: Proceedings of the 18th European Conference on Pattern Languages of Program
July 2013
384 pages
ISBN:9781450334655
DOI:10.1145/2739011
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 10 July 2013

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Conference

EuroPLoP 2013

Acceptance Rates

EuroPLoP '13 Paper Acceptance Rate 24 of 36 submissions, 67%;
Overall Acceptance Rate 216 of 354 submissions, 61%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)202
  • Downloads (Last 6 weeks)17
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Safety-Aware Deployment Synthesis and Trade-Off Analysis of Apollo Autonomous Driving Platform2023 IEEE 20th International Conference on Software Architecture Companion (ICSA-C)10.1109/ICSA-C57050.2023.00070(309-316)Online publication date: Mar-2023
  • (2023)A Toolchain for Synthesizing and Validating Safety ArchitecturesSN Computer Science10.1007/s42979-023-01712-54:4Online publication date: 15-Apr-2023
  • (2022)Consolidated Software Architecture for Safety-Critical AUTOSAR Applications2022 IEEE International Conference on Industrial Technology (ICIT)10.1109/ICIT48603.2022.10002745(1-6)Online publication date: 22-Aug-2022
  • (2022)Integration of systems design and risk management through model‐based systems developmentSystems Engineering10.1002/sys.2164326:1(48-70)Online publication date: 6-Oct-2022
  • (2021)Safety and security co-engineering for highly automated vehiclesIntegrierte Entwicklungsmethodik für funktionale Sicherheit und IT-Sicherheit für automatisierte Fahrfunktionene & i Elektrotechnik und Informationstechnik10.1007/s00502-021-00934-w138:7(469-479)Online publication date: 27-Sep-2021
  • (2020)Semi-automatic Architectural Suggestions for the Functional Safety of Cooperative Driving Systems2020 IEEE International Conference on Software Architecture Companion (ICSA-C)10.1109/ICSA-C50368.2020.00018(55-58)Online publication date: Mar-2020
  • (2020)Combined automotive safety and security pattern engineering approachReliability Engineering & System Safety10.1016/j.ress.2019.106773198(106773)Online publication date: Jun-2020
  • (2019)Designing Safety Critical Software Systems to Manage Inherent Uncertainty2019 IEEE International Conference on Software Architecture Companion (ICSA-C)10.1109/ICSA-C.2019.00051(246-249)Online publication date: Mar-2019
  • (2019)Patterns for Functional Safety System DevelopmentTransactions on Pattern Languages of Programming IV10.1007/978-3-030-14291-9_4(100-138)Online publication date: 22-Feb-2019
  • (2019)Safety Architecture Pattern System with Security AspectsTransactions on Pattern Languages of Programming IV10.1007/978-3-030-14291-9_2(22-75)Online publication date: 22-Feb-2019
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media