4,926 research outputs found
Compensation methods to support cooperative applications: A case study in automated verification of schema requirements for an advanced transaction model
Compensation plays an important role in advanced transaction models, cooperative work and workflow systems. A schema designer is typically required to supply for each transaction another transaction to semantically undo the effects of . Little attention has been paid to the verification of the desirable properties of such operations, however. This paper demonstrates the use of a higher-order logic theorem prover for verifying that compensating transactions return a database to its original state. It is shown how an OODB schema is translated to the language of the theorem prover so that proofs can be performed on the compensating transactions
Object-oriented Programming Laws for Annotated Java Programs
Object-oriented programming laws have been proposed in the context of
languages that are not combined with a behavioral interface specification
language (BISL). The strong dependence between source-code and interface
specifications may cause a number of difficulties when transforming programs.
In this paper we introduce a set of programming laws for object-oriented
languages like Java combined with the Java Modeling Language (JML). The set of
laws deals with object-oriented features taking into account their
specifications. Some laws deal only with features of the specification
language. These laws constitute a set of small transformations for the
development of more elaborate ones like refactorings
Towards Intelligent Databases
This article is a presentation of the objectives and techniques
of deductive databases. The deductive approach to databases aims at extending
with intensional definitions other database paradigms that describe
applications extensionaUy. We first show how constructive specifications can
be expressed with deduction rules, and how normative conditions can be defined
using integrity constraints. We outline the principles of bottom-up and
top-down query answering procedures and present the techniques used for
integrity checking. We then argue that it is often desirable to manage with
a database system not only database applications, but also specifications of
system components. We present such meta-level specifications and discuss
their advantages over conventional approaches
Compensation methods to support generic graph editing: A case study in automated verification of schema requirements for an advanced transaction model
Compensation plays an important role in advanced transaction models, cooperative work, and workflow systems. However, compensation operations are often simply written as a^ā1 in
transaction model literature. This notation ignores any operation parameters, results, and side effects. A schema designer intending to use an advanced transaction model is expected (required) to write correct method code. However, in the days of cut-and-paste, this is much easier said than done. In this paper, we demonstrate the feasibility of using an off-the-shelf theorem prover (also called a proof assistant) to perform automated verification of compensation requirements for an OODB schema. We report on the results of a case study in verification for a particular advanced transaction model that supports cooperative applications. The case study is based on an OODB schema that provides generic graph editing functionality for the creation, insertion, and manipulation of nodes and links
A game-based approach to the teaching of object-oriented programming languages
Students often have difficulties when trying to understand the concepts of object-oriented programming
(OOP). This paper presents a contribution to the teaching of OOP languages through a game-oriented
approach based on the interaction with tangible user interfaces (TUIs). The use of a specific type of
commercial distributed TUI (Sifteo cubes), in which several small physical devices have sensing, wireless
communication and user-directed output capabilities, is applied to the teaching of the C# programming
language, since the operation of these devices can be controlled by user programs written in C#. For our
experiment, we selected a sample of students with a sufficient knowledge about procedural programming,
which was divided into two groups: The first one had a standard introductory C# course, whereas
the second one had an experimental C# course that included, in addition to the contents of the previous
one, two demonstration programs that illustrated some OOP basic concepts using the TUI features.
Finally, both groups completed two tests: a multiple-choice exam for evaluating the acquisition of basic
OOP concepts and a C# programming exercise. The analysis of the results from the tests indicates that the
group of students that attended the course including the TUI demos showed a higher interest level (i.e.
they felt more motivated) during the course exposition than the one that attended the standard introductory
C# course. Furthermore, the students from the experimental group achieved an overall better
mark. Therefore, we can conclude that the technological contribution of Sifteo cubes ā used as a
distributed TUI by which OOP basic concepts are represented in a tangible and a visible way ā to the
teaching of the C# language has a positive influence on the learning of this language and such basic
concepts
- ā¦