Brad Appleton's Programming Systems and Projects Links

Last update: Thu Feb 26 16:29:27 CST 1998

Brad Appleton
Software Tools Developer

44 links to Programming Systems and Projects on the World Wide Web.

Continuous Compilation
Continuous compilation is a new program translation paradigm that we are proposing. It can be summed up by the following statement: The compiler should effectively continuously transform a program from an interpreted to a fully optimized form.
Juice Homepage
Juice is a new technology for distributing executable content across the World Wide Web. Juice differs from Java in several important aspects that allow it to outperform Java in many "downloadable Applets" applications. Juice is intended to be a complement to Java, giving users a choice: Java or Juice.
QUT Gardens Project Home Page
Gardens creates a virtual parallel machine out of a network of workstations with low latency inter-machine communication links. Our focus is on tightly integrating the programming and system facilities by the use of a single sufficiently expressive language. Essentially Gardens research consists of two threads: programming languages and systems. Overall emphasis is on: performance (of course), adaptation to dynamic processor sets, and safe and simple programming model with explicit cost model.
NEK's Programming Resources Page
Programming-related links.
ACE: The Adaptive Communication Environment
The ADAPTIVE Communication Environment is an object-oriented toolkit that implements strategic and tactical design patterns to simplify the development of concurrent, event-driven communication software. ACE provides a rich set of reusable C++ wrappers, class categories, and frameworks that perform common communication software tasks across a range of operating system platforms. The communication software tasks provided by ACE include event demultiplexing and event handler dispatching, service initialization, interprocess communication, shared memory management, message routing, dynamic (re)configuration of distributed services, multi-threading, and concurrency control.
Arjuna Project Information
Arjuna is an object-oriented programming system that provides a set of tools for the construction of fault-tolerant distributed applications.
Chopshop Project at CMU
The Chopshop Project aims to provide practical program analysis and visualization tools to assist with real software engineering tasks.
The ConCur Project
ConCur is a programming concept that is based on separating programs, called strategies, and data, called models. ConCur's basic structures for both strategies as well as models are binary trees. A wide variety of representations of the real world have been modelled already.
Center for Innovative Computer Applications at Indiana University
The Center for Innovative Computer Applications is a special projects unit of University Computing Services at Indiana University charged with exploring applications of new computing technologies. We focus on scientific and artistic visualization, high-end computing, and other special applications.
The Clay Project
The Clay project is a wide ranging project involving the design of the Clay language and its application to researches in the cognitive sciences.
Cogito Project
The goal of the research is to facilitate software production for applications in advanced scientific computing. In particular, the focus is on methods for solving time-dependent PDE problems, for example in fluid dynamics. Current research issues are (a) object-oriented software tools in this area (implementations in Fortran and C++), and (b) methods for automatic parallelization of computational methods in this area. The aim is to design software tools that make it possible to write codes on a high level of abstraction. One important issue in this context is to decouple various program components (grid, grid function, numerical method, mathematical problem), for easier program composition, modification and maintenance. Another key issue is portability between various computer architectures. In particular, an essential subgoal is to make it easier to program parallel computers.
Forest Project
The Forest project is investigating the use of persistent programming systems for the construction of software development environments. We believe that the persistence and tool integration mechanisms of traditional operating systems are a major limiting factor in the development of powerful, multi-user software development environments. Our intent is to replace the use of file systems and ad hoc persistence mechanisms with typed, persistent objects that are defined and manipulated in a standard object-oriented programming language.
The Fox Project: Advanced Languages for Systems Software
The objective of the Fox Project in the School of Computer Science at Carnegie Mellon is to advance the art of programming-language design and implementation, and simultaneously to apply principles of programming languages to advance the art of systems building. The work of the project includes theoretical studies of programming languages and their properties, development of new compiler and run-time technology, and empirical studies of the application of advanced language techniques to real-world programming problems, especially in the areas of high-performance networks and operating systems.
FUSE Home Page
Fuse encompasses several projects whose ultimate goal is to design better tools to find relevant information -- whether it is in a file, somewhere in a local file system, or anywhere in the Internet -- and then use it more effectively. We are studying new concepts, new methods, and new algorithms, and we are developing publicly-available software to demonstrate them.
Gardens Project
Gardens creates a virtual parallel machine out of a network of workstations with low latency inter-machine communication links. Our focus is on tightly integrating the programming and system facilities by the use of a single sufficiently expressive language. Essentially Gardens research consists of two threads: programming languages and systems. Overall emphasis is on: performance (of course), adaptation to dynamic processor sets, and safe and simple programming model with explicit cost model.
The GHINSU project
Ghinsu is an environment that integrates a number of tools that aid in a number of software engineering activities primarily maintenance. The input to the current version of Ghinsu is a program written in large subset of C (including pointers). Ghinsu has been supported via grants by the Software Engineering Research Center (SERC) and developed at the University of Florida's Computer and Information Sciences Department.
Gwydion Home Page
In this white paper we present our vision of a software development environment that is optimized for evolutionary program development, in which changes and refinements continue to be made throughout the life cycle of the software. We are now developing such an environment, which we call ``Gwydion''[1]. Gwydion will serve as a prototype to demonstrate the power of evolutionary programming techniques (section [*]). We also believe it will be a popular and widely used tool, both in the research community and in forward-looking companies
The ITHACA Project
ITHACA is an Esprit Technology Integration Project whose aim is to develop an integrated application development and support environment based on the object-oriented programming approach.
Illinois Concert Project (CSAG)
The goal of the Concert project is to develop portable, efficient implementations of concurrent object-oriented languages. Our approach incorporates aggressive whole program compilation, interprocedural optimization, and an efficient runtime system which works in concert with the compiler optimizations. The Concert System is an embodiment of these techniques, providing efficient implementations of object-oriented programs on a variety of platforms.
Jeffrey Hobbs' Mercury Project
The LIGHT Concept - LIfecycle Global HyperText
Programmers who develop, use, maintain, modify software are faced with the problem of scanning and understanding large amounts of documents, ranging from source code to requirements, analysis and design diagrams, user and reference manuals, etc. This task is non trivial and time consuming, because of the number and size of documents, and the many implicit cross-references that they contain. In large distributed development teams, where software and related documents are produced at various sites, the problem can be even more severe. LIGHT, LIfe cycle Global HyperText, is an attempt to solve the problem using WWW technology. The basic idea is to make all the software documents, including code, available and cross-connected on the WWW.
Liquid Software Home Page
Liquid Software is an infrastructure for building networked systems using software that easily flows from machine to machine. Liquid software makes these systems easier to maintain, debug, customize, and update. The infrastructure includes a gigabit compiler for just-in-time compilation of mobile code (e.g., Java), a minimal OS platform, and a security architecture.
MADEFAST is an ambitous experiment in collaborative engineering over the Internet, undertaken by ARPA SISTO MADE contractors. The exercise is testing current MADE technology, determining future research directions, and establishing an infrastructure for the MADE community.
The OPUS Project
There is currently no commonly accepted formal model for object-oriented programming. The main motivation of the OPUS research project is to design an elementary calculus to express object-orientedness. It should model the crucial features of object-oriented programming in an orthogonal way.
On-Site Wearable Computer Systems
OSE Home Page
OSE is a collection of programming tools and libraries targeted mainly at C++ programmers. The environment has been developed with the aim of improving programmer productivity through making the goal of reuse achievable, and by reducing the time developers need to devote to managing the infrastructure supporting the day to day tasks of programming. There are three major components in OSE. These are a C++ class library, a build environment and a set of documentation extraction tools. The C++ class library includes support for error handling, error message logging, error recovery, program debugging, memory management, resource management, generic collections, text manipulation, date and time arithmetic, operating system interfacing and event driven systems.
Parallel Programming Laboratory
The broad objective of the parallel programming laboratory is the development of enabling technologies for parallel computing. The two major areas of focus are parallel programming support through tools and environments, and application-specific techniques
The POSSE Project
The POSSE (Persistent Object SyStem Evaluation) Project seeks to design, implement, and evaluate alternative implementation methods for persistent object systems. Our current work is specifically focused on the problem of storage management in such systems. Our contributions to date include new policies for garbage collection reclamation in object database systems. We are also committed to developing more effective evaluation methods for our work.
The Proteus project
The Proteus project is a research and development project which is concerned with solving some of the problems of software evolution.
Renaissance Project
Renaissance is a project to investigate the applicability of object-oriented techniques to the construction of large scale distributed systems. For a complete overview of the system see our overview paper.
Scandal Supercomputing Project Home Page
The primary research interest of the Scandal project is the development of a portable, interactive environment for programming a wide range of supercomputers. The two main goals of the project are: Developing a portable parallel language, NESL, and associated environment; and Developing fast implementations of parallel algorithms.
SEED Project Home Page
The SEED project intends to develop a software environment that supports the early phases in building design (Flemming et al., 1993). The goal is to provide support, in principle, for the preliminary design of buildings in all aspects that can gain from computer support. This includes using the computer not only for analysis and evaluation, but also more actively for the generation of designs, or more accurately, for the rapid generation of design representations. A major motivation for the development of SEED is to bring the results of two multi-generational research efforts focusing on `generative' design systems closer to practice:
Sina is a concurrent object-oriented programming language, and it is the first language to adopt the Composition Filters Object Model (CFOM). The CFOM is an extension to the object-oriented model and can express a number of concepts in a reusable and extensible way. The Sina language has been developed by the TRESE project as an expressive vehicle for the Composition Filters Object Model. The TRESE project (part of the SETI Group at the Computer Science Department of the University of Twente, The Netherlands) performs activities related to research on compositional object technology.
The Sunrise project
unrise had the goal of developing a nationally scalable high-performance networked software environment to facilitate the dynamic assembly of distributed industrial and scientific applications. The main focus of the project was to tie together enabling technologies (ATM networking, object-oriented distributed computing, graphical and multi-media user interfaces, security and privacy, and data-mining technologies) into several specific applications.
The Swarm Simulation System
Swarm is a software package for multi-agent simulation of complex systems being developed at The Santa Fe Institute. Swarm is intended to be a useful tool for researchers in a variety of disciplines, especially artificial life. The basic architecture of Swarm is the simulation of collections of concurrently interacting agents: with this architecture, we can implement a large variety of agent based models. Our initial target is Unix machines running GNU Objective C and X windows: the source code is freely available under GNU Licensing terms.
The TRESE project
The TRESE project aims at performing activities related to research on compositional object technology. This research includes the development of object-oriented frameworks, models, methodologies and supporting tools for creating and maintaining adaptable software.
The Tycoon Project
Tycoon is a polymorphic persistent programming environment for the development of data-intensive applications in open environments. The Tycoon system emphasizes system scalability and interoperability with commercial servers like Ingres, Oracle, ObjectStore, O2, Inquery, SAP R/3, NeWS, StarView, C and C++ libraries, Sun-RPC, DCE-RPC and Kerberos.
The Lens Project
The class concept is heavily overworked. Classes are used for: inheritance, encapsulation, typing, classification and state sharing. In current OO languages and systems, these different features interact in a non-orthogonal way resulting in a too complex system. We claim that these features can and must be untangled, envisaging a double objective. The first aim of our research is education oriented: to give a more comprehensible view on OO programming. For this purpose we built the compact programming language LENS as the orthogonal combination of three fundamental OO aspects: late binding (by means of message passing), pure (i.e. mixin-based) inheritance and object-based encapsulation. Secondly, we try to engender OO software engineering. As such we obtained two tangible results: one on the field of multiple inheritance, the other in the area of object creation in frameworks
The UW Cecil/Vortex Project
Vortex is an optimizing compiler infrastructure for object-oriented and other high-level languages. It targets both pure object-oriented languages like Cecil and hybrid object-oriented languages like C++, Modula-3, and Java. Vortex currently incorporates high-level optimizations such as static class analysis, class hierachy analysis, profile-guided receiver class prediction, profile-guided selective procedure specialization, intraprocedural message splitting, automatic inlining, and static closure analyses. It also includes a collection of standard intraprocedural analyses such as common subexpression elimination and dead assignment elimination. The Vortex compiler is written entirely in Cecil.
The UFO Project
The United Functions and Objects project has developed a programming language which unites functional and Object Oriented Programming techniques. A large subset of UFO is a pure, higher-order functional language incorporating the OO notions of classes, inheritance, and dynamic binding. Another important aspect is the provision of multi-dimensional functional arrays, with integrated loop structures and monolithic operators, which generalise those of SISAL. However, unlike SISAL, UFO is not a pure functional language. It has stateful objects, which allow programs to be written in a concurrent object-oriented style where appropriate. Safeguards are provided, both in the semantics of operations on stateful objects and in the type system, to minimise the problems associated with introducing state.
The Mjolner BETA System Home Page
The Mjolner BETA System is a software development environment and tools set for use with the BETA programming language.
wOrlds: An Open Environment for Support of Collaborative Activities
wOrlds is focused on the development of a next generation computer-supported collaborative work (CSCW) framework. Previous CSCW systems have tended to suffer from several problems - they tend to look at small problems in isolation and provide overly-rigid systems for collaboration support. To a large degree we believe these problems arise from an inadequate theoretical orientation to the issues that arise with collaboration support.

back to Brad Appleton's WWW Links

back to Brad Appleton's Home Page