An Object-Based Visual Scripting Environment Gerti Kappel, Jan Vitek, Oscar Nierstrasz Simon Gibbs, Betty Junod, Marc Stadelmann, Dennis Tsichritzis Abstract Scripting is a programming technique in which applications are constructed by com- posing specially designed, pre-packaged software components using a restricted set of scripting operators. Scripting simplifies programming by cutting down the number of the syntactic and semantic features found in a complete programming language, yet is inherently open-ended in that software components can be provided by a sepa- rate target language. We explore scripting models in which the basic components are written in an object-oriented target language. We introduce a visual scripting tool as a script development environment. Visual scripts present components and links graphically, and a visual scripting tool supports the construction of scripts through the interactive editing of scripts' graphical counterparts. 1 Introduction: What is Scripting? We shall take as a working definition of a scripting language: "a compact notation for constructing applications from pre-packaged components written in a target program- ming language," with the understanding that scripting does in general not replace basic programming. We can characterize the problem that scripting addresses in two ways: • to facilitate rapid application development and evolution through a compact, high- level notation that permits applications in specific domains to be constructed out of reliable, pre-packaged software components • to reduce the details in application programming by focusing the programmer's attention on a restricted, but powerful set of operators for combining software components We further distinguish between a scripting language, and the underlying scripting model. The scripting model determines what kind of software components can be scripted, and what the paradigms for combining them will be. Scripting models will typically be quite different from the more general computational model of the target language in which the software components are programmed, since their purpose is to highlight a particular, application-oriented programming paradigm, rather than general-purpose programming. To illustrate the idea of scripting, we shall take a quick look at a couple of scripting languages. In both cases, a single scripting model provides the semantics of the scripting language. In this paper, by contrast, we shall propose a visual scripting language which will, ultimately, support a variety of different, application-oriented scripting models.