213 research outputs found
TURTLE-P: a UML profile for the formal validation of critical and distributed systems
The timed UML and RT-LOTOS environment, or TURTLE for short, extends UML class and activity diagrams with composition and temporal operators. TURTLE is a real-time UML profile with a formal semantics expressed in RT-LOTOS. Further, it is supported by a formal validation toolkit. This paper introduces TURTLE-P, an extended profile no longer restricted to the abstract modeling of distributed systems. Indeed, TURTLE-P addresses the concrete descriptions of communication architectures, including quality of service parameters (delay, jitter, etc.). This new profile enables co-design of hardware and software components with extended UML component and deployment diagrams. Properties of these diagrams can be evaluated and/or validated thanks to the formal semantics given in RT-LOTOS. The application of TURTLE-P is illustrated with a telecommunication satellite system
Protocol-Inspired Hardware Testing
The relevance of protocol conformance testing techniques to hardware testing is discussed. It is shown that the ioconf (input-output conformance) approach used in protocol testing can be applied to generate tests for a synchronous hardware design using its formal specification. The generated tests are automatically applied to a circuit by a VHDL testbench, thus giving confidence that the hardware design meets its high-level formal specification. Case studies illustrate how the ideas can be applied to standard hardware verification benchmarks such as the Single Pulser and Black-Jack Dealer
Formal Methods for Communication Services
We survey formal methods as they are applied to the development of communication services. We report on industrial and academic projects, consider different communication architectures and work related to the feature interaction problem. Based on our survey, the results reported in the literature and most importantly, on extensive discussions with industry, we investigate important industrial concerns and criticisms about the use of formal methods for the development of communication services. We report on a collaborative project between the Swiss Federal Institute of Technology in Lausanne, Swisscom, Alcatel and Thomson in which these industrial concerns have been taken into account from the very beginning. The results of this project are currently being integrated into an industrial software development platform
An Integrated Methodology for Creating Composed Web/Grid Services
This thesis presents an approach to design, specify, validate, verify, implement, and evaluate composed web/grid services. Web and grid services can be composed to create new services
with complex behaviours. The BPEL (Business Process Execution Language) standard was created to enable the orchestration of web services, but there have also been investigation of
its use for grid services. BPEL specifies the implementation of service composition but has no formal semantics; implementations are in practice checked by testing. Formal methods are
used in general to define an abstract model of system behaviour that allows simulation and reasoning about properties. The approach can detect and reduce potentially costly errors at
design time.
CRESS (Communication Representation Employing Systematic Specification) is a domainindependent,
graphical, abstract notation, and integrated toolset for developing composite web service. The original version of CRESS had automated support for formal specification in
LOTOS (Language Of Temporal Ordering Specification), executing formal validation with MUSTARD (Multiple-Use Scenario Testing and Refusal Description), and implementing in
BPEL4WS as the early version of BPEL standard. This thesis work has extended CRESS and its integrated tools to design, specify, validate, verify, implement, and evaluate composed web/grid
services. The work has extended the CRESS notation to support a wider range of service compositions, and has applied it to grid services as a new domain. The thesis presents two new
tools, CLOVE (CRESS Language-Oriented Verification Environment) and MINT (MUSTARD Interpreter), to respectively support formal verification and implementation testing. New work
has also extended CRESS to automate implementation of composed services using the more recent BPEL standard WS-BPEL 2.0
Recommended from our members
Using formal methods to support testing
Formal methods and testing are two important approaches that assist in the development of high quality software. While traditionally these approaches have been seen as rivals, in recent
years a new consensus has developed in which they are seen as complementary. This article reviews the state of the art regarding ways in which the presence of a formal specification can be used to assist testing
Specification and implementation of computer network protocols
A reliable and effective computer network can only be
achieved by adopting efficient and error-free communication protocols.
Therefore, the protocol designer should produce an unambiguous
specification meeting these requirements. Techniques for
producing protocol specifications have been the subject of intense
interest over the last few years. This is partly due to the
advent of an international standard for networking. A variety of
methods have been employed, some of which are described in detail
in this thesis. [Continues.
Testing by Dualization
Software engineering requires rigorous testing to guarantee the product's
quality. Semantic testing of functional correctness is challenged by
nondeterminism in behavior, which makes testers difficult to write and reason
about.
This thesis presents a language-based technique for testing interactive
systems. I propose a theory for specifying and validating nondeterministic
behaviors, with guaranteed soundness and correctness. I then apply the theory
to testing practices, and show how to derive specifications into interactive
tester programs. I also introduce a language design for producing test inputs
that can effectively detect and reproduce invalid behaviors.
I evaluate the methodology by specifying and testing real-world systems such
as web servers and file synchronizers, demonstrating the derived testers'
ability to find disagreements between the specification and the implementation
Modelling SIP Services using CRESS
CRESS (CHISEL Representation Employing Systematic Specification) is a notation and set of tools for graphical specification and analysis of services. It is applicable wherever a system consists of base functionality to which may be added selected services. The CRESS notation is introduced for root diagrams, service diagrams, and rules governing their behaviour. It is shown how CRESS can represent services in SIP (Session Initiation Protocol). For analysis, service diagrams can be automatically translated into LOTOS (Language Of Temporal Ordering Specification) or SDL (Specification and Description Language). For scripting, translation is into CPL (Call Processing Language) or CGI (Common Gateway Interface). The structure of the portable CRESS toolset is explained
- …