Fourth ESUG Smalltalk Summer School
August 26 - August 30
Lausanne, Switzerland
Day |
Time |
Number |
Title |
Monday |
9.30-11.00 |
Tutorial 1 |
Meta-level programming in Smalltalk (part 1) Joseph Pelrine |
11.30-13.00 |
Tutorial 1 |
(part 2) |
|
11.00-11.30 |
Coffee break |
||
14.00-15.30 |
Workshop 1 |
Annick Fron |
|
15.30-16.00 |
Coffee break |
||
16.00-17.00 |
Demonstration 1 |
VASER, a development framework for business applications in VisualAge Thomas Stalzer |
|
17.15-18.15 |
Demonstration 2 |
How to build fault tolerant distributed applications using Smalltalk replicated objects? Karim Mazouni |
|
Tuesday |
9.00-10.30 |
Tutorial 2 |
Alan Knight |
10.30-11.00 |
Coffee break |
||
11.00-12.30 |
Tutorial 2 |
Exercises |
|
14.00-15.30 |
Tutorial 3 |
Building CORBA 2.0 distributed applications using HP-DST 5.0 Karim Mazouni |
|
15.30-16.00 |
Coffee break |
||
16.00-18.00 |
Tutorial 3 |
Exercises |
|
Wednesday |
9.00-10.30 |
Tutorial 4 |
VisualWorks and Windows95/WindowsNT compliancy Rob Vens |
10.30-11.00 |
Coffee break |
||
11.00-12.30 |
Panel 1 |
Define, improve, measure ... quality of a Smalltalk system David Grietens (chairman) |
|
Thursday |
9.00-10.30 |
Tutorial 5 |
Constraint Satisfaction in Smalltalk Pierre Roy & Francois Pachet |
10.30-11.00 |
Coffee break |
||
11.00-12.30 |
Tutorial 5 |
Exercises |
|
14.00-16.00 |
Tutorial 6 |
Spying messages in Smalltalk objects Ernest Micklei |
|
16.00-16.30 |
Tutorial 6 |
Exercises |
|
18.15-19.00 |
Attendees demonstrations |
||
Friday |
9.00-10.30 |
Tutorial 7 |
Custom-made User Interface Components in VisualWorks Koen de Hondt |
10.30-11.00 |
Coffee break |
||
11.00-12.30 |
Tutorial 7 |
Exercises |
|
14.00-15.30 |
Demonstration 3 |
Jurgen Franken & Carsten Haerle |
|
15.30-16.00 |
Coffee break |
||
16.00-17.00 |
General discussion and closing |
Tutorials
T1 : Meta-level programming techniques in Smalltalk
Joseph Pelrine, Object Solutions, Basel, Switzerland
Smalltalk is one of the few commercially used programming environments that permits fundamental extensions to be made to the system itself. This tutorial will examine the meta-level facilities available in Smalltalk, and show how they may be used to solve problems which would otherwise be difficult to address.
Possible applications include building type-safe objects to interface with databases, distributed objects, metric gathering and code-checking software, and automated code generation tools. The examples discussed are implementable in ParcPlace, Digitalk, and IBM Smalltalk.
Outline:
T2: Secrets of the Envy Masters
Alan Knight, The Object People, Ottawa, Canada
Envy is a very powerful tool, but one which can easily be misused. As a (mostly) open system, it can support a lot of additional functionality, but the obscurity and lack of documentation of the internals makes this difficult for the uninformed user. It can also be a rigid and imperfect system, making workarounds necessary. Participants should have used Envy, and should be familiar with basic concepts such as versions, editions, configuration maps, and releasing.
Outline:
Goal to achieve
Achieve a greater understanding of the way Envy works, its proper use and its limitations. Understand how to work around some of the limitations, the benefits and limitations of various approaches.
T3: Building CORBA 2.0 distributed applications using HP-DST 5.0
Karim Mazouni, EPFL, Lausanne, Switzerland
This tutorial includes an overview of CORBA 2.0 and a step by step method to build a distributed application using HP Distributed Smalltalk 5.0. The latter is a product from Hewlett-Packard, which implements the CORBA 2.0 specification in Smalltalk, using ParcPlace Visualworks 2.0.
CORBA 2.0 is the latest version of the OMG's specification for distributed object interactions. Several commercial products propose implementations of the CORBA specification using widely used object oriented programming languages (e.g. Smalltalk, C\\\\\+\+) and even newcomers (e.g. Java).
Outline:
Goal:
The tutorial should provide sufficient material to experienced Smalltalk programmers, in order to make them able to program their first CORBA 2.0 distributed application.
T4: Spying messages to Smalltalk Objects
Ernest Micklei, ELC Object Technology, The Netherlands
Spy objects (spies) have been introduced by Francois Pachet on the Summer School 1994 in Cork, Ireland. Spies are objects that can observe message sends in a transparent (to source code) way. Fascinated by its power, I tried out new concepts to overcome existing problems and to further explore the abilities of a reflexive language such as Smalltalk. Things like tracing tools, message chain diagrams and even Jacobson interaction diagrams, can now easily be produced using spies.
Outline:
This tutorial starts by introducing the notion of epiphyte systems and why we like to have spying objects. Next, some (3) approaches for implementing spies are presented along with their abilities and restrictions. Then, the design and implementation of a framework for handling messages is presented and finally some applications that make use of this framework.
Goal to achieve:
T5: Constraint Satisfaction in Smalltalk
Francois Pachet & Pierre Roys, Universite of Paris-6, France
Combinatorial optimization is a powerful paradigm to solve large and complex problems. It has a wide range of applications in all kinds of fields such as: planning, scheduling, resource sharing, in a wide range of areas (transportation, production, mass marketing, network optimization, human resources management). This tutorial aims at introducing the area of combinatorial techniques and their use in conjunction with Smalltalk.
Outline:
This tutorial introduces the area of finite domain constraint satisfaction programming (CSP) and its integration with Smalltalk. In a first part the main principles of CSP are presented, through the use of simple examples (algorithms for arc-consistency and enumeration). In the second part, we show how object structures may be used in conjunction with CSP, and what kind of problems this combination of techniques allows to solve naturally. The BackTalk system (a canonical integration of CSP techniques in Smalltalk) will be used as an exemplar system throughout the tutorial, with examples such as nurse scheduling and other typical constraint problems.
Goal to achieve:
Participants should have a general familiarity with Smalltalk. The goal is to make this audience familiar with the main constraint satisfaction techniques, through hands on experiment with the BackTalk system. They should then be able to assess the usability of existing constraint solvers for use in conjunction with object oriented languages.
T6: VisualWorks and Windows95/WinNT compliance
Rob Vens, Sepher Software, The Netherlands
Outline:
Goals to achieve:
Participants should feel more confident in using the VisualWorks Smalltalk environment on the Microsoft platforms, and feel better able to achieve compliance to the Windows95 platform guidelines.
From this tutorial you can download the presentation, and a zip file containing the source code for the DLL's and VisualWorks from Sepher's site.
T7: ApplFLab: Custom-made User Interface Components in VisualWorks
Koen De Hondt and Roel Wuyts, Vrije Universiteit Brussel, Belgium
The means to reuse subapplications in VisualWorks are largely insufficient. While reuse of custom-made user interface components is very important, their creation is extremely difficult, because the subject is badly documented in manuals and other publications.
Outline:
The important classes of the application builder framework are explained in detail. After a step-by-step illustration of how to build new components and how to specialize standard components, with mention of possible pitfalls, ApplFLab is introduced as a set of tools that support the creation/specialization of components, together with their property tools, aspect editors and palettes.
Goal to achieve:
The tutorial gives a thorough understanding of the internal workings of VisualWorks components and the application builder framework. It stresses the importance of the role of custom-made components to achieve reuse and introduces ApplFLab (Application Framework Laboratory) to make clear that tool support is needed to guide the component developer through the component building phases.
W1: Specifying and building with frameworks
Alan Wills, Icon Computing Europe Ltd, UK
The development process from analysis through to design and coding can be much improved by using reusable components. The most useful components are not individual classes, but frameworks \--- which focus on the relationships and interactions between objects.
This workshop will look at some of the issues in building abstract models and designs with frameworks, and using precise specifications in frameworks.
Format:
Structure: Introduction; exercises; discussion.
Some lecturing, but mostly workshop format.
Participants will be taken through several exercises building and composing frameworks. Any program code examples will be written in Smalltalk.
Participants:
Experience of OOP will be necessary.
OMT class diagram notation will be used, but only very briefly explained.
Some idea of what a postcondition is would be useful.
W2: Design Fest (workshop on design - Design with OMT)
Annick Fron, AFC Europe, France
Object programming gives more alternatives to design a project, and develops some typical skills when structuring information and software architecture. Some (2) small interesting examples will be given to the participants to challenge their experience and knowledge when analyzing and designing a project.
Each working group should deliver an OMT static model, and discuss use of dynamic models and use cases. In case of success for the workshop, these experiments could be published in a collective paper.
Panel: Define/improve/measure/.. quality of an object oriented (Smalltalk) system
Chairman: David Grietens, hIghQ bvba, Belgium
Experience reports or short presentations
VASER: an development framework for business applications in VisualAge
Thomas Stalzer, Germany
PERSIST: an object oriented database engine for Smalltalk
Juergen N. Franken, Lambda Solution, Germany
How to build fault tolerant distributed applications using Smalltalk replicated objects?
Karim Mazouni, EPFL, Switzerland