Programme

Eighth ESUG Smalltalk Summer School
August 28th - September 1st
Southampton, UK

Monday August 28th

8.45

Welcome introduction

9.00 - 10.00

When Smalltalk meets the Web (presentation)
Juan Carlos Cruz

10.00 - 10.30

Coffee break

10.30 - 12.30

Advanced eXtreme Programming testing techniques in Smalltalk (presentation)
Joseph Pelrine

12.30 - 14.00

Lunch

14.00 - 16.00

Smalltalk and Corporate Cultures (presentation)
Palacz, Piotr

16.30 - 16.30

Coffee break

16.30 - 17.30

Building run-time analysis tools by means of pluggable interpreters (presentation)
Michel Tilman

17.30 - 18.30

Free Group Discussions (or A Shell in Smalltalk for Linux)

Tuesday August 29th

9.00 - 10.00

Making of the virtual domino animations (presentation)
Ernest Micklei

10.00 - 10.30

Coffee break

10.30 - 12.30

Aida WebServer (presentation)
Janko Mivsek

12.30 - 14.00

Lunch

14.00 - 16:00

Parcels: a Fast and Flexible Component Architecture
Eliot Miranda

16.00 - 16.30

Coffee break

16.30 - 17.30

Internet application development using a meta-repository (presentation)
Michel Tilman

17.30 - 18.30

Free Group Discussions

Wednesday August 30th

9.00 - 10.00

Coast (presentation)
Jan Schuemmer

10.00 - 10.30

Coffee break

10.30 - 11.30

Smalltalk-2000: SmallScript and Microsoft's ".NET" Platform
David Simmons

11.30 - 12.30

General Assembly

12.30

Lunch

Thursday August 31th

9.00 - 10.00

OpenSpace: a Frameworks for Heterogenous Tuple Space (presentation)
Thomas Hofmann

10.00 - 10.30

Coffee break

10.30 - 12.30

SToRE
Eliot Miranda

12.30 - 14.00

Lunch

14.00 - 15.00

Stable Squeak World Tour (presentation)
John W. Sarkela

15.00 - 16.00

SOUL (Smalltalk Open Unification Language)
Roel Wuyts

16.00 - 16.30

Coffee break

16.30 - 17.30

Smalltalk scripting language for VisualAge
Matt Sims

17.30 - 18.30

Dolphin BoF Session

Friday September 1st

9:00 - 10.00

Configuration management alternatives for VisualWorks
Joseph Pelrine

10.00 - 10.30

Coffee break

10.30 - 12:30

Model View Presenter; Twisting the triad(presentation)
Andy Bower

12.30

Lunch


Abstracts

When Smalltalk meets the Web
Juan Carlos Cruz (cruz@iam.unibe.ch)

See or download the presentation

Advanced eXtreme Programming testing techniques in Smalltalk
Joseph Pelrine (jpelrine@acm.org)

See or download the presentation

Joseph Pelrine is an expert Smalltalk programmer with over 11 years extensive OT experience and has worked with Kent Beck, the originator of XP, for a number of years. A former columnist for the Smalltalk Report and noted international speaker, he is currently a senior consultant with Daedalos Consulting in Switzerland. He is coauthor of the forthcoming book, Mastering ENVY/Developer, due for publication from Cambridge University Press in fall 2000.

How much testing is enough? Too little? Too much? What do developers need to test? The available eXtreme Programming literature differentiates between unit testing and functional testing, and gives unit testing during development a (well-deserved and much-needed) high priority, but fails to address a number of other important aspects of developer testing: GUI testing, performance testing, and packaging/delivery testing, for example. This tutorial will illustrate new techniques such as implementing "skins" for SUnit, defining test resources for managing items which remain active over a series of tests (e.g. database connections), and automating or integrating various other tests into SUnit.

Coast
Jan Schuemmer (schummer@darmstadt.gmd.de)

See or download the presentation

