Learn More
In this paper we introduce a new research effort in making abstract state machines executable. The aim is to specify and implement an execution engine for a language that is as close as possible to the mathematical definition of pure ASM. The paper presents the general architecture of the engine, together with a high-level description of the extensibility(More)
SUMMARY In this paper, we report on our experiences of using lightweight formal methods for the partial validation of natural language requirements documents. We describe our approach to checking properties of models obtained by shallow parsing of natural language requirements, and apply it to a case study based on part of a NASA specification of the Node(More)
The use of logic in identifying and analyzing inconsistency in requirements from multiple stakeholders has been found to be effective in a number of studies. Nonmonotonic logic is a theoretically well-founded formalism that is especially suited for supporting the evolution of requirements. However, direct use of logic for expressing requirements and(More)
In this paper, we study the distributed coordination and control of a set of asyn-chronous, anonymous, memoryless mobile vehicles that can freely move on a two-dimensional plane but cannot communicate among themselves. In particular, we analyze the problem of forming a certain pattern and following a designated vehicle , referred to as the leader, while(More)
The initial expression of requirements for a computer-based system is often informal and possibly vague. Requirements engineers need to examine this often incomplete and inconsistent brief expression of needs. Based on the available knowledge and expertise , assumptions are made and conclusions are deduced to transform this " rough sketch " into more(More)
Many requirements documents are written in natural language (NL). However, with the flexibility of NL comes the risk of introducing unwanted ambiguities in the requirements and misunderstandings between stakeholders. In this paper, we describe an automated approach to identify potentially nocuous ambiguity, which occurs when text is interpreted differently(More)
We propose a structured mathematical definition of the semantics of C# programs to provide a platform-independent view of the language for the C# programmer, which can also be used for a precise analysis of the ECMA [7] standard of the language. The definition takes care to reflect directly and faithfully – as much as possible without becoming inconsistent(More)