Formal Specification
2,941 Followers
Recent papers in Formal Specification
This paper presents a model-based approach that combines the data-flow and object-oriented computing paradigms to model embedded systems. The rationale behind the approach is that both views are important for modelling purposes in... more
This paper provides insight into the development of System Verilog Assertions standardization efforts. Specifically it covers the evolution from Accellera 3.1a version to its current state of standardization (the upcoming SVA2012... more
This invited paper presents a number of correlated specifications of example railway system problems. They use a variety of partially or fully integrated formal specification. The paper thus represents a mere repository of what we... more
It has been suggested that constraining a natural language (NL) reduces the degree of ambiguity of requirement specifications written in that language. There is also a tendency to assume that an inescapable side effect of constraining a... more
Nowadays, if we want to obtain a sound and correct final software product it is very important to be able to properly join modern OO programming environments, which are built for the new Internet architectures, with the OO methodologies... more
The growing design complexity of today's embedded real-time systems requires new techniques aiming the raising of the abstraction level since earlier stages of design in order to deal with such complexity in a suitable way. This paper... more
Although adaptive applications are increasing in popularity, there are only a few approaches that focus on their generalization or the specification of a reference model. Trying to fill this gap, this paper presents a reference model for... more
Requirements Engineering (RE) is a relatively young discipline, and still many advances have been achieved during the last decades. In particular, numerous RE methods have been proposed. However, there is a growing concern for empirical... more
Model-based design (MBD) involves designing a model of a control system, simulating and debugging it with dedicated tools, and finally generating automatically code corresponding to this model. In the domain of embedded systems, it offers... more
The increasing demand for Distributed Systems(DS's) raised the need of a quality-assured development process, which could not only address the issue of requirement compliance, but also could help the construction of tools able to derive... more
Over the last few years, there is a remarkable increase in the complexity of media-intensive products such as digital video recorder, DVD players, MPEG players and video conference devices. The complexity stems from the heavy... more
Abstract After decades from introducing and using agile methodologies, project managers realized that no methodology is sufficient by itself. Thus, merging their principles is the solution yet no formal solution has been proposed. Relying... more
"This paper presents a formal development of a cardiac pacing system based on a Boston Scientific’s model, a pilot case study from the Grand Challenge in Software Verification. We present a summary of our Z model of the system, its... more
The software requirements engineering (RE) process is one of the key processes in software development. The aim of requirements engineering process is capturing, understanding and analyzing customer requirements. Today, use cases are... more
Hardware and software systems are growing everyday in scale and functionality. This increase in complexity increases the number of subtle errors. Moreover, some of these errors may cause catastrophic loss of money, time, or even in many... more
In this paper, the verification strategy of PROVER environment is presented. The PROVER system (PROduction system for hardware VERification) is implemented using CLIPS (C Language Integrated Production System). PROVER is a rulebased... more
For a long time, one of the major research goals in the computer science research community has been to raise the level of abstraction power of specification languages/programming languages. Many specification languages and formalisms... more
In this paper we introduce a logical viewpoint on architectures. The logical viewpoint is based on the distinction between symbolic and semantic models of architectures. The core of a symbolic model consists of its signature that... more
This report gives an overview of the work performed by the Programming Research Group as part of the European collaborative ESPRIT II REDO project (no. 2487). This work covered the areas of reverse-engineering: redocumentation and... more
... Value estimation for software product management SI Mohamed 1 , AM Wahba 2 ... 1, pp. 99-110,2004, 2004. [14] G. Ruhe, and MO Saliu, , The Science and Practice of Software Release Planning, IEEE Software (submitted). ...
... Value estimation for software product management SI Mohamed 1 , AM Wahba 2 ... 1, pp. 99-110,2004, 2004. [14] G. Ruhe, and MO Saliu, , The Science and Practice of Software Release Planning, IEEE Software (submitted). ...
This paper describes an approach, which uses formal specifications, for the classification of REA patterns and their building blocks. In general, classification is essential -especially when the number of patterns of a collection... more
We present a logical framework for modeling and reasoning about the evolution of requirements. We demonstrate how a sufficiently rich meta level logic can formally capture intuitive aspects of managing changes to requirements models,... more
The formal analysis described here detects two so far undetected real deadlock situations per thousand C source files or million lines of code in the open source Linux operating system kernel, and three undetected accesses to freed... more
We develop a general constraint logic programming (CLP) based framework for specification and verification of real-time systems. Our framework is based on the notion of timed automata that have traditionally been used for specihing... more
The analysis of UCR data provides a basis for crime prevention in the United States as well as a sound decision making tool for policy makers. The decisions made with the use of UCR data range from major funding for resource allocation... more
Linear permissions have been proposed as a lightweight way to specify how an object may be aliased, and whether those aliases allow mutation. Prior work has demonstrated the value of permissions for addressing many software engineering... more
The paper describes the application of formal modelling techniques within interface design to a 'what you see is what you get' style word processor to illustrate the analysis of the usability properties of interactive systems. A formal... more
A general approach to security architecture is introduced. A survey of existing attempts to develop the security architecture introduces the topic. Security can be highlighted as part of the system development life cycle. The authors... more
The Distributed Computing Software project at Oxford University is using formal specification techniques to explore the design of services in a distributed operating system. Our goal is to construct and publish the specification of a... more
Perfect Developer is a software tool that supports the formal development of object-oriented programs by refine-ment, including formal verification of code. It is built around a single language that supports both specification and... more
This paper describes our experience using UML, the Unified Modeling Language, to describe the software architecture of a system. We found that it works well for communicating the static structure of the architecture: the elements of the... more
New models and new tools are needed for analyzing and improving strategic and operational decisions within an extended enterprise. This paper proposes to exploit the expressiveness of UML diagrams to facilitate the analysis of the... more
"Formal methods aim to apply mathematically-based techniques to the development of computer-based systems, especially at the specification level, but also down to the implementation level. This aids early detection and avoidance of errors... more
Formal methods have traditionally been used for specification and development of software. However there are potential benefits for the testing stage as well. The panel session associated with this paper explores the usefulness or... more
In this paper a set of concepts to design mixed reality systems is presented. The principle of interaction space is proposed and then integrated in a development process, especially, to take into account the mixed reality specifications... more
Safety critical software requires integrating verification techniques in software development methods. Software architectures must guarantee that developed systems will meet safety requirements and safety analyses are frequently used in... more
... Domain Analysis Requirement and Assumptions identification Classifying Modeling ElaborationConflict Identification and Resolution Prioritization Specification ... 4.4. Conflict Management Contributions among goals (positive or... more
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... more
Requirements defects have a major impact throughout the whole software lifecycle. Having a specific defects classification for requirements is important to analyse the root causes of problems, build checklists that support requirements... more