Traditional techniques to test a software application through the application's graphical user interface have a number of weaknesses. Manual testing is slow, expensive, and does not scale well as the size and comp...
详细信息
ISBN:
(纸本)9781424437702
Traditional techniques to test a software application through the application's graphical user interface have a number of weaknesses. Manual testing is slow, expensive, and does not scale well as the size and complexity of the application increases. Software test automation which exercises an application through the application's UI using an API set can be difficult to maintain. We propose a software testing paradigm called declarative testing. In declarative testing, a test scenario focuses on what to accomplish rather than on the imperative details of how to manipulate the state of an application under test and verify the final application state against an expected state. Declarative testing is a test design paradigm which separates test automation code into conceptual Answer, Executor, and Verifier entities. Preliminary experience with declarative testing suggests that the modular characteristics of the paradigm may significantly enhance the ability of a testing effort to keep pace with the evolution of a software application during the application's development process.
Pervasive Computing advocates the enhancement of physical spaces with computing and communication resources that help users perform various kinds of tasks. We call these enhanced physical spaces Active Spaces. Active ...
详细信息
ISBN:
(纸本)0769522998
Pervasive Computing advocates the enhancement of physical spaces with computing and communication resources that help users perform various kinds of tasks. We call these enhanced physical spaces Active Spaces. Active Spaces are highly dynamic - the context and resources available in these environments can change rapidly. The large number of entities present in these spaces and the dynamism associated with them make it difficult for developers to program these environments. It is not always clear at development time which resources are to be used for performing various kinds of tasks and how to use them. In this paper, we introduce a new high-level programming model for pervasive computing environments, Olympus. The main feature of this model is that developers can specify Active Space entities and common Active Space operations at an abstract, high level. Active Space entities (which include services, applications, devices, physical objects, locations and users) can be specified using high level descriptions. Our framework resolves these descriptions into actual Active Space entities based on constraints specified by the developer, ontological descriptions of entities, the resources available in the current space, space-level policies and the current context of the space. The programming model also provides the developers with operators for commonly used functions. Examples of operators include start, stop and move components. Thus, developers do not have to worry about how various tasks are performed in the space in which their program is to be deployed. These details are taken care of by the model and the developer is free to focus on the actual logic of the program. In this paper, we discuss the programming model, its implementation and several example Active Space programs that have been developed using this model.
We are investigating the claim that object-oriented analysis (OOA) requirements models can be changed, reused, and integrated more easily than other kinds of requirements models. In this paper, we describe one part of...
详细信息
ISBN:
(纸本)0897915046
We are investigating the claim that object-oriented analysis (OOA) requirements models can be changed, reused, and integrated more easily than other kinds of requirements models. In this paper, we describe one part of that investigation: an experiment involving an OOA method in which the requirements for an automated teller machine (ATM) system are changed and the effects on the model are assessed.
A mutation-based validation paradigm that can handle complete high-level microprocessor implementations is presented. First, a control-based covet-age measure is presented that is aimed at exposing design errors that ...
详细信息
ISBN:
(纸本)0780395719
A mutation-based validation paradigm that can handle complete high-level microprocessor implementations is presented. First, a control-based covet-age measure is presented that is aimed at exposing design errors that incorrectly set control signal values. A method of automatically;generating a complete set of modeled errors from this coverage metric is presented such that the instantiated modeled errors harness the rules of cause-and-effect that define mutation-based error models. Finally, we introduce a new automatic test pattern generation technique for high-level hardware descriptions that solves multiple concurrent constraints and is empowered by concurrent programming.
The catch/throw mechanism, a programming construct for nonlocal exit, plays an important role when programmers handle exceptional situations. A constructive formalization that captures the mechanism in the proofs-as-p...
详细信息
ISBN:
(纸本)0818627352
The catch/throw mechanism, a programming construct for nonlocal exit, plays an important role when programmers handle exceptional situations. A constructive formalization that captures the mechanism in the proofs-as-programs notion is given. A modified version of LJ equipped with inference rules corresponding to the operations of catch and throw is introduced. Then it is shown that one can actually extract programs that make use of the catch/throw mechanism from proofs under a certain realizability interpretation. Although the catch/throw mechanism provides only a restricted access to the current continuation, the formulation remains constructive.
A particular case of a mathematical theorem of F. Browder on the behavior of the fixed point set of a mapping under variations of a parameter has recently found applications in programming theory in connection with th...
详细信息
Trace assertion specification methods constrain behaviour at the interface of a module by identifying legal sequences of calls to the module's access programs. The legality of extending a trace by a call is specif...
详细信息
Trace assertion specification methods constrain behaviour at the interface of a module by identifying legal sequences of calls to the module's access programs. The legality of extending a trace by a call is specified by assertions that express properties that the trace and call must satisfy. Trace specifications can often be simplified by formulating assertions about representative normal (or canonical) form traces, but this approach is only useful when convenient forms can be found. This paper: 1) introduces a new trace assertion method, called the Property Vector (PV) method, 2) demonstrates the method by specifying a multiset iterator module previously identified as difficult to specify [Lam90], 3) compares the PV method to other methods. The main new feature of the PV method is the use of a vector of property variables that explicitly represent relevant properties of a trace that influence a module's future behaviour. It is possible to obtain a simple trace assertion specification for a module even though convenient (legal) normal/canonical form traces are not apparent. Normal/canonical form trace assertion methods are special cases of the PV method where the only relevant property of a trace is its equivalent normal/canonical form.
In this paper, we propose an integration of an extension of Bailin's object-oriented requirements specification (OOS) with a formal notation (Z), called OOSZ. The OOS is used to guide the derivation of Z specifica...
详细信息
In this paper, we propose an integration of an extension of Bailin's object-oriented requirements specification (OOS) with a formal notation (Z), called OOSZ. The OOS is used to guide the derivation of Z specifications. In OOSZ, a function process is converted into an operation schema. An entity process is manifested through a state schema, an instance creation operation schema and an abstract operation schema. Correctness conjectures are generated for verifying the consistency of intralevel and interlevel specifications. These are illustrated using the problem domain of Auto Banking Systems. The bringing together of diagrammatical and text elements of OOS specifications in Z notations offers three major benefits. First, the relationship between ERD and EDFD is tightly coupled compared with Yourdon's SA approach. Second, OOS specifications can be seen both as a structuring mechanism that helps in deriving Z specifications, and as a preliminary that assists in ascertaining the clients requirements. Third, Z specifications make it easier to identify omissions or errors.
Recently, considerable interest arose in integrating object-oriented and logic programming. In this paper, we describe an object-oriented logic programming language and discuss its extension by exploring its roles and...
详细信息
ISBN:
(纸本)0818628308
Recently, considerable interest arose in integrating object-oriented and logic programming. In this paper, we describe an object-oriented logic programming language and discuss its extension by exploring its roles and representations to artificial intelligence frame system and production system. In particular, we describe how to add derived slots into classes and to represent production rules in an object-oriented production system, forming a framework of knowledge-based system with multiple paradigms.
PowerEpsilon is a proof development system based on Martin-Lof's Type theory and the Calculus of Constructions. It contains a logic, a specification language and a programming language, so it is a powerful tool wi...
详细信息
PowerEpsilon is a proof development system based on Martin-Lof's Type theory and the Calculus of Constructions. It contains a logic, a specification language and a programming language, so it is a powerful tool with different uses. However, the constructive type theory is an integrated logic in which the logical and computational parts are associated so well that to extract a program from a proof is not a straightforward task. In this paper, a new approach for extracting program from a proof called type erasing is proposed.
暂无评论