847 research outputs found
Action Contraction
The question we consider in this paper is: āWhen can a combination of fine-grain execution steps be contracted into an atomic action executionā? Our answer is basically: āWhen no observer can see the difference.ā This is worked out in detail by defining a notion of coupled split/atomic simulation refinement between systems which differ in the atomicity of their actions, and proving that this collapses to Parrow and Sjƶdinās coupled similarity when the systems are composed with an observer
When Good Observers Go Bad: Change Blindness, Inattentional Blindness, and Visual Experience
Several studies (e.g., Becklen & Cervone, 1983; Mack & Rock, 1998; Neisser & Becklen, 1975) have found that observers attending to a particular object or event often fail to report the presence of unexpected items. This has been interpreted as inattentional blindness (IB), a failure to see unattended items (Mack & Rock, 1998). Meanwhile, other studies (e.g., Pashler, 1988; Phillips, 1974; Rensink et al., 1997; Simons, 1996) have found that observers often fail to report the presence of large changes in a display when these changes occur simultaneously with a transient such as an eye movement or flash of the display. This has been interpreted as change blindness (CB), a failure to see unattended changes (Rensink et al., 1997).
In both cases there is a striking failure to report an object or event that would be quite visible under other circumstances. And in both cases there is a widespread (although not universal) belief that the underlying cause has to do with the absence of attention. The question then arises as to how these effects might be related. Is CB the same thing as IB? If not, what is the relation between them? And given that these phenomena deal with failures of subjective perception, what can they teach us about the nature of our visual experience? In particular, what can they teach us about the role played by visual attention
Seeing, Sensing, and Scrutinizing
Large changes in a scene often become difficult to notice if made during an eye movement, image flicker, movie cut, or other such disturbance. It is argued here that this <i>change blindness</i> can serve as a useful tool to explore various aspects of vision. This argument centers around the proposal that focused attention is needed for the explicit perception of change. Given this, the study of change perception can provide a useful way to determine the nature of visual attention, and to cast new light on the way that it isĀand is notĀinvolved in visual perception.
To illustrate the power of this approach, this paper surveys its use in exploring three different aspects of vision. The first concerns the general nature of <i>seeing</i>. To explain why change blindness can be easily induced in experiments but apparently not in everyday life, it is proposed that perception involves a <i>virtual representation</i>, where object representations do not accumulate, but are formed as needed. An architecture containing both attentional and nonattentional streams is proposed as a way to implement this scheme. The second aspect concerns the ability of observers to detect change even when they have no visual experience of it. This <i>sensing</i> is found to take on at least two forms: detection without visual experience (but still with conscious awareness), and detection without any awareness at all. It is proposed that these are both due to the operation of a nonattentional visual stream. The final aspect considered is the nature of visual attention itselfĀthe mechanisms involved when <i>scrutinizing</i> items. Experiments using controlled stimuli show the existence of various limits on visual search for change. It is shown that these limits provide a powerful means to map out the attentional mechanisms involved
Unfolding Shape Graphs
Shape graphs have been introduced in [Ren04a, Ren04b] as an abstraction to be used in model checking object oriented software, where states of the system are represented as graphs. Intuitively, the graphs modeling the states represent the structure of objects dynamically allocated in the heap. State transitions are then generated by applying graph transformation rules corresponding to the statements of the program. Since the state space of such systems is potentially unbounded, the graphs representing the states are abstracted by shape graphs. Graph transformation systems may be analyzed [BCK01, BK02] by constructing finite structures that approximate their behaviour with arbitrary accuracy, by using techniques developed in the context of Petri nets. The approach of [BK02] is to construct a chain of finite under-approximations of the Winskelās style unfolding of a graph grammar, as well as a chain of finite over-approximations of the unfolding, where both chains converge to the full unfolding. The approximations may then be used to check properties of the underlying graph transformation system. We apply this technique to approximate the behaviour of systems represented by shape graphs and graph tranformation rules
An Object-Oriented Framework for Explicit-State Model Checking
This paper presents a conceptual architecture for an object-oriented framework to support the development of formal veriļ¬cation tools (i.e. model checkers). The objective of the architecture is to support the reuse of algorithms and to encourage a modular design of tools. The conceptual framework is accompanied by a C++ implementation which provides reusable algorithms for the simulation and veriļ¬cation of explicit-state models as well as a model representation for simple models based on guard-based process descriptions. The framework has been successfully used to develop a model checker for a subset of PROMELA
Engineering Object-Oriented Semantics Using Graph Transformations
In this paper we describe the application of the theory of graph transformations to the practise of language design. We have defined the semantics of a small but realistic object-oriented language (called TAAL) by mapping the language constructs to graphs and their operational semantics to graph transformation rules. In the process we establish a mapping between UML models and graphs.
TAAL was developed for the purpose of this paper, as an extensive case study in engineering object-oriented language semantics using graph transformation. It incorporates the basic aspects of many commonly used object-oriented programming languages: apart from essential imperative programming constructs, it includes inheritance, object creation and method overriding. The language specification is based on a number of meta-models written in UML.
Both the static and dynamic semantics are defined using graph rewriting rules.
In the course of the case study, we have built an Eclipse plug-in that automatically transforms arbitrary TAAL programs into graphs, in a graph format readable by another tool. This second tool is called Groove, and it is able to execute graph transformations. By combining both tools we are able to visually simulate the execution of any TAAL program
Specification and Construction of Control Flow Semantics
In this paper we propose a visual language CFSL for specifying control flow semantics of programming languages. We also present a translation from CFSL to graph production systems (GPS) for flow graph construction; that is, any CFSL specification, say for a language L, gives rise to a GPS that constructs from any L-program (represented as an abstract syntax graph) the corresponding flow graph. The specification language is rich enough to capture complex language constructs, including all of Java
Visualisatie van het Objectgeoriƫnteerde Paradigma
Programmeeronderwijs maakt een wezenlijk deel uit van elke informatica-opleiding. Veel opleidingen kiezen ervoor dit onderwijs te schoeien op objectgeoriĆ«nteerde leest. Voor studenten die voor het eerst met dit paradigma geconfronteerd worden blijkt het vaak lastig te zijn zich een voorstelling te maken van wat er bij de uitvoering van een programma nu precies gebeurt. Deze bijdrage beschrijft een systematische grafische notatie, aangeduid als toestandkiekjes, die erop gericht is om de principes en de werking van objectgeoriĆ«nteerde programma's zichtbaar te maken. Niet alleen kunnen toestandskiekjes objecten met hun onderlinge samenhang weergeven, maar ook de constructie van objecten en ālopende methodenā binnen objecten. Deze vorm van visualisatie is vooral bedoeld voor het initiĆ«le leertraject, waarin studenten zich de concepten van objecten en hun samenhang en samenwerking eigen moeten maken
- ā¦