Jan Sch¸mmer, Till Sch¸mmer and Christian Schuckmann work at GMD-IPSI, where they develop groupware applications such as collaborative learning systems (VITAL, L≥), software for collaborative buildings (BEACH), or collaborative software development tools (TUKAN or cooperative UML-Editor). All these Systems are based on COAST, which was developed by the speakers after they built the meeting support system DOLPHIN. More information about these systems and the COAST framework can be found at the IPSI homepage (http://ipsi.gmd.de/) or at the COAST homepage (http://www.darmstadt.gmd.de/concert/projects/coast.html).

Groupware applications help a group of distributed or co-located users to work on a common task. Synchronous groupware applications enable a group of users to collaborate in real-time. Building synchronous groupware applications is much more complicated than building single user applications. Thus we developed the COAST framework, which reduces the load of development of groupware applications to a level of single user application. The COAST framework therefore offers a data description language to model the (shared) domain model, provides mechanisms for synchronous manipulation of the shared domain model by a set of users, keeps the shared model and their visualizations at a consistent state, supports the provision of clues about other userís activities (group awareness), includes a pre-defined extensible model of users and their work environments, and assists the developer in modeling user interaction and collaborative sessions. COAST is implemented in VisualWorks Smalltalk and is becoming open source, to be used by a large community for the development of groupware. The talk will give an introduction to COASTís concepts for groupware development and discuss the design decisions we made during itís development.

Building run-time analysis tools by means of pluggable interpreters
Michel Tilman (mtilman@acm.org)

See or download the presentation

Michel Tilman graduated in Mathematics at the Brussels Free University, where he joined the Programming Technology Lab in 1985, doing research on models for concurrent object-oriented systems, on frameworks for groupware applications and configurable application servers, and on pratical applications of reflection. He later applied his experience in commercial settings (SoftCore, Unisys). He has been using Smalltalk for 13 years.

Although most Smalltalk implementations offer the developer powerful reflective facilities, putting this functionality to good use often requires a deeper understanding of the internal workings of the Smalltalk 'engine'. When we implement a Smalltalk interpreter in Smalltalk itself (which is fairly simple) and apply it selectively on a per method basis (using method wrappers), we get a flexible basis for building different types of analysis tools in a easy-to-understand way. Examples are fine-grained tools to keep track of dynamic typing information, method activations and variable accesses. We present an overview of the interpreter, its implementation and how it is used to build browsers for viewing method coverage and run-time type information.

Making of the virtual domino animations
Ernest Micklei (emicklei@philemonworks.com)

See or download the presentation


The challenge to making a real life domino toppling scene is all about keeping the upmost concentration when placing the stones one by one. As each stone is placed there is a potential risk that it will topple by mistake and initiate an unstoppable toppling process. Of course the reward is great and experiencing the event gives the particpants and audience a thrill.

But most people, like me, never got the chance to join or startup such an event. Most likely, this is because I couldn't find other people crazy enough to spend many hours sitting in a big room placing those millions of colored dominos. So I was never able to realize my imaginary scenes, until now... In November 1999, I started to create classes to model the process of toppling domino stones queued in a row. Working my way through complex trigonometric relations, I managed to generate a sequence of toppling angles for each domino such that the whole process could be animated. Using SmallScript3D, a 3D-language on top of Smalltalk, it became possible to generate domino animations using VRML (Virtual Reality Modelling Language). Now, all I have to do is put a lot of characters in rows, turns, circles, and bridges and my objects will take care of the rest. My talk will highlight the design and implementation of several classes needed to make all of this work for me. The domino text format, the scene reading phase, the angle computation process and some exporting issues will all be addressed. Curious people are invited to peek at http://www.philemonworks.com/domino/uk/index.html and see some examples.

Aida WebServer
Janko Mivsek (janko.mivsek@eranova.si)

See or download the presentation

Janko Mivsek is a founder and systems architect at EraNova d.o.o. He has 6 years of experience in implementation of pure object technology in diverse fields, from Gas industry, Publishing, Logistics to Direct marketing industry. Last 4 years he actively combine an Internet and object approach to build complex, highly interactive and easy to maintain information systems.
Swazoo-Aida is a combination of Swazoo, a Camp Smalltalk made HTTP 1.1 web server and framework for web servers, and AIDA/Web, a Web server and framework for dynamic web applications. The intention of our Web Application Server group at Camp Smalltalk was to combine the best work in web server area in different Smalltalks and produce a common, open-source web server and framework for e-commerce applications, similar or better that those in Java world. Although the Swazoo-Aida is a work in progress, it is already production ready and offers session support with or without cookies, security (SSL is coming), active smalltalk pages, rich set of web elements to compose web pages and many more. It comes with ready web components such as discussion forums, search engine and news. The tutorial consists introduction to concepts and a groupwork on a small but working web application.

Parcels: A Fast and Flexible Component Architecture
Eliot Miranda (eliot@parcplace.com)


One important definition of "software component" is a file containing objects and their behaviours that allows their rapid importing into a running program. Almost ubiquitous forms of such loadable components are the Java Class File and the Java Archive, but other forms have been around for a long time, for example in Lisp and Smalltalk systems. Existing loadable component technologies have significant limitations. Most implementations are suboptimal with respect to compression and loading speed. All impose restrictions such as requiring all base classes they subclass to exist in the loading system and many require classes to have the same shape as when the component was created. These restrictions can impose mantennance burdens that potentially can grow geometrically with the number of components. This talk examines these problems and presents VisualWorks Parcels and the associated StORE team programming tool, a practical, high-performance loadable component model with powerful tool support that deli ers a uniquely flexible and convenient component programming system.

Internet application development using a meta-repository
Michel Tilman (mtilman@acm.org)

See or download the presentation

Michel Tilman graduated in Mathematics at the Brussels Free University, where he joined the Programming Technology Lab in 1985, doing research on models for concurrent object-oriented systems, on frameworks for groupware applications and configurable application servers, and on pratical applications of reflection. He later applied his experience in commercial settings (SoftCore, Unisys). He has been using Smalltalk for 13 years.
In this demonstration we present an Internet application development framework that provides developers with high-level tools for building and maintaining Web-based applications in a flexible way. The framework is dynamically driven by meta-information stored in a central database. The Internet framework builds on the ARGO framework presented at the ESUG 1999 conference. Using the ARGO framework we define and maintain the business logic by modeling and configuring, rather than through scripting. The Internet application server allows the users to access these applications through the Web. The demonstration is accompanied by a technical overview of the framework architecture.

Dolphin Bof Session

Smalltalk and Corporate Cultures
Palacz, Piotr (piotr@kc.net)

See or download the presentation

I started programming in Smalltalk around 1986 in Digitalk/V on a PC XT. Since then, I used most commercial Smalltalk products in variety of projects in different roles over time, ranging from a programmer to architect and technical director. I worked in Poland, China and Australia, where I worked mainly in banking insurance and advertising. I have spent last three years in the U.S. working for telecom and utility companies. In Australia I was a founding member of Australian Smalltalk User Group and I co-sponsored its web site. I was presenter in Smalltalk Summer School in Utrecht, 1995.
The presentation is an effort at systematization of experiences from projects involving Smalltalk. The period covered spans more than 10 years on four continents in various organizations, from small to the really big ones in terms of team and budget size. It is also about specific expectations, voiced or not, as to the development of software using Smalltalk could or should be done, most of which had to be adjusted in corporate reality. Apart from sharing experiences and few anecdotes, the focus of the talk is the functioning of Smalltalk and Smalltakers in specific corporate and organizational cultures. There are settings in which Smalltalk is very likely to fail; there are also situations, where Smalltalk as a technology and mindset it supports work very nicely. The objective is to describe identifying features and symptoms both for failure and success with Smalltalk, using the presenter's experiences (mainly) in Australia and the U.S. The intended audience is not only people who manage or lead Smalltalk development, but also Smalltalk programmers who may be reluctant to go beyond the technical. The hope is that these shared experiences may help one avoid death marches and looming disasters; that popularizing Smalltalk may become more effective; and that fashionable approaches in Smalltalk projects, like Extreme Programming, can be examined from the point of view of types of corporate culture they respond to.

Smalltalk-2000: SmallScript and Microsoft's ".NET" Platform
David Simmons (pulsar@qks.com)

David Simmons founded Quasar Knowledge Systems, Inc. (QKS) in 1989 to develop a next generation platform for integration of distributed Agent and Object technologies. For the last ten years he has been the lead architect on the development of the QKS Agents Object System (AOS(tm)) multi-language runtime and QKS Smalltalk for Macintosh, Win32, and most recently SmallScript(tm) consisting of the AOS Runtime Platform and a Smalltalk language superset for hi-performance scripting. Mr. Simmons has been an active member of the ANSI X3J20 Smalltalk standards group since its inception and over the years has pioneered many advances in Smalltalk and its language.

OpenSpace: a Frameworks for Heterogenous Tuple Space
Thomas Hofmann (hofmann@iam.unibe.ch)

See or download the presentation

I'm studying computer sience at the University of Bern, Switzerland. OpenSpaces is my master's project, developed with Visual Works and DST. Since 2000 I work in a small company as developer using Visual Age ST.

OpenSpaces is an object-oriented framework for coordination using a shared data space. Collaborating agents can exchange any information through the commonly known space in order to synchronize or pass requests or results of computation. OpenSpaces offers a high degree of configurability, at compiletime as also pluggable at runtime. OpenSpaces is implemented in Smalltalk on top of CORBA. Like that several platforms are covered and clients may be written in any language for which an ORB is available. I will present the framework and demonstrate different use-scenarios.

SToRE
Eliot Miranda (eliot@parcplace.com)

Smalltalk scripting language for VisualAge
Matt Sims (matt@totallyobjects.com)

Matt Sims started programming as a hobby while at secondary school and was introduced to Object Oriented Design, and later Smalltalk, while studying at the University of Birmingham for a BSc in Mathematics. He joined BT in 1991 where he still works researching Information Security. His passion for Smalltalk has grown, so, out of hours, he designs and develops frameworks and end-user applications for Totally Objects and its customers. He is responsible for many well used Smalltalk libraries; his favourites being an object persistency framework, a sockets framework, and recently, a scripting framework.
The object serializer distributed with VAST (the Swapper) does not allow compiled code, such as methods and blocks, to be serialized. The standard VAST licence does not allow the compiler to be packaged in a 'run-time'. This talk shows how I built frameworks to side-step these restrictions and allow extra functionality to be introduced to, and exchanged between, run-time VAST images. These frameworks use interpreted scripts with either a Smalltalk or BASIC syntax: this makes them suitable for both Smalltalk developers and end-users. I will cover issues relevant to scripting in all Smalltalk dialects: controlling who can execute a script in the image, and limiting, modifying or extending the visibility scripts have of objects and methods. I will also describe a number of situations in which these scripts can be useful, such as, simple macros, servlets and dynamic patches to running programs.

Configuration management alternatives for VisualWorks
Joseph Pelrine (jpelrine@acm.org)

With the release of VisualWorks 5i, Cincom has also released StORE, an integrated configuration management tool which offers an alternative to OTI's ENVY/Developer. This tutorial offers an overview of both tools, discussing in depth not only advantages and disadvantages of the tools, but also differences in the underlying philosophy behind them. It will also illustrate migration tips, tools and techniques for developers wishing to change tools.

Model View Presenter; Twisting the triad
Andy Bower (bower@object-arts.com)

See or download the presentation

Andy Bower is a Director and founder of Object Arts Ltd, the UK based company responsible for Dolphin Smalltalk. Andy has been a practitioner of Object Oriented Programming since he discovered the "Blue Book" back in 1984 although, by his own admission, he didn't actually get to grips with the Smalltalk language until some ten years later. In 1994, Andy "saw the light" and became a key member of the team that designed and built Dolphin Smalltalk. He is now a "raving" Smalltalk evangelist and, therefore, not someone who should be engaged in conversation at parties!

Model View Presenter (MVP) is a modern user interface framework for Smalltalk. Derived from the Taligent C++ framework of the same name, MVP is currently the key UI framework in Dolphin Smalltalk. This tutorial discusses the qualities of MVP and why the Dolphin developers chose to adopt it over and above two previous framework designs (that were tried, and yet rejected) based around widgets and MVC. The presentation will attempt show how, by rotating (or twisting) the MVC triad, one can produce an "Observer" based framework that is easy to use and more flexible than those currently available in other Smalltalk environments. We will also present some "hands-on" step-by-step examples for those interested in getting to grips with Dolphin MVP for the first time.

Stable Squeak World Tour
John W. Sarkela (jsarkela@exobox.com or sarkela@home.com)

See or download the presentation

Free Group Discussions