[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Commercial backing? No way!

Marcel wrote:

> Does anyone agree?
>    Marcel

Marcel, I agree. 

Somehow, we should try to win people's interest in this technology. We are
trying to do this all these years without success. We are doing something

Fortunately, we are not commercial people otherwise we would have stopped
using this technology many years ago. Hmmm, it seems that commercial and
success go hand-in-hand and the superiority of technology is another story.

I think there is a market!

This is how I think about this.

I have learned that if you go with the flow of success of other products you
can profit from it, even if the technology is not superior.  If your product
contributes in *improving* this technology then people will choose to use
your product. 

For example:
Microsoft Windows has success and commercial backing whether we like it or
not. Well, most people like it and buy Windows products, including me.
Companies that build applications based on Windows profit from its success
and commercial backing. Companies who build applications for Linux will have
no success and no commercial backing. Even by making software free doesn't
guarantee success. Those who are anti-Windows will eventually shoot in their
own foot.

This is similar with the UML. It looks like that the UML may become
successful and has commercial backing. It is successful because many people
follow the developments with much interest. Look in the bookstore how many
books are available about the UML. Being anti-UML will not gain sympathy
(watch out for your foot). 

Currently, I am doing research in developing an UML extension that is based
on CSP. It is nice to see that CSP improves the concurrency model of the
UML. Furthermore, I am developing a new UML diagram ... I call it the CSP
diagram. It is a graphical language that is data-flow oriented,
object-oriented, process-oriented, compositional-oriented and UMLable. It's
metamodel is a set of (UML) classes known as CTJ/JCSP. The CSP diagram
notations could be created as an add-on to exciting UML tools. 

The CSP diagram does not replace any other UML diagram, but should be seen
as a companion to all other UML diagrams. The CSP diagram can only model a
small part of the entire software - its concurrency and real-time aspects. 
In the UML, people are free to choose the type of diagrams that is best
useful for their application. For example, for creating real-time software I
would start with creating CSP diagrams. I would skip creating use case
diagrams and the CSP diagram guides me to refine the design using activity
diagrams and concurrent statecharts properly. Creating concurrent software
with CSP diagrams in the UML has become much more fun than using its
original model. It's like writing occam or CSP programs in a graphical
language. We can even do deadlock checking or detecting priority inversion
problems in our designs. 
For creating database applications I may start with class diagrams
(entity-relation diagrams) and end up with a CSP diagram or no CSP diagram
at all.

I think, the UML opens a market and we should step in. This is one thread to
go, but we need commercial backing :(.

CSP as part of a Unified Modeling Language would be a great solution, or
not? We all would speak a common language.

Tony Hoare and He Jifeng wrote a book that is called "Unified Theories of
Programming" (Prentice Hall, 1998, ISBN 0-13-458761-8). Why this title? 

Chapter 0 "The Challenge of Unification" explains why.

One phrase (page 1): "The drive towards unification of theories that has
been so successful in science has achieved equal success in revealing the
clear structure of modern mathematics". 

Hmmm, interesting....



<<attachment: winmail.dat>>