CHAIMS: Mega-Programming Research

6/22/98

Abstract:

The CHAIMS project has the goal to investigate and develop a language and a system for high-level composition of large software modules. We assume such modules to be distributed, accessible over different distribution protocols like CORBA, RMI, DCE or DCOM. This heterogeneity has to be dealt with by the CHAIMS system, hidden from the application programmer doing composition. Having large distributed modules also gives potential for optimization: modules can execute in parallel, and data can be exchanged directly between modules. Instead of burdening the application programmer with coding complex client software, we delegate these tasks to the CHAIMS system. The application programmer composes modules by using the CHAIMS megaprogramming language, a purely compositional language that hides protocol and optimization details from the user, yet offers a variety of new primitives. These allow to set up module interfaces prior to repeated execution, request performance estimates from modules prior to their invocation, schedule modules in parallel, monitor execution of invoked modules, interrupt inadequately performing modules, and provide data and meta-information. In spite of these elements the language remains simple as it focuses only on the composition of large modules.


Click here to start


Table of Contents

CHAIMS: Megaprogramming Research

Participants

My Personal Background

Presentation

Shift in Programming Tasks

Typical Scenario: Logistics

C H A I M S

Megamodules - Definition

Challenge: Heavy-weight Services

Challenge: Non-technical Domain Experts

Challenge: Purely Compositional Language Possible?

CHAIMS Primitives

Decomposing CALL statements

Megaprogram Example: Overview

Megaprogram Example: Code

Operation of one Megamodule

CHAIMS Megaprogr. Language

Architecture: Runtime

Architecture: Gentype

Architecture: Composition Process

Wrapper: CHAIMS Compliance

Architecture: Composition Process

Architecture: Overview

Upcoming Changes to Architecture: Interpreter instead of Compiler

Architecture: Three Views

Scheduler: Decomposed Execution

Scheduler: Optimized Execution

Scheduling: Simple Example

Scheduling: Possible Actions

Compiling into a Network

CHAIMS Implementation

Focus for Future

Paying for SW Services

Composition of Processes...

Conclusions

Author: Dorothea Beringer (with many slides reused from various people)

Email: chaims@db.stanford.edu

Home Page: http://www-db.stanford.edu/CHAIMS

Download presentation source