Executable and Symbolic Conformance Tests for Implementation Models
نویسنده
چکیده
Following the Model-Driven Architecture (MDA), a system description consists of several models, i.e. views of the system. This paper is concerned with formal conformance tests between different models. It stresses the need for formal semantical foundations of all languages that are used to express models. In particular, we classify conformance tests for implementation models. The Model-Driven Architecture (MDA) [14,2] is the new strategy of the OMG to maintain the whole lifecycle of a system. A system is specified by a collection of several views, which concentrate on certain aspects and hides all non-relevant details. In the terminology of MDA a view is called model. Different kinds of models are usually expressed in different suitable languages. The implementation of a system is seen as just one model among others. MDA does not stipulate the usage of particular languages to express particular models. However, implementation models are usually expressed in terms of a programming language. Especially in the development phase of a system, periodical checks on the consistency of all models are crucial. MDA calls this activity conformance test between two or more models. In this paper, we focus on conformance tests which can be performed by a machine. Obviously, such conformance tests presuppose a formal underpinning of all languages used to express the involved models. We concentrate on the conformance test between the implementation model and a single additional model. For practical reasons, we assume Java to be the language for expressing the implementation model. The semantics of Java was originally defined in [3]. Due to its informal nature, [3] cannot be used directly for machine-based conformance tests. Instead, another representation of Java’s semantics has to be chosen. We discuss two representations, and investigate the influence of that choice on the nature of the corresponding conformance tests. Java Semantics Given by a Compiler A pragmatic and popular approach defines the semantics of Java by the actual behaviour of programs on a machine. Adopting this approach for the semantical foundation of implementation models means to define implementation models in terms of the J.-M. Bruel and Z. Bellahsène (Eds.): OOIS 2002 Workshops, LNCS 2426, pp. 231–234, 2002. c © Springer-Verlag Berlin Heidelberg 2002
منابع مشابه
Conformance Testing of Distributed Concurrent Systems with Executable Designs
This paper presents a unified approach to test case generation and conformance test execution in a distributed setting. A model in the object-oriented, concurrent modeling language Creol is used both for generating test inputs and as a test oracle. For test case generation, we extend Dynamic Symbolic Execution (also called Concolic Execution) to work with multi-threaded models and use this to g...
متن کاملTest Purpose Concretization through Symbolic Action Refinement
In a Model Driven Design process, model refinement methodologies allow one to denote system behaviors at several levels of abstraction. In the frame of a model-based testing process, benefits can be taken from such refinement processes by extracting test cases from the different intermediate models. As a consequence, test cases extracted from abstract models often have to be concretized in orde...
متن کاملHabilitationsschrift Model-Based Mutation Testing: Theory and Application
In this habilitation thesis we present our research on model-based mutation testing. Mutation testing is a way of assessing and improving a test suite by checking if its test cases can detect a number of injected faults in a program. The faults are introduced by syntactically changing the source code of a program. In our work we generalise mutation testing from program testing to modelbased tes...
متن کاملConformance Checking of Components Against Their Non-deterministic Specifications
Conformance checking of a component is a testing method to see if an implementation and its executable specification are behaviorally equivalent relative to any interactions performed on the implementation. Such checking is complicated by the presence of non-determinism in the specification: the specification may permit a set of possible behaviors. We present a new method to automatically deriv...
متن کاملComplementing the B-Method with Model-Based Testing
In this Ph.D project, we propose a Model-Based Testing approach to complement the B-Method development process. The approach generates unit test cases that verify the conformance between the initial abstract model and the actual implementation of the system, checking if the developed code behaves as specified in the model. The test cases are generated using classic testing techniques such as In...
متن کامل