10,386 research outputs found
Recommended from our members
From concrete forms to generalized abstractions through perspective-oriented analysis of logical relationships
We believe concreteness, direct manipulation and responsiveness in a visual programming language increase its usefulness. However, these characteristics present a challenge in generalizing programs for reuse, especially when concrete examples are used as one way of achieving concreteness. In this paper, we present a technique to solve this problem by deriving generality automatically through the analysis of logical relationships among concrete program entities from the perspective of a particular computational goal. Use of this technique allows a fully general form-based program with reusable abstractions to be derived from one that was specified in terms of concrete examples and direct manipulation
Heap Abstractions for Static Analysis
Heap data is potentially unbounded and seemingly arbitrary. As a consequence,
unlike stack and static memory, heap memory cannot be abstracted directly in
terms of a fixed set of source variable names appearing in the program being
analysed. This makes it an interesting topic of study and there is an abundance
of literature employing heap abstractions. Although most studies have addressed
similar concerns, their formulations and formalisms often seem dissimilar and
some times even unrelated. Thus, the insights gained in one description of heap
abstraction may not directly carry over to some other description. This survey
is a result of our quest for a unifying theme in the existing descriptions of
heap abstractions. In particular, our interest lies in the abstractions and not
in the algorithms that construct them.
In our search of a unified theme, we view a heap abstraction as consisting of
two features: a heap model to represent the heap memory and a summarization
technique for bounding the heap representation. We classify the models as
storeless, store based, and hybrid. We describe various summarization
techniques based on k-limiting, allocation sites, patterns, variables, other
generic instrumentation predicates, and higher-order logics. This approach
allows us to compare the insights of a large number of seemingly dissimilar
heap abstractions and also paves way for creating new abstractions by
mix-and-match of models and summarization techniques.Comment: 49 pages, 20 figure
Creativity and Culture in Copyright Theory
Creativity is universally agreed to be a good that copyright law should seek to promote, yet copyright scholarship and policymaking have proceeded largely on the basis of assumptions about what it actually is. When asked to discuss the source of their inspiration, individual artists describe a process that is intrinsically ineffable. Rights theorists of all varieties have generally subscribed to this understanding, describing creativity in terms of an individual liberty whose form remains largely unspecified. Economic theorists of copyright work from the opposite end of the creative process, seeking to divine the optimal rules for promoting creativity by measuring its marketable byproducts. But these theorists offer no particular reason to think that marketable byproducts are either an appropriate proxy or an effective stimulus for creativity (as opposed to production), and more typically refuse to engage the question. The upshot is that the more we talk about creativity, the more it disappears from view. At the same time, the mainstream of intellectual property scholarship has persistently overlooked a broad array of social science methodologies that provide both descriptive tools for constructing ethnographies of creative processes and theoretical tools for modeling them
Architectural notes: a framework for distributed systems development
This thesis develops a framework of methods and techniques for distributed systems development. This framework consists of two related domains in which design concepts for distributed systems are defined: the entity domain and the behaviour domain. In the entity domain we consider structures of functional entities and their interconnection, while in the behaviour domain we consider behaviour definition and structuring. An interaction in which we abstract from the particular responsibilities of the participating functional entities is considered as an action. Behaviours consist of actions, interactions and their relationships. Relationships between actions and interactions are defined in terms of causality relations. In each causality relation the conditions and constraints for an action or interaction to occur are defined. Two important behaviour structuring techniques have been identified from the possible ways causality relations can be distributed: causality-oriented behaviour composition and constraint-oriented behaviour composition. Causality-oriented behaviour composition consists of placing some conditions of an action and the action itself in different sub-behaviours. Constraint-oriented behaviour composition consists of placing parts of the conditions and constraints of an action in different sub-behaviours, such that this action is shared by these sub-behaviours. This thesis identifies milestones in the design process of distributed systems, as well as the design steps to move from one milestone to another. These design steps are characterized using the concepts of the entity and the behaviour domain. We identified two crucial design operations of the behaviour domain that support these design steps: behaviour refinement and action refinement. Behaviour refinement consists of introducing (internal) structure in the causality relations of reference actions of an abstract behaviour, but preserving their causality and exclusion relationships and their attribute values. Action refinement consists of replacing abstract actions by activities, such that the completion of these activities correspond to the occurrence of the abstract actions. One important characteristic of action refinement is the possibility of distributing attribute values of the abstract actions over actions of the activities that replace them in the concrete behaviours. The area of research, scope and objectives of this thesis are discussed in Chapter 1. The concept of design culture and its elements is introduced in this chapter in order to provide an overview of the important aspects of the design process. Entity domain, behaviour domain, and design milestones are introduced and discussed in Chapter 2. This chapter also discusses the global objectives of design steps, and the abstraction obtained by considering interactions between cooperating functional entities as actions of the interaction system between these entities. Action, action attributes, causality and exclusion are discussed in Chapter 3. This chapter shows how a behaviour can be defined in terms of the causality relations of its actions in a monolithic form. Causality-oriented behaviour composition is discussed in Chapter 4. Entries and exits of a behaviour are the mechanisms that make it possible to assign parts of a condition of an action and the action itself to different sub-behaviours. Constraint-oriented behaviour composition is discussed in Chapter 5. Decomposition possibilities of monolithic behaviours are systematically studied in this chapter. Behaviour refinement is discussed in Chapter 6. This chapter defines a method to obtain an abstraction of a concrete behaviour. This method can be used to check whether the concrete behaviour corresponds to a certain abstract behaviour. Action refinement is discussed in Chapter 7. This chapter identifies some activity forms, and define the rules for considering these activities as implementations of an abstract action. These rules are used in a method to derive an abstraction of a concrete behaviour in which the abstract actions are implemented as activities. This method can be used to check whether the concrete behaviour corresponds to a certain abstract behaviour. Chapter 8 discusses a design example that is meant to illustrate the use of our design concepts. The example is an interaction server, which is a component that supports the interaction between multiple functional entities. Chapter 9 draws some conclusions and revisits the design milestones of Chapter 2, showing alternatives for the design trajectory which have been created with the use of actions and interactions in a single framework
Design Research and Domain Representation
While diverse theories about the nature of design research have been proposed, they are rarely considered in relation to one another across the broader disciplinary field. Discussions of design research paradigms have tended to use overarching binary models for understanding differing knowledge frameworks. This paper focuses on an analysis of theories of design research and the use of Web 3 and open content systems to explore the potential of building more relational modes of conceptual representation.
The nature of this project is synthetic, building upon the work of other design theorists and researchers. A number of theoretical frameworks will be discussed and examples of the analysis and modelling of key concepts and information relationships, using concept mapping software, collaborative ontology building systems and semantic wiki technologies will be presented. The potential of building information structures from content relationships that are identified by domain specialists rather than the imposition of formal, top-down, information hierarchies developed by information scientists, will be considered. In particular the opportunity for users to engage with resources through their own knowledge frameworks, rather than through logically rigorous but largely incomprehensible ontological systems, will be explored in relation to building resources for emerging design researchers.
The motivation behind this endeavour is not to create a totalising meta-theory or impose order on the ‘ill structured’ and ‘undisciplined’, domain of design. Nor is it to use machine intelligence to ‘solve design problems’. It seeks to create dynamic systems that might help researchers explore design research theories and their various relationships with one another. It is hoped such tools could help novice researchers to better locate their own projects, find reference material, identify knowledge gaps and make new linkages between bodies of knowledge by enabling forms of data-poesis - the freeing of data for different trajectories.
Keywords:
Design research; Design theory; Methodology; Knowledge systems; Semantic web technologies.</p
Recommended from our members
Generalizing abstractions in form-based visual programming languages : from direct manipulation to static representation
We believe concreteness, direct manipulation and responsiveness in a visual programming language increase its usefulness. However, these characteristics present a challenge in generalizing programs for reuse, especially when concrete examples are used as one way of achieving concreteness. In this thesis, we present a technique to solve this problem by deriving generality automatically through the analysis of logical relationships among concrete program entities from the perspective of a particular computational goal. Use of this technique allows a fully general form-based program with reusable abstractions to be derived from one that was specified in terms of concrete examples and direct manipulation. Also addressed in this thesis is how to statically represent the generalized programs. In general, we address how to design better static representations. A weakness of many interactive visual programming languages is their static representations. Lack of an adequate static representation places a heavy cognitive burden on a VPL's programmers, because they must remember potentially long dynamic sequences of screen displays in order to understand a previously-written program. However, although this problem is widely acknowledged, research on how to design better static representations for interactive VPLs is still in its infancy. Building upon the cognitive dimensions developed for programming languages by cognitive psychologists Green and others, we have developed a set of concrete benchmarks for VPL designers to use when designing new static representations. These benchmarks provide design-time information that can be used to improve a VPL's static representation
- …