10225840
Generating test data from SOFL specifications
Abstract Software testing can only be formalized and quantified when a solid basis for test generation can be defined. Tests are commonly generated from the source code, control flow graphs, design representations, and specifications/requirements. Formal specifications represent a significant opportunity for testing because they precisely describe what functions the software is supposed to provide in a form that can be easily manipulated. This paper presents a new method for generating tests from formal specifications. This method is comprehensive in specification coverage, applies at several levels of abstraction, and can be highly automated. The paper applies the method to SOFL specifications, describes the technique, and demonstrates the application on a case study. A preliminary evaluation using a code-level coverage criterion (mutation testing), indicates that the method can result in very effective tests.
6009818
A Formal Definition of FRSM and Applications
FRSM (Formal Requirements Specification Method) is a structured formal language and method for requirements analysis and specification construction based on data flow analysis. It uses a formalized DeMarco data flow diagram to describe the overall structure of systems and a VDM-SL like formal notation to describe precisely the functionality of components in the diagrams. This paper first describes the formal syntax and semantics of FRSM and then presents an example of using the axiom and inference rules given in the definition of the formal semantics for checking consistency of specifications. A case study of applying FRSM to a practical example is described to demonstrate the principle of constructing requirements specifications and to uncover the benefits and deficiencies of FRSM.
1976770
Self-independent Petri Nets for Distributed Systems
We propose that asynchronous mechanism for communication should be considered as a primitive for semantic models of distributed systems in contrast to the synchronous mechanism (hand-shaking) of CSP (Hoare, 1985) and of CCS (Milner, 1989). By doing so, we present an approach to producing a deadlock-free system, and give a denotational model for CCS in a non-interleaving fashion.
9811887
A formal operational semantics for SOFL
SOFL (Structured-Object-Based-Formal Language) is a formal language and method for practical systems development. As a language, it integrates data flow diagrams, VDM-SL, and Petri nets to provide a graphical and textual formal notation for specification construction. Previous publications introducing SOFL are based on its informal semantics. We provide a formal operational semantics which gives a firm foundation for consistent understanding and application of SOFL in practical systems development. Development of the semantics, and application of SOFL to practical systems, have led to some changes in the original definitions. This formal semantics will serve as a firm foundation for building an effective support environment for SOFL.
1315911
An Object Semantic Model of SOFL
SOFL (Structured-Object-based-Formal Language) is recently proposed to combine the advantages of formal methods, structured methods and object-oriented methodology into one method for software development. SOFL integrates modeling techniques from VDM (for specifying system component state) and data flow diagrams with Petri nets (for specifying system behaviours and interaction). To support the standardisation and the tool support for SOFL, a formal semantics of the language is desirable. As SOFL is under further development, the semantic representation of current SOFL needs to be easily reused and extended. In this paper, an object-oriented approach is taken to specify the semantics of SOFL and this approach is proved to be effective in providing a modular and reusable semantic representation. Object modeling techniques, such as inheritance is used to illustrate the common and the differences between various SOFL graphical constructs; object containment is used to capture the acyclic structure of SOFL hierarchical module decomposition.
30881235
Criteria for generating specification-based tests
This paper presents general criteria for generating test inputs from state-based specifications. Software testing can only be formalized and quantified when a solid basis for test generation can be defined. Formal specifications of complex systems represent a significant opportunity for testing because they precisely describe what functions the software is supposed to provide in a form that can easily be manipulated. These techniques provide coverage criteria that are based on the specifications, and are made up of several parts, including test prefixes that contain inputs necessary to put the software into the appropriate state for the test values. The test generation process includes several steps for transforming specifications to tests. Empirical results from a comparative case study application of these criteria are presented.
18927685
Developing Quality Software Systems Using the SOFL Formal Engineering Method
Formal Engineering Methods are a bridge from Formal Methods to industrial applications. In this paper I describe the relation between formal engineering methods and formal methods, and present a specific formal engineering method SOFL (Structured Object-Oriented Formal Language) for developing quality software systems. I explain how SOFL can be applied in practice through examples.
14632854
An Approach to Integration Testing Based on Data Flow Specifications
Integration testing of programs based on formal specifications can benefit considerably from the comprehensibility of specifications. In this paper, we describe an approach to testing programs based on data-flow-oriented specifications by analyzing data flow paths and discussing criteria for test case generation. This approach suggests a specific way to generate test cases directly from formalized data flow diagrams and the associated textual specifications. We apply the approach in a case study of testing part of an ATM system to evaluate its effectiveness in fault detection and to uncover its weakness for further improvement.
5895615
Range estimation on a robot using neuromorphic motion sensors
Neuromorphic motion sensors using analog very large scale integrated technology are attractive for use on battery powered robots which require a low payload. Their features include low power consumption, continuous computation, light-weight, and robustness to different light and contrast conditions. Their outputs are not compatible with controllers that require precise measurements from their sensors. We describe a preliminary investigation into neural architectures that can translate information from these type of sensors into an output suitable for controlling the motor outputs of a robot. In this work, we use a neural network to produce an output that is similar to the range measurements of infrared range sensors, and we use this output to guide the behavior of the robot in a collision-avoidance task. © 2004 Elsevier B.V. All rights reserved.
1673600
Inferring Data Transformation Rules to Integrate Semantic Web Services
OWL-S allows selecting, composing and invoking Web Services at different levels of abstraction: selection uses high level abstract descriptions, invocation uses low level grounding ones, while composition needs to consider both high and low level descriptions. In our setting, two Web Services are to be composed so that output from the upstream one is used to create input for the downstream one. These Web Services may have different data models but are related to each other through high and low level descriptions. 
 
Correspondences must be found between components of the upstream data type and the downstream ones. Low level data transformation functions may be required (e.g. unit conversions, data type conversions). The components may be arranged in different XML tree structures. Thus, multiple data transformations are necessary: reshaping the message tree, matching leaves by corresponding types, translating through ontologies, and calling conversion functions. Our prototype compiles these transformations into a set of data transformation rules, using our tableau-based ALC Description Logic reasoner to reason over the given OWL-S and WSDL descriptions, as well as the related ontologies. A resolution-based inference mechanism for running these rules is embedded in an inference queue that conducts data from the upstream to the downstream service, running the rules to perform the data transformation in the process.
8071150
TCP-Illinois: A loss- and delay-based congestion control algorithm for high-speed networks
We introduce a new congestion control algorithm for high-speed networks, called TCP-Illinois. TCP-Illinois uses packet loss information to determine whether the window size should be increased or decreased, and uses queueing delay information to determine the amount of increment or decrement. TCP-Illinois achieves high throughput, allocates the network resource fairly, and is incentive compatible with standard TCP. We also build a new stochastic matrix model, capturing standard TCP and TCP-Illinois as special cases, and use this model to analyze their fairness properties for both synchronized and unsynchronized backoff behaviors. We finally perform simulations to demonstrate the performance of TCP-Illinois.