StarrUML - what is it?

9 views
Skip to first unread message

Marco

unread,
Oct 8, 2006, 6:28:20 PM10/8/06
to * UML
You state that it is an "Open Source Executable UML Editor". What is
does that really mean? What is the vision for this project? Will I be
able to model a problem and execute it?

I have read your "Executable UML: How to Build Class Models" and the
Mellor-Balcer book.
I have not done any real world Executable UML work because we don't use
it at work but your book certainly has helped me with OOA.

thanks

leon....@gmail.com

unread,
Oct 8, 2006, 7:19:13 PM10/8/06
to * UML
Hi Marco -

I haven't yet had a chance to write up much detail on the "vision", but
I've been meaning to put together a master plan. * UML is an open
source project I want to invite others to participate and contribute
some of the essential components. I will try to do this soon. In the
meantime, let me answer your questions briefly.

My plan is to put together a comprehensive IDE (integrated development
environment) for the profile of Executable UML described in the
Mellor-Balcer book. A key feature of this environment will be the
ability to not only compile models, but to interact with the models in
an interpreter mode (like any other interpreted programming language).

This project is in it's early stages. I've classified it as pre-alpha
on sourceforge. While the current version should be stable, it does
NOT do anything useful yet. At present you can construct domain models
with classes, attributes, relationships, state models, states, events
and so forth. However, there is NO action language metamodel yet. I'm
working on it though, as you can see from the editor blog. Until the
action language metamodel is completed and the corresponding database
schema built and the python editor code written, it won't be possible
to RUN the models. Actually, in addition to all those components, I
will also need to finish the lex/yacc parser to read model build
scripts. So there's a bit of work yet to be done. But I'm really
enjoying the development process and plan to post updates as they
become available. Realistically, to answer your last question, I don't
expect to see anything all that useful for at least another year.
(Like most open source developers, I have to mix all this activity in
with modeling activities for my corporate clients so that I can pay the
bills!)

I want all of the core build and execute features to be free so that
anyone can play with the technology. This means both people that want
to build models and, hopefully, people that want to contribute model
compilers, advanced editors, modeled domains, and other components. I
don't expect that these other components will necessarily be free. I
encourage a mix of free and purchasable components.

Hope that answers your questions - if not feel free to post again!

- Leon

Marco

unread,
Oct 9, 2006, 9:00:52 AM10/9/06
to * UML

leon....@gmail.com wrote:
> Hi Marco -

> .
>
> My plan is to put together a comprehensive IDE (integrated development
> environment) for the profile of Executable UML described in the
> Mellor-Balcer book. A key feature of this environment will be the
> ability to not only compile models, but to interact with the models in
> an interpreter mode (like any other interpreted programming language).

Maybe you could consider creating an Eclipse plug-in to get the IDE
stuff.
I think Eclipse has added or will soon be adding the basic UML
diagramming to the open-source part. I'm not sure how easy it is to
use Python in this environment, maybe Jython.

>
> However, there is NO action language metamodel yet. I'm
> working on it though, as you can see from the editor blog. Until the
> action language metamodel is completed and the corresponding database
> schema built and the python editor code written, it won't be possible
> to RUN the models.

Isn't the Kennedy-Carter action language publicly available? Would
it be easier to start with that? I'm an action language neophyte so
forgive me if I'm lost here.

>Actually, in addition to all those components, I
> will also need to finish the lex/yacc parser to read model build
> scripts.

I'm not sure what a "model build script" is, as I was reading the
blog I thought the parser was for the action language.

leon....@gmail.com

unread,
Oct 9, 2006, 11:02:25 AM10/9/06
to * UML

On Oct 9, 6:00 am, "Marco" <prenom_no...@yahoo.com> wrote:


> leon.st...@gmail.com wrote:
> > Hi Marco -
> > .
>
> > My plan is to put together a comprehensive IDE (integrated development
> > environment) for the profile of Executable UML described in the
> > Mellor-Balcer book. A key feature of this environment will be the
> > ability to not only compile models, but to interact with the models in
> > an interpreter mode (like any other interpreted programming language). Maybe you could consider creating an Eclipse plug-in to get the IDE
> stuff.
> I think Eclipse has added or will soon be adding the basic UML
> diagramming to the open-source part. I'm not sure how easy it is to
> use Python in this environment, maybe Jython.

Yes, I think eclipse integration is a good idea. Once the full command
interpreter is up and running that would be a reasonable next step. I
wrote most of the python code with pydev in eclipse. I eventually
switched to the Wing IDE, though, to take advantage of its superior
features. Unfortunately, the eclipse python capabilities, particularly
debugging, are a bit limited once your code gets past a certain size.


>
>
>
> > However, there is NO action language metamodel yet. I'm
> > working on it though, as you can see from the editor blog. Until the
> > action language metamodel is completed and the corresponding database
> > schema built and the python editor code written, it won't be possible
> > to RUN the models. Isn't the Kennedy-Carter action language publicly available? Would
> it be easier to start with that? I'm an action language neophyte so
> forgive me if I'm lost here.

I don't want to replicate either the Kennedy-Carter or the Bridgepoint
style of action language. Having written tons of action language I can
tell you I'm really sick of that verbose, awkward SQLish style. One of
my motivations for building * UML is to get away from that. Those
action languages long ago branched away from the
parallel-process/dataflow model that was originally intended for
Executable UML. In contrast, the SMALL model (paper referenced in the
blog) is much better suited to the true intentions of Executable UML,
it will be much more powerful, easier to write and it has natural
support for parallelism.

I've been waiting for someone to implement SMALL since the paper was
originally written. (Someone built a parser once, but a parser is just
a tiny piece of the puzzle). I'm TIRED of waiting!!! So there's your
answer to that!

leon....@gmail.com

unread,
Oct 9, 2006, 11:14:09 AM10/9/06
to * UML
Sorry, just realized that I missed a question!

> >Actually, in addition to all those components, I
> > will also need to finish the lex/yacc parser to read model build
> > scripts. I'm not sure what a "model build script" is, as I was reading the
> blog I thought the parser was for the action language.

Currently you have to type commands interactively to perform all edits
in the * UML Editor. The interactive feature is nice for experimenting
or making a bunch of quick edits. But to build anything large, you
would want to either A) Use a full graphical editor or B) Write a
script/program. I plan to provide choice B first since it is easier
and, in many ways, more powerful. A model script would allow you to
specify all of your model elements, domains, classes, attributes,
relationships, statecharts, and, yes, action language, in one or more
text files. The editor could just read these and build your model,
generating any errors or warnings as it performs the build.

One of the reasons that I am focusing on a text-only interface to the
model editor is to leave open the possibility for many different GUI's
to be built on top of the core editor. That's another key reason I am
building * UML. I want to fully separate the editor from the GUI. I
really HATE all of the model building GUI's out there. Every single
one of them is horrible when held up to the standards of most existing
text-oriented IDE's. It's just ridiculous the number of edit steps a
model developer is subjected to for what should be simple tasks. My
main concern is to greatly increase the SPEED of editing.

lwri...@frogooa.com

unread,
Oct 10, 2006, 12:34:00 PM10/10/06
to * UML
leon....@gmail.com wrote:
> My main concern is to greatly increase the SPEED of editing.

Which would be a good reason to avoid Eclipse integration. ;-)

Reply all
Reply to author
Forward
0 new messages