Spelling suggestions: "subject:"erogramming anda computer science"" "subject:"erogramming anda coomputer science""
1 |
Guarantees and requirements : implementation and complexity analysis of a new model of types for declarative visual programming languagesChen, Roger Ding-Fu 09 September 1999 (has links)
Djang et al. [1998] introduced a new model of types for declarative visual programming languages (VPLs). Implicit static typing is used in their type model, in order to eliminate the programming mechanisms associated with type declarations, provide immediate visual feedback with respect to type errors and guarantee type safe programs. Their type model also evaluates types on a level of granularity that is finer than in previous approaches to types. Instead of evaluating types on the basis of abstract names, their model determines a set of operations that an object guarantees and compares this set to the set of operations this object is required to support. If the set of required operations is a subset of the set of guaranteed operations, then the object is considered type safe. This granularity provides their model with the ability to support inheritance without introducing explicit type declarations and to communicate type errors to users without requiring the user to understand a large set of terminology. These features of their model attempt to provide VPL users with more powerful programming capabilities without the introduction of a high learning curve.
In this thesis, an implementation of the Djang et al.'s model of types is presented. Data structures and algorithms are developed that conform to the axioms prescribed by Djang et al. The space and time complexity analyses for our data structures and algorithms are examined. Our implementation provides new insights into the cost and performance of the Djang et al.'s type model. / Graduation date: 2000
|
2 |
Generalizing abstractions in form-based visual programming languages : from direct manipulation to static representationYang, Sherry 04 November 1996 (has links)
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. / Graduation date: 1997
|
3 |
Visual dataflow language for image processingLe, Hoang Duc Khanh, Computer Science & Engineering, Faculty of Engineering, UNSW January 2007 (has links)
Most current DFVPLs support flow control to facilitate experiments and complex problems. However, current approaches in DFVPLs still remain inefficient. We show that inadequacies in existing visual programming languages may be magnified in applications involving image analysis. These include a lack of efficient communication mechanisms and strong dependency on human involvement to customise properties. For instance, properties in one computational component can not be shared for other components. Moreover, conditional expressions used in control components hold data values that are unrelated with those computational components. Furthermore, since image processing libraries usua.lly only explicitly support pipeline processing, as exemplified by the widely used Insight Toolkit for Medical Image Segmentation and Registration (ITK), a looping algorithm would be difficult to implement without a feedback mechanism supported by the visual language itself. We propose a data-flow visual programming language that encompasses several novel control constructs and parameterised computational units. These components are facilitated by a novel hybrid data-flow model. We also present several conceptual models and design alternatives for control constructs. Several mechanisms and techniques are provided to enhance data propagation for these components. We demonstrate, in an environment that utilises ITK as the underlying processing engine, that the inadequacies in existing DFVPLs can be satisfactorily addressed through the visual components proposed in this thesis.
|
4 |
Temporal programming in grid-oriented visual programming languagesCao, Nanyu 20 June 2000 (has links)
Specifying varying speeds and temporal relationships is necessary when programming
graphical animations, but support for temporal programming has usually been done by adding
new language features to a Visual Programming Language (VPL), and these features must be
mastered over and above the other aspects of the VPL. However, some researchers have
believed that time should be able to be treated like just another dimension. In this thesis, we
explore whether temporal programming can indeed be done using exactly the same devices as
in spatial programming in grid-oriented VPLs. Toward this end, we provide a continuum of
models aimed at this goal and discuss their advantages and disadvantages. Also, we identify
core issues that help illuminate the essence of the problem. / Graduation date: 2001
|
5 |
End-user programming in time : implementation and empirical studiesArredondo-Castro, Miguel A. 31 May 2001 (has links)
The temporal behavior in applications involving visual data can be critical for the
correctness of some programs. Forms/3 allows the user to specify temporal behaviors in
an independent way, without introducing extraneous code in the original spreadsheet,
whereas some other languages define new language devices specific to time. In this
thesis, we present the implementation of a new user interface for temporal programming
in Forms/3 and the results of two empirical studies. The results of the first study show
that one of the models for temporal programing in Forms/3 is more suitable for end users
than a traditional stream-based approach representative of the approach used by many
other languages. The results of our second experiment show that the explicit information
provided by the approach can help the users to judge the correctness of their
spreadsheets. / Graduation date: 2002
|
6 |
The expressive power and declarative attributes of exception handling in Forms/3Agrawal, Anurag 14 July 1997 (has links)
Exception handling is a programming language feature that can help increase the
reliability of programs. However, not much work has been done on exception handling in
visual programming languages. We present an approach for improving the exception
handling mechanism in Forms/3, a declarative visual programming language based on the
spreadsheet paradigm. We show how this approach can be added without sacrificing
referential transparency and lazy evaluation in Forms/3. We then present a comparison of
the Forms/3 exception handling mechanism with the mechanisms available in Java, C++,
Prograph, Haskell and Microsoft Excel, based on their expressive powers. / Graduation date: 1998
|
7 |
What you see is what you test : a testing methodology for form-based visual programsLi, Lixin, 1966- 06 November 1997 (has links)
Visual programming languages employ visual representation to make programming
easier and make programs more reliable and more accessible. Visual program
testing becomes increasingly important as more and more visual programming languages
and visual programming environments come into real use. In this work, we
focus on one important class of visual programming languages: form-based visual
programming languages. This class of languages includes electronic spreadsheets
and a variety of research systems that have had a substantial impact on end-user
computing.
Research shows that form-based visual programs often contain faults, but that
their creators often have unwarranted confidence in the reliability of their programs.
Despite this evidence, we find no discussion in the research literature of techniques
for testing or assessing the reliability of form-based visual programs. This lack will
hinder the real use of visual programming languages.
Our work addresses the lack of testing methodologies for form-based visual programs.
In this document, we first examine differences between the form-based and
imperative programming paradigms, discuss effects these differences have on methodologies for testing form-based programs, and analyze challenges and opportunities
for form-based program testing.
We then present several criteria for measuring test adequacy for form-based programs,
and illustrate their application. We show that an analogue to the traditional
"all-uses" dataflow test adequacy criterion is well suited for testing form-based visual
programs: it provides important error-detection ability, and can be applied more
easily to form-based programs than to imperative programs.
Finally, we present a testing methodology that we have developed for form-based
visual programs. To accommodate the evaluation model used with these programs,
and the interactive process by which they are created, our methodology is validation-driven
and incremental. To accommodate the user base of these languages, we provide
an interface to the methodology that does not require an understanding of
testing theory. We discuss our implementation of this methodology, its time costs,
the mapping from our approach to the user interface, and empirical results achieved
in its use. / Graduation date: 1998
|
8 |
Similarity inheritance : a model of inheritance for declarative visual programming languagesDjang, Rebecca W. (Rebecca Walpole) 17 December 1998 (has links)
Declarative visual programming languages (VPLs), including spreadsheets, make
up a large portion of both research and commercial VPLs. Spreadsheets in particular
enjoy a wide audience, including end users. Unfortunately, spreadsheets and most other
declarative VPLs still suffer from some of the problems that have been solved in other
languages, such as ad-hoc (cut-and-paste) reuse of code which has been remedied in
object-oriented languages, for example, through the code-reuse mechanism of
inheritance. We believe spreadsheets and other declarative VPLs can benefit from the
addition of an inheritance-like mechanism for fine-grained code reuse. This dissertation
first examines the opportunities for supporting reuse inherent in declarative VPLs, and
then introduces similarity inheritance and describes a prototype of this model in the
research spreadsheet language Forms/3. Similarity inheritance is very flexible, allowing
multiple granularities of code sharing and even mutual inheritance; it includes explicit
representations of inherited code and all sharing relationships, and it subsumes the
current spreadsheet mechanisms for formula propagation, providing a gradual migration
from simple formula reuse to more sophisticated uses of inheritance among objects.
Since the inheritance model separates inheritance from types, we investigate what notion
of types is appropriate to support reuse of functions on different types (operation
polymorphism). Because it is important to us that immediate feedback, which is
characteristic of many VPLs, be preserved, including feedback with respect to type
errors, we introduce a model of types suitable for static type inference in the presence of
operation polymorphism with similarity inheritance. / Graduation date: 1999
|
9 |
Graphical definitions : expanding spreadsheet languages through direct manipulation and gesturesGottfried, Herkimer John 09 December 1996 (has links)
Until now, attempts to extend the one-way constraint evaluation model of the
spreadsheet paradigm to support complex objects, such as colored circles or user-defined
types, have led to approaches featuring either a direct way of creating objects
graphically or strong compatibility with the spreadsheet paradigm, but not both. This
inability to conveniently go beyond numbers and strings without straying outside the
spreadsheet paradigm has been a limiting factor in the applicability of spreadsheets. In
this thesis we present a technique that removes this limitation, allowing complex objects
to be programmed directly--and in a manner that fits seamlessly within the spreadsheet
paradigm--using direct manipulation and gestures. We also present the results of an
empirical study which suggests that programmers can use this technique to program
complex objects faster and with fewer errors. The graphical definitions technique not
only expands the applicability of spreadsheet languages, it also adds to their support for
exploratory programming and to their scalability. / Graduation date: 1997
|
10 |
On the semantics of intensionality and intensional recursionKavvos, Georgios Alexandros January 2017 (has links)
Intensionality is a phenomenon that occurs in logic and computation. In the most general sense, a function is intensional if it operates at a level finer than (extensional) equality. This is a familiar setting for computer scientists, who often study different programs or processes that are interchangeable, i.e. extensionally equal, even though they are not implemented in the same way, so intensionally distinct. Concomitant with intensionality is the phenomenon of intensional recursion, which refers to the ability of a program to have access to its own code. In computability theory, intensional recursion is enabled by Kleene's Second Recursion Theorem. This thesis is concerned with the crafting of a logical toolkit through which these phenomena can be studied. Our main contribution is a framework in which mathematical and computational constructions can be considered either extensionally, i.e. as abstract values, or intensionally, i.e. as fine-grained descriptions of their construction. Once this is achieved, it may be used to analyse intensional recursion. To begin, we turn to type theory. We construct a modal λ-calculus, called Intensional PCF, which supports non-functional operations at modal types. Moreover, by adding Löb's rule from provability logic to the calculus, we obtain a type-theoretic interpretation of intensional recursion. The combination of these two features is shown to be consistent through a confluence argument. Following that, we begin searching for a semantics for Intensional PCF. We argue that 1-category theory is not sufficient, and propose the use of P-categories instead. On top of this setting we introduce exposures, which are P-categorical structures that function as abstractions of well-behaved intensional devices. We produce three examples of these structures, based on Gödel numberings on Peano arithmetic, realizability theory, and homological algebra. The language of exposures leads us to a P-categorical analysis of intensional recursion, through the notion of intensional fixed points. This, in turn, leads to abstract analogues of classic intensional results in logic and computability, such as Gödel's Incompleteness Theorem, Tarski's Undefinability Theorem, and Rice's Theorem. We are thus led to the conclusion that exposures are a useful framework, which we propose as a solid basis for a theory of intensionality. In the final chapters of the thesis we employ exposures to endow Intensional PCF with an appropriate semantics. It transpires that, when interpreted in the P-category of assemblies on the PCA K1, the Löb rule can be interpreted as the type of Kleene's Second Recursion Theorem.
|
Page generated in 0.1075 seconds