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.
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.
Data dependencies have become one of the main bottlenecks of current superscalar processors. Data speculation is gaining popularity as a mechanism to avoid the ordering imposed by data dependencies. Loads and stores a...
详细信息
ISBN:
(纸本)9780897919029
Data dependencies have become one of the main bottlenecks of current superscalar processors. Data speculation is gaining popularity as a mechanism to avoid the ordering imposed by data dependencies. Loads and stores are very good candidates for data speculation since their effective address has a regular behavior and then, they are highly predictable. In this paper we propose a mechanism called Address Prediction and Data Prefetching that allows load instructions to obtain their data at the decode stage. Besides, the effective address of load and store instructions is also predicted. These instructions and those dependent on them are speculatively executed. The technique has been evaluated for an out-of-order processor with a realistic configuration. The performance gain is about 19% in average and it is much higher for some benchmarks (up to 35%).
Module mechanisms have received considerable theoretical attention, but the associated concepts of separate compilation and linking have not been emphasized. Anomalous module systems have emerged in functional and obj...
详细信息
ISBN:
(纸本)9780897918534
Module mechanisms have received considerable theoretical attention, but the associated concepts of separate compilation and linking have not been emphasized. Anomalous module systems have emerged in functional and object-oriented programming where software components are not separately typecheckable and compilable. In this paper we provide a context where linking can be studied, and separate compilability can be formally stated and checked. We propose a framework where each module is separately compiled to a self-contained entity called a linkset;we show that separately compiled, compatible modules can be safely linked together.
暂无评论