A Theory of Communicating Sequential Processes
Journal of the ACM (JACM)
Distributed systems and computer networks
Distributed systems and computer networks
Static analysis of exception handling in Ada
Software—Practice & Experience
A component- and message-based architectural style for GUI software
Proceedings of the 17th international conference on Software engineering
Software testing at the architectural level
ISAW '96 Joint proceedings of the second international software architecture workshop (ISAW-2) and international workshop on multiple perspectives in software development (Viewpoints '96) on SIGSOFT '96 workshops
Software architecture in practice
Software architecture in practice
Testing object-oriented systems: models, patterns, and tools
Testing object-oriented systems: models, patterns, and tools
Interprocedural exception analysis for Java
Proceedings of the 2001 ACM symposium on Applied computing
Transaction Processing: Concepts and Techniques
Transaction Processing: Concepts and Techniques
Fault Tolerance: Principles and Practice
Fault Tolerance: Principles and Practice
Documenting Software Architectures: Views and Beyond
Documenting Software Architectures: Views and Beyond
VDM '91 Proceedings of the 4th International Symposium of VDM Europe on Formal Software Development-Volume 2: Tutorials
Response to undesired events in software systems
ICSE '76 Proceedings of the 2nd international conference on Software engineering
An approach to integration testing based on architectural descriptions
ICECCS '97 Proceedings of the Third IEEE International Conference on Engineering of Complex Computer Systems
Using Software Architecture for Code Testing
IEEE Transactions on Software Engineering
Exception handling in the development of dependable component-based systems
Software—Practice & Experience - Research Articles
A framework for analyzing exception flow in software architectures
WADS '05 Proceedings of the 2005 workshop on Architecting dependable systems
Exceptions and aspects: the devil is in the details
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Introducing a Reasonably Complete and Coherent Approach for Model-based Testing
Electronic Notes in Theoretical Computer Science (ENTCS)
A fault-tolerant software architecture for component-based systems
Architecting dependable systems
Architectural fault tolerance using exception handling
Architecting dependable systems IV
A method for modeling and testing exceptions in component-based software development
LADC'05 Proceedings of the Second Latin-American conference on Dependable Computing
Supporting cross-language exception handling when extending applications with embedded languages
SERENE'11 Proceedings of the Third international conference on Software engineering for resilient systems
Exception handlers for healing component-based systems
ACM Transactions on Software Engineering and Methodology (TOSEM) - Testing, debugging, and error handling, formal methods, lifecycle concerns, evolution and maintenance
Hi-index | 0.00 |
When building dependable systems by integrating untrusted software components that were not originally designed to interact with each other, it is likely the occurrence of architectural mismatches related to assumptions in their failure behaviour. These mismatches, if not prevented during system design, have to be tolerated during runtime. This paper presents an architectural abstraction based on exception handling for structuring fault-tolerant software systems. This abstraction comprises several components and connectors that promote an existing untrusted software element into an idealised fault-tolerant architectural element. Moreover, it is considered in the context of a rigorous software development approach based on formal methods for representing the structure and behaviour of the software architecture. The proposed approach relies on a formal specification and verification for analysing exception propagation, and verifying important dependability properties, such as deadlock freedom, and scenarios of architectural reconfiguration. The formal models are automatically generated using model transformation from UML diagrams: component diagram representing the system structure, and sequence diagrams representing the system behaviour. Finally, the formal models are also used for generating unit and integration test cases that are used for assessing the correctness of the source code. The feasibility of the proposed architectural approach was evaluated on an embedded critical case study.