Search the web
Sign In
New User? Sign Up
executableuml
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Want to share photos of your group with the world? Add a group photo to Flickr.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
Determinism/Non-Determinism   Message List  
Reply | Forward Message #1042 of 1103 |
Re: Determinism/Non-Determinism

My quick stab at the question inserted below.  I am hoping your question provokes some further discussion.

--- In executableuml@yahoogroups.com, "Ashley McNeile" <ashley.mcneile@...> wrote:
>
> Hi All
>
> Some time ago, I posted a question (message 704) to this list about
> Determinism/Non-Determinism in Executable UML, which Marc was kind
> enough to answer (message 705). In my question I described a very
> simple model and asked whether its behaviour was deterministic.
> Marc's answer was that it was not.

I think the confusion may center around the precise subject to which the term "deterministic" applies.  Executable UML state models are deterministic.  An instance in a state has only one place to go for any arriving event.  But I don't think that's what you are talking about.

As we increase the scope the story changes.

>
> I was puzzled, therefore, to see that the Wikipedia entry for
> Executable UML (http://en.wikipedia.org/wiki/Executable_UML) says in
> its introduction that "Executable UML graphically specifies a
> deterministic system using a profile of the UML". This does not seem
> to agree with the conclusion above.

So now we are talking about a system.  That's kind of a loose term, so let's set the scope to a populated Executable UML domain.  This applies to the example in messages 704 and 705.  Marc's answer in 705 is correct.  Since we don't know the timing characteristics of the platform, we can't guarantee that a posted signal was acted upon by the receiver before the query is applied.  But does that make the domain non-deterministic?  Marc says "yes".  But maybe that misses the point, given this latest question.

If I were building a system and I wanted to know whether or not the receiver had processed my signal before moving on, it would be easy to do using deterministic state machines.  The sender would either advance to a waiting state, or stay in the current state until a "Got it" event occurs.  The receiver would process the original request as time permits and, upon completion, post the corresponding "Got it" signal.  Upon seeing the "Got it" event, the sender would know, definitively, that the request had been processed.  (There are other techniques, but the point is that there is an explicit interlock with resulting determinism with respect to the model execution rules).

So explicit synchronization, guranteed to work on any arbitrarily distributed platform, is possible.   The challenge of the modeler is to decide when synchronization is and isn't necessary.  Sometimes you don't care when a requested action completes and sometimes you must somehow block until it does.
>
> My understanding is that Executable UML models are, in general, non-
> deterministic. However, there are probably rules that can be appplied
> to the formation of a model that guarantee that it is deterministic.

Maybe another way to put it is to say that synchronization is never implicit.  By default each object does its own thing in parallel unless explicitly sequenced internally or synchronized with some other object or external entity.  A really cool thing not advertised enough about Executable UML!  Every time I see some article on Slashdot about how we need some kind of language for specifying parallel behavior to support multi-core environments my head explodes.

> As far as I know, these rules have never been articulated.

Funny you mention this as I have been working on an article the last couple of weeks on this exact topic.  I hope to publish it as a Google Knol (knol.google.com, search on Leon Starr).  It will have many colorful illustrations and animations.  The current working title is "Timing and Synchronization Rules in Executable UML".
>
> Is the Wikipedia entry assuming the existence of such rules? If so,
> have they been articulated anywhere?
>
> Or is the Wikipedia entry wrong?

I don't think it is wrong, but the statement is not terribly informative. It probably needs to be elaborated on a bit.  Hopefully the ensuing discussion here will give us the pieces we need to get it done.  I would be happy to post the results once we arrive on a consensus.  In fact, I was SHOCKED to see the that there was a Wickipedia entry on Executable UML.  Thanks for bringing it to my attention.

- Leon
>
> Thanks
> Ashley
>


Sun Oct 5, 2008 3:44 am

model_integr...
Offline Offline
Send Email Send Email

Forward
Message #1042 of 1103 |
Expand Messages Author Sort by Date

Hi All Some time ago, I posted a question (message 704) to this list about Determinism/Non-Determinism in Executable UML, which Marc was kind enough to answer...
Ashley McNeile
keplervic
Offline Send Email
Oct 4, 2008
7:26 pm

My quick stab at the question inserted below. I am hoping your question provokes some further discussion. ... I think the confusion may center around the...
Leon Starr
model_integr...
Offline Send Email
Oct 5, 2008
3:44 am

The problem posed in question 704 <http://tech.groups.yahoo.com/group/executableuml/message/704> was Suppose you have a PIM expressed in Executable UML...
mjbalcer
Offline Send Email
Oct 5, 2008
8:33 pm

Hi Marc ... written, all 'send signal' actions occur at the end of the procedure's execution." You seem to be suggesting that the semantics of the Executable...
Ashley at Metamaxim
keplervic
Offline Send Email
Oct 6, 2008
7:25 am

If by "suppose we made a rule", one means "suppose the modelers and architects on a given project together agree to make a rule for that project that said...",...
Hagstrom, Erick G.
eghagstrom
Offline Send Email
Oct 6, 2008
3:30 pm

... I actually put that wording into the Wikipedia entry. I'm not sure what prompted me to use "deterministic system" vs "system", but the Wikipedia...
Lee Riemenschneider
lwriemen
Offline Send Email
Oct 7, 2008
3:18 pm

Hi Lee ... This is not true if the two objects are on different computers, and the signal and query mechanisms are implemented using different communication...
Ashley at Metamaxim
keplervic
Offline Send Email
Oct 7, 2008
5:35 pm

... What I meant was, if you use an architecture that ensures a strictly synchronous signaling mechanism on a single-threaded system (no side effects), then...
Lee Riemenschneider
lwriemen
Offline Send Email
Oct 8, 2008
4:21 pm

Hi Lee ... Exactly. And if this is possible, the Wikipedia entry is wrong (or at least misleading). I would suggest that it be changed, to avoid trouble from...
Ashley at Metamaxim
keplervic
Offline Send Email
Oct 8, 2008
5:38 pm

Hi All Just to make my own point of view clear, and lest my position be seen as gratuitous pedantry: There are some languages that deal with concurrency but do...
Ashley at Metamaxim
keplervic
Offline Send Email
Oct 9, 2008
7:11 am

On Thu, Oct 9, 2008 at 12:11 AM, Ashley at Metamaxim ... I would agree that it is misleading, perhaps even fundamentally so. Properly understood, any...
Caitlin Bestler
caitlinbestler
Offline Send Email
Oct 9, 2008
8:44 pm

Hi All I see that the Wikipedia entry has been changed. Thanks. Actually, the same text appears in the entry for MDA (...
Ashley at Metamaxim
keplervic
Offline Send Email
Oct 10, 2008
9:00 am

Hmmm... Somebody copied where a link would have sufficed. This is the actual problem that should be corrected. I posted as much to the discussion section of...
Lee Riemenschneider
lwriemen
Offline Send Email
Oct 10, 2008
12:47 pm

Someone's not clear on what's in which Domain. J From: executableuml@yahoogroups.com [mailto:executableuml@yahoogroups.com] On Behalf Of Lee Riemenschneider ...
Hagstrom, Erick G.
eghagstrom
Offline Send Email
Oct 10, 2008
5:44 pm

... If ExecutableUML were truly deterministic it would no longer be useful for interacting with a physical world that was not in fact deterministic. I would...
Caitlin Bestler
caitlinbestler
Offline Send Email
Oct 8, 2008
11:52 pm
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help