Results 1 - 10
of
19
HARMONIA: A Flexible Framework for Constructing Interactive Language-Based Programming Tools
, 2001
"... Despite many attempts in both research and industry to develop successful language-based software engineering tools, the resulting systems consistently fail to become adopted by working programmers. One of the main reasons for this failure is the closed-world view adopted by these systems: it is vir ..."
Abstract
-
Cited by 20 (6 self)
- Add to MetaCart
Despite many attempts in both research and industry to develop successful language-based software engineering tools, the resulting systems consistently fail to become adopted by working programmers. One of the main reasons for this failure is the closed-world view adopted by these systems: it is virtually impossible to integrate them with any outside technology. To address this problem, and to create a research infrastructure, we created HARMONIA, an open framework for constructing interactive language-based programming tools. This report presents the architecture of the HARMONIA framework. We brie review the design of the two earlier Berkeley projects, the PAN and ENSEMBLE systems, discuss their in on the design of HARMONIA, and present the organization and interactions of the major components in the HARMONIA framework. This work was supported in part by NSF grant CCR-9988531, by NSF Graduate Research Fellowship, and by Sun Microsystems Fellowship to Marat Boshernitsan. Contents 1
Proteus: An Adaptable Presentation System for a Software Development and Multimedia Document Environment
, 1994
"... Proteus: An Adaptable Presentation System for a Software Development and Multimedia Document Environment by Ethan Vincent Munson Doctor of Philosophy in Computer Science University of California at Berkeley Professor Michael A. Harrison, Chair The many different documents produced by a large softwar ..."
Abstract
-
Cited by 18 (8 self)
- Add to MetaCart
Proteus: An Adaptable Presentation System for a Software Development and Multimedia Document Environment by Ethan Vincent Munson Doctor of Philosophy in Computer Science University of California at Berkeley Professor Michael A. Harrison, Chair The many different documents produced by a large software project are typically created and maintained by a variety of incompatible software tools, such as programming environments, document processing systems, and specialized editors for non-textual media. The incompatibility of these tools hinders communication within the project by making it difficult to share the documents that record the project's plans, design history, implementations, and experiences. An important factor underlying this incompatibility is the diversity of presentation models that have been adopted. Each system's presentation model is well-suited to the document types and media it supports, but is difficult to adapt to other types and media. This dissertation describes a ne...
Language and Document Support in Software Development Environments
, 1992
"... Languages and documents are used extensively in software development. Pan is a language based editing system that provides the benefits of powerful incremental analysis of formalized language documents in a text-editing context. In the Ensemble project, we are extending the Pan language technology, ..."
Abstract
-
Cited by 12 (2 self)
- Add to MetaCart
Languages and documents are used extensively in software development. Pan is a language based editing system that provides the benefits of powerful incremental analysis of formalized language documents in a text-editing context. In the Ensemble project, we are extending the Pan language technology, creating new language-based capabilities, and incorporating new document technology based on experience with the V OR T E X system. High quality multimedia presentation is being used to enhance understanding of software documents. Language-based methods provide a well-founded basis for delivering the document services. 1
Efficient and Flexible Incremental Parsing
- ACM Transactions on Programming Languages and Systems
, 1996
"... syntax, ambiguity, balanced structure, incremental parsing, operator precedence, optimal reuse 1. ..."
Abstract
-
Cited by 12 (5 self)
- Add to MetaCart
syntax, ambiguity, balanced structure, incremental parsing, operator precedence, optimal reuse 1.
The Pan Language-Based Editing System
- ACM Transactions on Software Engineering and
, 1991
"... Powerful editing systems for developing complex software documents are difficult to engineer. Besides requiring efficient incremental algorithms and complex data structures, such editors must integrate smoothly with the other tools in the environment, maintain a sharable database of information conc ..."
Abstract
-
Cited by 11 (1 self)
- Add to MetaCart
Powerful editing systems for developing complex software documents are difficult to engineer. Besides requiring efficient incremental algorithms and complex data structures, such editors must integrate smoothly with the other tools in the environment, maintain a sharable database of information concerning the documents being edited, accommodate flexible editing styles, provide a consistent, coherent, and empowering user interface, and support individual variations and project-wide configurations. Pan is a language-based editing and browsing system that exhibits these characteristics. This paper surveys the design and engineering of Pan, paying particular attention to a number of issues that pervade the system: incremental checking and analysis, information retention in the presence of change, tolerance for errors and anomalies, and extension facilities.
The Documentary Structure of Source Code
, 2002
"... Many tools designed to help programmers view and manipulate source code exploit the formal structure of the programming language. Language-based tools use information derived via linguistic analysis to offer services that are impractical for purely text-based tools. In order to be effective, however ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
Many tools designed to help programmers view and manipulate source code exploit the formal structure of the programming language. Language-based tools use information derived via linguistic analysis to offer services that are impractical for purely text-based tools. In order to be effective, however, language-based tools must be designed to account properly for the documentary structure of source code: a structure that is largely orthogonal to the linguistic but no less important. Documentary structure includes, in addition to the language text, all extra-lingual information added by programmers for the sole purpose of aiding the human reader: comments, white space, and choice of names. Largely ignored in the research literature, documentary structure occupies a central role in the practice of programming. An examination of the documentary structure of programs leads to a better understanding of requirements for tool architectures.
Languages and Interactive Software Development
- In Programming Languages and System Architectures: International Conference
, 1994
"... . Most software is developed using interactive computing systems and substantial compute-power. Considerable assistance can be given to the developer by providing language-based support that takes advantage of analysis of software artifacts and the languages in which they are written. In this pa ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
. Most software is developed using interactive computing systems and substantial compute-power. Considerable assistance can be given to the developer by providing language-based support that takes advantage of analysis of software artifacts and the languages in which they are written. In this paper, some of the technical challenges and new opportunities for realizing that support are discussed. Some language design issues that affect the implementation of language-based services are summarized. The paper concludes with some proposals for assisting user understanding of language documents. 1
A Document Architecture for Integrated Software Development
, 1994
"... The software development process generates a wide variety of artifacts. Supporting the management and editing of these artifacts in a single, tightly-integrated development environment is a widely shared goal. To support a software object means not only managing its evolution, representation and sto ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
The software development process generates a wide variety of artifacts. Supporting the management and editing of these artifacts in a single, tightly-integrated development environment is a widely shared goal. To support a software object means not only managing its evolution, representation and storage, but also its display and user interaction. To integrate support for the representation, display, and editing of all the objects in the development process, we regard objects as documents - structured compositions of primitive types. We present a document model for software development that accommodates textual documents in natural and formal languages, multimedia documents, and the results of programmatic analysis. We also present an architecture that supports presentation and editing of these documents, in such a way that the services for each primitive type are reusable in all classes of documents. This document architecture is implemented in a working prototype system, Ensemble. Our experiences with Ensemble provide solutions to some of the key architectural problems in integrated environments.
A Framework-Based Environment for Object-Oriented Scientific Codes
- In OON-SKI'93 Proceedings of the First Annual Object-Oriented Numerics Conference
, 1993
"... Frameworks are reusable object-oriented designs for domain-specific programs. In our estimation, frameworks are the key to productivity and reuse. However, frameworks require increased support from the programming environment. A framework based environment must include design aides and project brows ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
Frameworks are reusable object-oriented designs for domain-specific programs. In our estimation, frameworks are the key to productivity and reuse. However, frameworks require increased support from the programming environment. A framework based environment must include design aides and project browsers that can mediate between the user and the framework. A framework-based approach also places new requirements on conventional tools such as compilers. This paper explores the impact of object-oriented frameworks upon a programming environment, in the context of object-oriented finite element and finite difference codes. The role of tools such as design aides and project browsers are discussed, and the impact of a framework-based approach upon compilers is examined. Examples are drawn from our prototype C++-based environment. 1.0 Frameworks Object-oriented scientific programming aims to harness the power of object-oriented design and representation to the task of scientific computing. Th...
Generic description of a software document environment
- Proceedings of the 34th Annual Hawaii International Conference on System Sciences’, IEEE Computer Society. Also found in SVRC Technical Report
, 2001
"... UQ ⋆ is an evolving generic language-based environment for manipulation of structured documents. The environment is intended to capture both syntactic and relational structure within and between documents and to support user interaction via both textual and diagrammatic views. This paper illustrates ..."
Abstract
-
Cited by 3 (3 self)
- Add to MetaCart
UQ ⋆ is an evolving generic language-based environment for manipulation of structured documents. The environment is intended to capture both syntactic and relational structure within and between documents and to support user interaction via both textual and diagrammatic views. This paper illustrates the innovative features of the environment description language used to instantiate a UQ ⋆ environment.

