|XOTcl - Brief Description of XOTcl and ActiWeb|
[What is XOTcl?]
XOTcl (XOTcl, pronounced exotickle) is an object-oriented scripting language based on MIT's OTcl and adds several novel concepts. Originally, XOTcl was intended to develop language support for the implementation of design patterns, were design patterns can be added or removed at runtime. These new language proved to be highly flexible for w wide range of applications, where a moduluar composition of orthogonal concepts and/or dynamic changes are desired.
XOTcl is an open source project which was initiated by Gustaf Neumann and Uwe Zdun, its main developers. The following people have contributed to XOTcl: Neophytos Demetriou, Fredj Dridi, Laurent Duperval, Teemu Hukkanen, MichaelL@frogware.com, Kristoffer Lawson, David LeBlanc, Catherine Letondal, Antti Salonen, Daniel Steffen, Artur Trzewik, and Zoran Vasiljevic.
Motivations for XOTcl
Scripting languages, like Tcl, are designed for glueing components together, provide features like dynamic extensibility and dynamic typing with automatic conversion, that make them well suited for rapid application development.
The basic object system of XOTcl is adopted from OTcl. The object system enables us to define objects, classes, and meta-classes. Classes are special objects with the purpose of managing other objects. ``Managing'' means that a class controls the creation and destruction of its instances and that it contains a repository of methods accessible for the instances. Every object may be enhanced with object-specific methods. XOTcl supports single and multiple inheritance. All relationships in XOTcl, including class and superclass relationships, are completely dynamic and can be introspected. Through method chaining without explicit naming of the intended method, ambiguities in name resolution of methods are avoided. This way a shadowed method can be ``mixed into'' the execution of the current method.
XOTcl combines the ideas of scripting and object-orientation in a way that preserves the benefits of both of them. It is equipped with several new language functionalities that help building and managing complex systems. We added the following support:
The following picture summarizes these features of XOTcl and shows the functionalities inherited from OTcl/Tcl:
The following picture shows the architecture of XOTcl and the packages of ActiWeb (which are included in the full distribution):
Last Change: Tue Aug 09 16:33:56 CEST 2022|