Open source/Commercial Modeling/Diagramming tools for smalltalk

Alejandro F. Reimondo aleReimondo at sugarweb.com
Wed Jan 13 22:09:13 UTC 1999


Stefan said,
>Then the text file was then processed by a WinBasic program
>(I needed some easy to use OLE-automation capable
> programming language and this was what I already had installed
> on my PC) and UML class diagrams were created using
>the OLE-automation feature of Rational Rose 98 (actually the
> 15 days trial version ;-)
As an OLEAutomation capable language you can use VisualSmalltalk v3.12
In Visual Smalltalk you can use any OleAutomation server, but need programming...

In VSE with my SUGAR's Miniature for OleAutomation you can activate
 an OleAutomation server interactivelly (the Smalltalk supporting class
 is built from server's implementation) and inspect it to know what
 messages you cand send to it.
When you send a message to any wrapped OAserver object, a method
 will be generated. If the server returns any other OLE object a wrapper
 class for it is built interactivelly... and can be inspected to build
 needed methods... (using #doesNotUnderstand: mechanism)

I recomend the use of my miniature because you must not know how
 to handle OLE objects and you program them as pure Smalltalk objects!

You can download OleAutomation miniature from SUGAR's miniatures
 page at http://www.sugarWeb.com/Miniatures/downloads.html
 or http://www.sugarWeb.com/Miniatures/MiniaturesE.htm
 the main page is at http://www.sugarWeb.com

Ale.


----------
De:     	Stefan Matthias Aust[SMTP:sma at kiel.netsurf.de]
Enviado: 	Miércoles 13 de Enero de 1999 16:18
Para:   	squeak at cs.uiuc.edu
Asunto:     	Re: Open source/Commercial Modeling/Diagramming tools for  smalltalk

>ADvance is a round-trip engineering tool.  Although it can generate code,
>its real strength is that you can develop your software in Smalltalk as
>usual and it will generate nice diagrams for you.  I think it is only
>for VisualWorks, and it is certainly not free.  It is from IC&C GmbH
>at http://www.io.com/~icc/

Unfortunately, Raph is right here.  ADvance is available for VisualWorks
2.5.x and 3.0 only and it is a commercial product.  Even if you'd get your
hands on the source somehow (the new version 2.1 comes with full and
unprotected source now), it's probably difficult (although not complex) to
port to Squeak.  Anybody working on a VW compatibility layer right now? :-)

I don't know other diagram tools written in Smalltalk (Squeak).  So perhaps
the best solution is to create such a tool ourself.  Being the current
maintainer and developer of ADvance, I might be able to help here, however
my time probably doesn't allow me to do this myself.

The other solution I can only sketch here (as it's also a property of IC&C)
is one I used once for documenting an fairly big and old VW image. I called
this the RoseWink project (the Rational Rose through Winword link :-).

I wrote a simple class which were able to dump all class definitions into a
text file similar to this one:

C Person Object 
A name
A age
O name:
O name
O isFriendOf: anotherPerson
Z
C Friend Person
....

Optionally, the Attribute line "A" could contain a simple type expression
in < >. Also optionally, the Operation line "O" could contain a return
type, again in < >.  Parameter types weren't supported.

Then the text file was then processed by a WinBasic program (I needed some
easy to use OLE-automation capable programming language and this was what I
already had installed on my PC) and UML class diagrams were created using
the OLE-automation feature of Rational Rose 98 (actually the 15 days trial
version ;-)

The program first created a new empty diagram.  Then it created for each C
line a new class model in that diagram.  Attributes and operations where
added.  When an attribute beared a type expression which was a class type
or which where prefixed by "Collection of:" or "Dictionary of:", that
information was stored in a Basic array.

After processing all classes, the array was inspected and relation models
were created for each attribute referring another class of the diagram.
For collection types, the multiplicity was set to "*", otherwise the
multipliticy was "0..1".

Shouldn't be more than two or three hours of work, once you have understood
the mostly undocumented OLE capabilities of Rose.


bye
--
Stefan Matthias Aust  //  Are you ready to discover the twilight zone?





More information about the Squeak-dev mailing list