664 research outputs found
SAGA: A project to automate the management of software production systems
The Software Automation, Generation and Administration (SAGA) project is investigating the design and construction of practical software engineering environments for developing and maintaining aerospace systems and applications software. The research includes the practical organization of the software lifecycle, configuration management, software requirements specifications, executable specifications, design methodologies, programming, verification, validation and testing, version control, maintenance, the reuse of software, software libraries, documentation, and automated management
The 14th Overture Workshop: Towards Analytical Tool Chains
This report contains the proceedings from the 14th Overture workshop organized in connection with the Formal Methods 2016 symposium. This includes nine papers describing different technological progress in relation to the Overture/VDM tool support and its connection with other tools such as Crescendo, Symphony, INTO-CPS, TASTE and ViennaTalk
AN EXECUTABLE SPECIFICATION FORMALISM REPRESENTING ABSTRACT DATA TYPES
It has been proved to be very useful and necessary to give formal specifications of software
systems to be developed. The specifications should help to avoid the necessity of creating
prototypes by offering direct executability. A useful specification language aiming the
description of abstract data types - while maintaining abstractness - should also support
the representation of states of objects, as well as support the transformation of declarative
specifications into efficiently executable code.
The present paper is intended to give an informal description of a specification language
aimed to offer the features discussed above. Although the development of the language
has mainly been motivated by the object-oriented language (OMOHUNDRO, 1993),
it is intended to function as a specification formalism at a much broader field
Development Process for Multi-Disciplinary Embedded Control Systems
This report contains the progress report for the qualification exam for Industrial PhD student Sune Wolff. Initial work on describing a development process for multi-disciplinary systems using collaborative modelling and co-simulation is described
Enhancing Formal Modelling Tool Support with Increased Automation
Progress report for the qualification exam report for PhD Student Kenneth Lausdahl. Initial work on enhancing tool support for the formal method VDM and the concept of unifying a abstract syntax tree with the ability for isolated extensions is described. The tool support includes a connection to UML and a test automation principle based on traces written as a kind of regular expressions
Animation prototyping of formal specifications
At the present time one of the key issues relating to the design of real-time systems is the specification
of software requirements. It is now clear that specification correctness is an essential factor for the
design and implementation of high quality software. As a result considerable emphasis is placed on
producing specifications which are not only correct, but provably so. This has led to the application
of mathematically-based formal specification techniques in the software life-cycle model.
Unfortunately, experience in safety-critical systems has shown that specification correctness is not, in
itself, sufficient. Such specifications must also be comprehensible to all involved in the system development. The topic of this thesis—Animation Prototyping—is a methodology devised to make
such specifications understandable and usable. Its primary objective is to demonstrate key properties
of formal specifications to non-software specialists. This it does through the use of computer-animated
pictures which respond to the dictates of the formal specification. [Continues.
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
Synthesizing Certified Code
Code certification is a lightweight approach for formally demonstrating software quality. Its basic idea is to require code producers to provide formal proofs that their code satisfies certain quality properties. These proofs serve as certificates that can be checked independently. Since code certification uses the same underlying technology as program verification, it requires detailed annotations (e.g., loop invariants) to make the proofs possible. However, manually adding annotations to the code is time-consuming and error-prone. We address this problem by combining code certification with automatic program synthesis. Given a high-level specification, our approach simultaneously generates code and all annotations required to certify the generated code. We describe a certification extension of AutoBayes, a synthesis tool for automatically generating data analysis programs. Based on built-in domain knowledge, proof annotations are added and used to generate proof obligations that are discharged by the automated theorem prover E-SETHEO. We demonstrate our approach by certifying operator- and memory-safety on a data-classification program. For this program, our approach was faster and more precise than PolySpace, a commercial static analysis tool
- …