Beyond Design by Contract: Formal Specification of Composed Behaviour
نویسندگان
چکیده
The basic building blocks of Design by Contract are Boolean assertions, which are used to express preconditions, postconditions and invariants. For composed commands, i.e. for commands whose effect is realized using other commands, the expressiveness of such contracts appears to be insufficient. In this paper, we propose an extension of the Design by Contract methodology that enables us to express the specification of a composed method in terms of the specification of the composing methods. Among the main advantages of this approach, we distinguish increased expressiveness of contracts, better consistency and trivial code generation. Beyond Design by Contract: Formal Specification of Composed Behaviour Nele Smeets*, Eric Steegmans Katholieke Universiteit Leuven, Department of Computer Science, Celestijnenlaan 200A, 3001 Leuven, Belgium {Nele.Smeets, Eric.Steegmans}@cs.kuleuven.ac.be *Research Assistant of the Fund for Scientific Research Flanders (Belgium) Abstract. The basic building blocks of Design by Contract are Boolean assertions, which are used to express preconditions, postconditions and invariants. For composed commands, i.e. for commands whose effect is realized using other commands, the expressiveness of such contracts appears to be insufficient. In this paper, we propose an extension of the Design by Contract methodology that enables us to express the specification of a composed method in terms of the specification of the composing methods. Among the main advantages of this approach, we distinguish increased expressiveness of contracts, better consistency and trivial code generation. The basic building blocks of Design by Contract are Boolean assertions, which are used to express preconditions, postconditions and invariants. For composed commands, i.e. for commands whose effect is realized using other commands, the expressiveness of such contracts appears to be insufficient. In this paper, we propose an extension of the Design by Contract methodology that enables us to express the specification of a composed method in terms of the specification of the composing methods. Among the main advantages of this approach, we distinguish increased expressiveness of contracts, better consistency and trivial code generation.
منابع مشابه
Contract-Based Slicing
In the last years, the concern with the correctness of programs has been leading programmers to enrich their programs with annotations following the principles of design-by-contract, in order to be able to guarantee their correct behaviour and to facilitate reuse of verified components without having to reconstruct proofs of correctness. In this paper we adapt the idea of specification-based sl...
متن کاملXCD – Simple, Modular, Formal Software Architectures
Connector-Centric Design (XCD) is a new approach for specifying software architectures that focuses on the use of complex connectors. In XCD simple interconnection mechanisms like procedure-calls, event-buses, etc. are abstracted and components take a second place. XCD aids the clear separation in a modular manner of the highlevel functional, interaction, and control system behaviour, thus incr...
متن کاملAn Integrated Methodology for Creating Composed Web / Grid Services - Technical Report
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 s...
متن کامل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 s...
متن کاملVisual Behavioural Modelling with Contracts
This paper presents the Visual Contract Language (VCL). VCL is a new visual language for abstract software specification at level of requirements. It is designed to be visual, formal and modular, and aims at expressing precisely structural and behavioural properties of software systems. VCL takes an approach to behavioral modelling based on design by contract that emphasises modularity.
متن کامل