Requirements-Based Monitors for Real-Time Systems
IEEE Transactions on Software Engineering
A Simple and Practical Approach to Unit Testing: The JML and JUnit Way
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Requirements monitoring in dynamic environments
RE '95 Proceedings of the Second IEEE International Symposium on Requirements Engineering
Osgi Service Platform, Release 3
Osgi Service Platform, Release 3
Requirements Monitoring for Service-Based Systems: Towards a framework based on Event Calculus
Proceedings of the 19th IEEE international conference on Automated software engineering
Smart monitors for composed services
Proceedings of the 2nd international conference on Service oriented computing
A Dynamic-SOA Home Control Gateway
SCC '06 Proceedings of the IEEE International Conference on Services Computing
Hi-index | 0.00 |
The Home Automation System (HAS) is a service-oriented application that facilitates the automation of a private home to improve the comfort and security of its residents. HAS is implemented using a service-oriented architecture. Many of the services in the HAS dynamically change their configuration during run-time. This occurs due to change in availability and bindings between services. Dynamic reconfigurations of services in the HAS presents several testing challenges, one being the specification of test oracles. In this paper, we give an approach for specifying test oracles for services in the HAS. We formally specify test oracles in the JML specification language. To verify service behavior in the presence of dynamic reconfigurations, we use mechanisms in the service architecture that notify dynamic changes along with run-time evaluation of JML specifications. We illustrate our approach using an example service in the H-Omega HAS developed on the OSGi™ and iPOJO service platform. To evaluate our approach, we developed a testing framework that allows for generation of tests with dynamic service reconfigurations. In addition, we seeded faults into the example service, and evaluated the effectiveness of the test oracles in revealing the faults using the generated tests.