Seventh ESUG Smalltalk Summer School
August 30 - September 3
Gent, Belgium
8.45 |
Welcome introduction |
9.00 - 10.00 |
D1: Design Fest - MOO Design |
10.00 - 10.30 |
Coffee break |
10.30 - 11.30 |
VisualWorks 5i demo |
11.30 - 12.30 |
T1: VisualWorks 5i and Opentalk |
12.30 - 14.00 |
Lunch |
14.00 - 16.00 |
T2: Pocket Smalltalk |
16.30 - 16.30 |
Coffee break |
16.30 - 17.30 |
D2: Design Fest |
17.30 - 18.30 |
D3: Numerical Method |
18.30 ... |
*Guided Tour of Gent* (by Delaware) |
9.00 - 10.00 |
D4: SmallScript 3D |
10.00 - 10.30 |
Coffee break |
10.30 - 12.00 |
T3: Building highly configurable and adaptive frameworks |
12.00 - 12.30 |
D5: Duploc, a tool to detect and visualize duplicated code |
12.30 - 14.00 |
Lunch |
14.00 - 16.00 |
T4: The Classification Browser |
16.00 - 16.30 |
Coffee break |
16.30 - 17.30 |
|
17.30 - 18.30 |
Discussion on future browsers |
20.00 |
Special Dinner |
9.00 - 10.00 |
D7: Software in the Next Millennium |
10.00 - 10.30 |
Coffee break |
10.30 - 12.30 |
T5: Advanced Topics in ENVY |
12.30 - 14.00 |
Lunch |
14.00 - ??? |
*Visit to Bruges* (by Cincom) |
9.00 - 10.00 |
D8: Gemstone products |
10.00 - 10.30 |
Coffee break |
10.30 - 12.00 |
T6: Ultra Light Client |
12.00 - 12.30 |
D9: ObjectStudio on the Middle Tier |
12.30 - 14.00 |
Lunch |
14.00 - 16.00 |
T7: Extreme Programming |
16.00 - 16.30 |
Coffee break |
16.30 - 17.30 |
D10: Design Fest |
9.00 - 10.00 |
>ESUG general assembly and discussion |
10.00 - 10.30 |
Coffee break |
10.30 - 12.00 |
T8: VisualAge for Smalltalk - Tips and Tricks |
12.00 - 12.30 |
D11: CodeCrawler |
12.30 |
Lunch |
T1 - VisualWorks 5i and Opentalk
Roland Wagener, Georg Heeg Objektoriente Systeme, Germany
OpenTalk is the next generation of Smalltalk messaging, build into
VisualWorks5i. It is an extensible, pluggable development architecture,
initially supporting a pure Smalltalk to Smalltalk messaging model. It is
user-expandable, and will support disparate protocols such as COM/DCOM and
RMI. OpenTalk allows for full bore remote development (browsing and
debugging of code).
The presentation consists of an introduction and a demo of OpenTalk with
VisualWorks5i.
T2 - Pocket Smalltalk
Carsten Härle, Semior Consultant, Germany
Pocket Smalltalk is a Smalltalk implementation for the Palm Computing
platform. It has a 24Kb VM and full access to the Senior. The talk
discusses the implementation and gives programming examples.
T3 - Building highly configurable and adaptive
frameworks
Michel Tilman, Senior System Architect, Unisys Belgium
Building flexible applications in a heterogeneous world of ever-changing
needs requires appropriate techniques. Metadata (data about data) and
active-object models (explicit object models that are interpreted at
run-time) are increasingly applied in various application domains. By means
of small examples and a larger case study, we aim to convince the audience
that these reflective systems are very useful (in fact, needed), and that
they are easier to build than is commonly thought. We present techniques
that work and emphasize potential problems that the developer should be
aware of.
T4 - The Classification Browser
Koen De Hondt, MediaGenix, Belgium
The Classification Browser is based on a general model to organize software
entities, called the software classification model. Classifications can be
considered enhanced categories with which classes can be grouped in
arbitrary, user-defined ways. Apart from the support for organizing
software entities, the Classification Browser also provides integrated
support for browsing senders and implementers, and for browsing
acquaintance relationships. Classes and methods can be viewed in different
ways, so that the developer can choose the most appropriate way of browsing
for a given browsing/development activity. The browser can be used for
reverse engineering; it is able to produce UML diagrams. On top of that,
the Classification Browser can be used to manage software evolution.
T5 - Advanced Topics in ENVY
Joseph Pelrine, Daedalos Consulting AG, Switzerland
As good a tool as ENVY is, the documentation leaves something to be
desired. This is all the more evident when the job to be done is extending
the ENVY environment with additional functionality. This code-intense
course provides an in-depth look at the ENVY system API, uncovers some
interesting things, and provides numerous examples of tools and scripts
which can immediately be used to increase the productivity of an ENVY site.
T6 - Ultra Light Client
Sanjay Madhavan, OTI, Zürich, Switzerland
The IBM VisualAge Ultra Light Client (ULC) is a new architecture to address
the fat client problem. The principal idea is to run applications on a
centrally controlled application server. Only the presentation part of an
application is run on the client's desktop. The presentation part is
implemented by a universal user interface engine (UI Engine). ULC produces
thin, easily distributable, low bandwidth client applications. The
presentation will consist of an introduction to the ULC architecture and a
demo of building and running ULC Smalltalk applications.
T7 - Extreme Programming
Kent Beck, Daedalos Consulting AG, Switzerland
T8 - VisualAge for Smalltalk - Tips and Tricks
Greg Hutchinson, Object Oriented Ltd., Switzerland
This tutorial will focus on some useful tips and tricks to help developers
make their coding easier and more reusable. It will also explain some of
the lesser know functionality provided in Visual Age for Smalltalk.
The Eavesdropper Pattern: Occasionally the widgets that are supplied with
your favorite dialect of Smalltalk do not have all the functionality that
you may desire. Usually your choices are to subclass the supplied parts, or
decorate (or wrap) the supplied parts. The eavesdropper pattern is another
alternative to the above without the drawbacks of either. The presenter
will explain and illustrate the use of this pattern in several working code
examples to add useful functionality to existing VA Smalltalk widgets.
D1 - Design Fest
Ivan Tomek, Acadia University, Canada
A MOO is a client-server text-based virtual environment emulating real
world features such as places (rooms, building, etc.), actors (people,
machines), and objects and combining them in a virtual universe. It allows
its users to build new locations, instantiate objects, navigate in the
virtual universe, communicate with others, and extend the environment by
creating new object templates. MOOs have been shown to be useful in
education and in computer supported collaborative work, and they are very
popular as gaming environments. In a sense, virtual environments can be
viewed as a generalization of existing networked environments that provide
new forms of scoping, communication, navigation, customizability and
extendibility. Up to now, however, they have not proved as popular as their
potential would suggest. This is, among other reasons, probably due to
their outdated designs and it is the purpose of this proposal to suggest an
initial specification and work out a suitable design. The implementation
could eventually become an exciting new environment that would be of
interest in many applications, among them as a meeting place of the
Smalltalk community.
Implementing such an environment in Smalltalk could be an interesting proof
of the strength and viability of Smalltalk. It is hoped that the fact that
the environment would be user-extendible in Smalltalk could lead to
increased popular awareness and interest in Smalltalk.
D3 - Smalltalk implementation of selected numerical
methods
Didier Besset, Switzerland
Numerical data analysis seems largely ignored by most Smalltalkers. It
turns out, however, that implementing numerical method in Smalltalk is very
easy because of the large potential for mathematical objects to be mapped
into computer objects. In this talk, we shall present a general framework
for computation by successive approximations. Then, we shall present
numerous examples of concrete implementation of this framework: zero
finding, integration, finding the eigen values of a matrix, least-square
fit. As a side exercise, we shall study vector and matrix operations and
show how to implement matrix LUP decomposition (to solve linear systems of
equations and invert a matrix).
Author: Didier Besset has a Ph.D. in experimental high-energy physics.
Since 1987, he has been using Smalltalk to develop large applications using
statistical analysis of data as a basis for decision support. He now is
working as an independent consultant.
You can download the presentation and example code (in pdf).
D4 - SmallScript 3D
Ernest Micklei, ELC, The Netherlands
It contains a set of classes for representing all kinds of 3D objects,
operations on these objects and some nice exporting facilities for
rendering them using non-Smalltalk programs such as POVRay, Quake,VRML or a
simple Direct3D viewer.
In this demo, I would like to show some of these scripts and scenes and of
course a detailed view on some interesting objects and concepts used
(Smalltalk Interfaces, Kind Dispatching, Optimizing Collections ... ).
You can see the presentation if you have a VRML-plugin in your browser.
D7 -Software in the next millenium
Andy Berry , UK
It's just over fifty years since the first computer program was written.
Since then, much has changed but much has remained the same. For example,
the first program was swiftly followed by the first 'bug' - just like every
program written today. Object orientation (and, of course, Smalltalk) was
one of the 'drivers' for windowing systems which is one of the most
significant developments in the first half-century of software.
No-one can predict the future and I'm not going to try.
What I will try to do is provide a historical context for software
development (such as the Cold War and the internationalization of business)
and then highlight some outstanding challenges that you may have to address
in the first few years of the new millennium.
Some of the issues will be obvious (such as what is next in user interfaces
and why is voice recognition so difficult) and some less so (for example,
how can we achieve a step increase in software productivity).
My aim is to be thought-provoking and even downright controversial.
D5 - Duploc
Matthias Rieger, University of Bern, Switzerland
Duploc is a tool to detect duplication in source code. Duploc compares
source files line by line using simple string matching and displays the
results in a two-dimensional matrix, where each dot stands for an exact
match between two lines. Thanks to image reduction techniques, Duploc can
display matrixes of arbitrary size, the only restriction being the memory
capacity. Duploc also produces textual reports about the duplication
found.
Duploc is implemented fully in VisualWorks2.5/3.0 and is distributed under
the GNU license from http://www.iam.unibe.ch/~rieger/duploc.
D11 - CodeCrawler
Michele Lanza and Stephane Ducasse, University of Bern, Switzerland
CodeCrawler is a tool for reverse engineering of (large) object oriented
systems. It combines graphs and metrics to achieve a graphical display of
source code. The generated graphs are interactive and serve as a base for
information extraction which is useful for the intuitive understanding and
the detection of problems of the displayed system.
CodeCrawler is based on MOOSE, a language-independent metamodel developed
at the university of Bern, Switzerland. It is part of the European FAMOOS
project. The display of graphs is done using the functionality's of
HotDraw, a graphical framework developed by John Brant. CodeCrawler is
written in Smalltalk using the VisualWorks 3.0 environment.
D6 - Silvermark Testing Mentor
Smalltalk provides an extremely productive development environment. Despite that it is impossible to ensure delivery of defect free code without first testing it. Unfortunately, testing manually is a painstaking, expensive and error prone process. SilverMark's Test Mentor is the only automated testing solution developed specifically for VisualAge Smalltalk and VisualWorks that automates test creation and execution at the GUI level, as well as testing at the model level. This presentation will briefly describe Test Mentor focusing on how best to apply it to the development process based on experiences deploying it on many major Smalltalk development projects.
D8 - Gemstone products
Martial Doré, Gemstone, France