Eighth ESUG Smalltalk Summer School
August 28th - September 1st
Southampton, UK
8.45 |
Welcome introduction |
9.00 - 10.00 |
When Smalltalk meets the Web (presentation) |
10.00 - 10.30 |
Coffee break |
10.30 - 12.30 |
Advanced eXtreme Programming testing techniques in
Smalltalk (presentation) |
12.30 - 14.00 |
Lunch |
14.00 - 16.00 |
Smalltalk and Corporate Cultures (presentation) |
16.30 - 16.30 |
Coffee break |
16.30 - 17.30 |
Building run-time analysis tools by means of pluggable
interpreters (presentation) |
17.30 - 18.30 |
9.00 - 10.00 |
Making of the virtual domino animations (presentation) |
10.00 - 10.30 |
Coffee break |
10.30 - 12.30 |
Aida WebServer (presentation) |
12.30 - 14.00 |
Lunch |
14.00 - 16:00 |
Parcels: a Fast and Flexible Component
Architecture |
16.00 - 16.30 |
Coffee break |
16.30 - 17.30 |
Internet application development using a
meta-repository (presentation) |
17.30 - 18.30 |
9.00 - 10.00 |
Coast (presentation) |
10.00 - 10.30 |
Coffee break |
10.30 - 11.30 |
Smalltalk-2000: SmallScript and Microsoft's ".NET"
Platform |
11.30 - 12.30 |
General Assembly |
12.30 |
Lunch |
9.00 - 10.00 |
OpenSpace: a Frameworks for Heterogenous Tuple
Space (presentation) |
10.00 - 10.30 |
Coffee break |
10.30 - 12.30 |
SToRE |
12.30 - 14.00 |
Lunch |
14.00 - 15.00 |
Stable Squeak World Tour (presentation) |
15.00 - 16.00 |
SOUL (Smalltalk Open Unification Language) |
16.00 - 16.30 |
Coffee break |
16.30 - 17.30 |
|
17.30 - 18.30 |
9:00 - 10.00 |
Configuration management alternatives for
VisualWorks |
10.00 - 10.30 |
Coffee break |
10.30 - 12:30 |
Model View Presenter; Twisting the triad(presentation) |
12.30 |
Lunch |
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.
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