Active Objects: An experimental programming language called Hybrid that integrates concurrency features and persistence with object-oriented mechanisms supporting reuse has been designed and implemented. Simultaneously, a LISP-based system was developed implementing distributed active objects (called KNOs) that are capable of dynamically inheriting and modifying their behaviour. Subsequent work has focussed on formal computational models of active objects, an executable notation for specifying and prototyping language features, and a model for implementing strongly distributed object-oriented systems.
Object-Oriented Development Tools: Early work on a temporal scripting language for composing graphical animations has led to various efforts to develop tools that support software composition and reuse. The visual scripting tool is an interactive direct manipulation tool for specifying applications as compositions of visually-presented software components. The work on visual scripting is part of ITHACA, a large ESPRIT II project on OO application development. Related work includes XOS, a data model for software information systems, and the affinity browser, a tool for navigating through a large object space by means of dynamically changing notions of affinity between objects. Formal techniques have also been applied to (1) the automatic reorganization of evolving class hierarchies, and (2) the specification of object life-cycles to cope with evolution in information systems. Multimedia Environments: More recently, work has begun in the development of a multimedia framework end environment for implementing advanced multimedia applications.
Collections of papers on object-oriented systems have appeared as several CUI technical reports: ``Objects and Things'' (1987), ``Active Object Environments'' (1988), ``Object-Oriented Development'' (1989), ``Object Management'' (1990) and ``Object Composition'' (1991).