|Structure of the tutorial (duration: half day tutorial)
|Structure of the tutorial (duration: full day tutorial)
The tutorial is structured in five main parts:
- Overview on Software Architecture and architectural languages: This part introduces attendees to the concepts of Software Architecture especially showing how a SA can help
improving the overall system dependability and identifies a common vocabulary for all participants. This part
will start with the motivations for the tutorial. The rest will be structured as follow: (i) Software Architectures: a
bit of history; (ii) Software Architectures: constituent elements; (iii) Architecture Description Languages
(ADLs); (iv) some examples;
- Overview on Fault Tolerance and Exception Handling: This part introduces the audience to the concept of Fault Tolerance, specifically addressing the role of Exception
handling as one of the most significant techniques for achieving software fault tolerance at the architectural
level. This part will be structured as follow: (i) dependability attributes and means; (ii) challenges of fault
tolerance; (iii) fault tolerance and system structuring; (iv) forward error recovery and exception handling; (v)
domain specific exception handling in cooperative, ambient, pervasive and mobile systems; (vi) exception
handling and system development.
- Integrating Fault Tolerance into Software Architecture: The third part of the talk will investigate the various approaches studied so far for incorporating fault tolerance
concepts into software architectures. This part will be structured as follow: (i) main existent approaches for
integrating fault tolerance in software architecture specifications; (ii) a classification survey on existent
approaches; (iii) considerations on existing work; (iv) directions for future work.
- A specific perspective: Coordinated Atomic Actions and Software Architecture: The fourth part of the talk will introduce the audience to a specific technology for exception handling, the
Coordinated Atomic Actions (CAAs), and illustrate how their concepts can be expressed in an architectural
model. It will be also described how CAAs could be exploited for code generation. This fourth part will be
structured as follow: (i) CAAs and SA; (ii) from CAAs to code.
- Tools, case studies and discussion: The last part of this tutorial will present some case studies and tools that are available. Starting from that we will
open a discussion on how current solutions could be improved. This part will be structured as follow: (i) case
studies presentation; (ii) where current solutions could be improved; (iii) open questions.