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 assumptio...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.展开更多
针对面向服务软件异常处理的可终止性难以验证问题,提出一种基于模型检测的验证方法.该方法首先基于已建立的异常处理模型和形式定义的异常处理可终止性,使用ASK-CTL(Computation Tree Logic)刻画异常处理的可终止性,然后基于本文提出...针对面向服务软件异常处理的可终止性难以验证问题,提出一种基于模型检测的验证方法.该方法首先基于已建立的异常处理模型和形式定义的异常处理可终止性,使用ASK-CTL(Computation Tree Logic)刻画异常处理的可终止性,然后基于本文提出的异常处理可终止性的模型检测算法,可获得异常处理可终止性验证结果.最后,结合实例从可行性和有效性角度对验证方法进行实证和评估,结果表明,本方法能有效验证异常处理的可终止性,且具有较好的性能,为进一步分析异常处理的正确性提供支持.展开更多
基金supported by Fapesp/Brazil under Grant No. 06/02116-2 and CAPES/Brazil under Grant No. 0722-07-3Cecília Rubira is partially supported by CNPq/Brazil under Grant Nos. 301446/2006-7 and 484138/2006-5
文摘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.
文摘针对面向服务软件异常处理的可终止性难以验证问题,提出一种基于模型检测的验证方法.该方法首先基于已建立的异常处理模型和形式定义的异常处理可终止性,使用ASK-CTL(Computation Tree Logic)刻画异常处理的可终止性,然后基于本文提出的异常处理可终止性的模型检测算法,可获得异常处理可终止性验证结果.最后,结合实例从可行性和有效性角度对验证方法进行实证和评估,结果表明,本方法能有效验证异常处理的可终止性,且具有较好的性能,为进一步分析异常处理的正确性提供支持.