www.bsug.org

BSUG Meeting

January 27, 2000

 
Topic: Development Tools I
Organization: Belgian Smalltalk User Group
Location: Vrije Universiteit Brussel
Lokaal G022 (Building G, esplanade level)
Pleinlaan 2
1050 Brussel
The BSUG welcomes you to the first BSUG meeting of the year 2000.

The topic of the meeting is development tools, with a strong emphasis on the practical use of the tools in daily development activities. We believe that the tools presented are very useful and should be part of each developer's tool set. All the tools originated in research laboratories at universities, but they have proven their value in industrial projects. Besides Roel Wuyts and Koen De Hondt, we have invited Michele Lanza from the Software Composition Group at the  University of Bern in Switzerland.

Besides this technical content, part of the afternoon is dedicated to other topics.
First, Helge Nowak will present Cincom's plans with VisualWorks, so that the Belgian VisualWorks users will know what to expect in the future.
Second, the BSUG seizes the opportunity to organize the first General Assembly since its foundation as official non-profit organization last year. The board will give an overview of the BSUG's activities during the past year, present a financial report, and unfold its plans for the year to come.

We hope that the programme of the meeting is to your liking and hope to see you at the end of January.

Programme
Development Tools I
13:00 Welcome
13:15 Finding and Enforcing Structure in Smalltalk Programs
Roel Wuyts, Programming Technology Lab, VUB
14:15 CodeCrawler - A Hybrid Reverse Engineering Platform
Michele Lanza, Software Composition Group, University of Bern, Switzerland
15:00 Coffee
15:15 The Classification Browser
Koen De Hondt, MediaGeniX
16:30 Coffee
16:45 VisualWorks PlugIn and VisualWave - going "e" with Cincom Smalltalk
Helge Nowak, International Consultant, Cincom
17:30 BSUG General Assembly
  • Smalltalk 2000 speech by the BSUG chairman
    and official announcement of new logo
    David Grietens
  • Financial report of the BSUG for the period 1998 - 2000
    and budget of the BSUG for 2000
    Cement Noé
  • Election of the members of the board
    David Grietens and Koen De Hondt
18:00 Closing

Finding and Enforcing Structure in Smalltalk Programs

Roel Wuyts, Programming Technology Lab, VUB

Abstract

The goal if this talk is to present some tools that we have implemented using SOUL (Smalltalk Open Unification Language), a Logic Meta Programming Language written in, and in tight symbiosis with, Smalltalk. We have used it to describe high-level views on top of Smalltalk code, such as UML, design patterns and programming conventions. SOUL allows to look in a Smalltalk image for occurrences of such patterns, and can thus be seen as an engine to calculate views from Smalltalk source code.

First of all we will introduce the Structural Finder, an operating system like find tool that allows users to easily find complicated structures in source code. For example, by making selections from some drop-down boxes we can look for all classes understanding a certain selector, with an instance variable of type Set and implementing at least one method that does a super send.

Next we want to introduce the tools that allow to enforce design structures on the implementation. For example, we can express and enforce programming conventions. When the user is implementing a method and accepts it, this will be checked and a warning will be generated if any enforced structure is violated. Important to note is that these tools do not change any system methods and are situated at the meta-level. As a result, no special browsers are necessary !

The structure of this talk will be straightforward: we will shortly introduce SOUL and what we have expressed with it (about 10 minutes), then we will introduce the Structural Finder (about 15 minutes) and we conclude with the enforcement tool (25 minutes). The remainder of the talk is available for answering questions

For more information about SOUL, you can visit http://prog.vub.ac.be:8080/SOUL. You can also visit my home pages at http://prog.vub.ac.be/~rwuyts to see more information or download research papers describing some experiments with SOUL or its predecessors. And last but not least you can send me e-mail at the following address: rwuyts@vub.ac.be.

CodeCrawler - A Hybrid Reverse Engineering Platform

Michele Lanza, Software Composition Group, University of Bern, Switzerland

Abstract

The steady rise of complexity in current object oriented applications is putting a heavy strain on developers. Not only are they confronted with domain-specific problems, it's the sheer amount of information they must cope with, which makes program understanding a difficult yet very necessary topic: you can't change and ameliorate a subject system without a deep and thorough knowledge of the inner logic of a system. This step of gaining knowledge about the system has been termed "reverse engineering".

Often the only tangible part of a system is the source code itself and perhaps a documentation of some sort. Yet this is seldom enough to gain a quick and correct overview of a system.

There are ways to cope with the problems mentioned above. Two of the most promising are metrics and visualisation. Metrics can help us to assess the quality and size of a system, while visualisation can give us new views on the system.

In my talk I will present a combination of those two aspects: the scalability of metrics and the intuitivity of visualisation have been integrated in CodeCrawler, a language-independent reverse engineering tool written in Smalltalk.

CodeCrawler can display object oriented entities and their relationships in a display which can be interactively manipulated. The displayed graphs help developers to gain insights and new views on software systems.

With the combination of metrics, visualisation and interaction CodeCrawler has two main targets: software understanding and problem detection.

The talk will focus on the simplicity of the approach and includes also an online demo.

The CodeCrawler home page is http://www.iam.unibe.ch/~lanza/codecrawler/codecrawler.html.

The Classification Browser

Koen De Hondt, MediaGeniX

Abstract

The Smalltalk browsers in use today are roughly the same as the browsers that came with the introduction of Smalltalk some 20 years ago. Those browsers are not geared towards today's software development needs. They lack basic support for framework development because they are too class-centered; they have limited support to organize classes, so that multiple views on software are impossible; they do not provide support to solve the lost-in-hyperspace phenomenon when browsing large amounts of source code; they do not support the management of changes, an important issue in software development today; and finally current browsers are not designed as frameworks, which makes it very difficult to extend or adapt them.

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 supports the refactorings provided by the Refactoring Browser, it can be used for reverse engineering; and it is able to produce UML diagrams. Very important in the design of the Classification Browser is that it is a framework. The browser is composed of browser components that fit in the framework. Each component is a page in one of the notebooks of the browser. As a result, it is easy to add extra functionality to the Classification Browser. In its current form, the Classification Browser includes Duploc, Smalllint, and classifications based on SOUL (see the Smalltalk archives for these tools).

The current version of the Classification Browser is an enhanced version of the one presented and demonstrated at the ESUG'99 User's Conference. It will be made public at the end of January. You can have a sneak preview on the Software Classification Pages: http://www.classification.yucom.be.

Cincom Smalltalk (tm) Strategy

Helge Nowak, International Consultant, Cincom

Abstract

No abstract received.

New Year Speech by the Chairman of the BSUG

Read the new year's speech of the BSUG chairman, David Grietens.

Registrations
Entrance is free.

Please confirm your attendance by e-mail (meeting@bsug.org), fax (016/35.38.93) or by surface mail (BSUG vzw, Heesterbos 11, 2570 Duffel).

Driving Instructions
Detailed driving instructions and maps can be found on the web site of the VUB (in Dutch):

http://ader.vub.ac.be/info/bereik/wegett.html.

 

Maintained by the BSUG web master.
© 1998-2002 BSUG vzw.