Talk:Executable UML

message: The statement that Executable UML creates deterministic models is at odds with the following correspondence between Marc Balcer and me:
My Question:
Suppose you have a PIM expressed in Executable UML comprising two objects, A and B.
Suppose A sends a signal X to B, and then (as the next action) executes a synchronous query Q on B which returns true if B has received X, and false if B has not received X.
Which of the following is the case:
1. In any execution, Q will always return true.
2. In any execution, Q will always return false.
3. Whether Q returns true of false is not determined in the PIM.    Potentially, either could happen.
I think the answer is 3, but would like to confirm this understanding.
Marc Balcer's Answer:
You are correct.
A sender's sending of a signal, and a recipient's receipt of that signal as an event are separate.  Executable UML only requires that when the sender sends a signal that it be immediately posted to the receiving state machine.  But just because the recipient receives the event does not mean that the recipient must act on it (do a transition and execute a state procedure) right away.
In fact, different architectures will produce different results--and it is up to the modeler to make sure that the models provide the desired behavior regardless of the architecture.  We can see these differences by contrasting a queueless and a queued architecture. 
In a queueless architecture, a send-signal action is realized as a direct call to the destination object's state machine.  This would produce a result in which the destination object's state procedure is completed before the sending object's state procedure.
But in a queued architecture, a send-signal action merely adds the signal to an event queue and the receiving state machine pulls off the event and executes the state procedure when it is able.  If the sending and receiving state machines are executing in concurrent tasks, then the recipient's action may execute first or concurrently; if the sending and receiving state machines are in the same task, then (usually) the sender's state procedure completes, then the receiver receives the event, does its transition, and executes its state procedure.
This type of "nondeterministic" scenario is not a fault of executable UML or any architecture, but a consequence of concurrent programming in general.
Keplevic (talk) 15:13, 4 October 2008 (UTC)
replies: text: Removed deterministic from description. --Lwriemen  —Preceding undated comment was added at 18:07, 8 October 2008 (UTC)
thread_title:  Determinism in Executable UML 

message: It is rapidly moving toward commercial promotion for one or two methodologists or tool vendors. Xactium 05:42, 2 June 2006 (UTC)
replies: text: Feel free to be bold and make improvements yourself if you want to.  Just make them non-point of view, reference them, etc.  You might also like to fill out the Xactium page - you're username is Xactium and your two edits so far consist of adding links to that page, so you probably know what it needs to say.  GeorgeBills 07:12, 2 June 2006 (UTC)
thread_title:  This page urgently needs peer review 

message: The article states that Executable UML is a profile of the UML, [...].
If this was the case, this profile should be available with rigorous definitions. All books published to date discussing Executable UML only explain the topic in a rather informal way, usually by example. --Abdull (talk) 11:45, 23 March 2009 (UTC)
replies: text: Executable UML is defined in the Mellor and Balcer book referenced. The stereotypes, tagged values, and constraints are described as well as the specific model elements to use. There are other technologies that call themselves executable UML, but they aren't within the topic of this entry. See my discussion of big E vs little e in the "scope of executable UML article" discussion. --Lwriemen  —Preceding undated comment added 16:01, 14 April 2009 (UTC)
thread_title:  Where is the profile? 

message: Reviewing the fUML specification, I can't say that it is equal to Executable UML, even though it is being touted as such by the OMG. Does anyone else have this concern?Lwriemen (talk) 18:17, 13 April 2011 (UTC)
replies: text: Here's a response I got from Ed Seidewitz on another forum fUML is the culmination of a long quest of Stephen Mellor's at OMG, so, in that sense, it is targeted at Executable UML. However, since the OMG community interested in UML execution semantics goes beyond just the Shlaer-Mellor community (submitters, for example, included IBM and Care, as well as Mentor Graphics and [then] Kennedy-Carter), the resulting specification had to be targeted at (generic) executable UML. The goal of the specification is to give a precise semantics to a reasonable executable subset of UML, not to be specific to any executable modeling methodology. Stephen's goal, though, was, of course, that this would also provide the basis for the next step in Executable UML, providing execution tool interoperability through standardization.As to Alf, that is again a compromise among the desires of the various submitters. There was a strong general feeling on the submission team, however, that it had to syntactically "look like Java/C++/C#" to be accepted in the "mainstream" (IBM pushed particularly hard for an essentially Java-syntax minimum compliance point), and C-legacy syntax makes any language unfortunately much harder to process. Bit strings were an absolute requirement of the real-time folks -- but note that, at least, Alf bit strings are abstracted from just being the integers they are in C and Java.So, Alf is intended to look familiar to programmers who are not already in the executable UML camp, but to have the underlying concurrent data-flow activity model execution semantics of fUML. I see this as similar to the decision to make Java look like C++, though it also has very different underlying semantics. It remains to be seen how well it will work -- but it already has sparked a good deal of vendor interest.
This means that fUML is an executable UML and not Executable UML.Lwriemen (talk) 19:20, 14 June 2011 (UTC)
thread_title:  Is fUML Executable UML? 

message: When you discuss a specific methodology, it is impossible to not use the primary source from the method's author as the basis. This isn't a matter of opinion or interpretation that requires secondary sources to bolster expressed beliefs.
The primary sources banner should have been discussed here first per WP:PSTS "Deciding whether primary, secondary or tertiary sources are appropriate on any given occasion is a matter of good editorial judgment and common sense, and should be discussed on article talk pages."Lwriemen (talk) 20:43, 29 November 2012 (UTC)
thread_title:  Primary Sources

message: In order to improve the introduction of this article, I will first collect some quotes about Executable Uml. This might take some time. -- Mdd (talk) 22:54, 29 November 2012 (UTC)
thread_title:  Quotes about Executable UML 

message: The new review will comment on both the start of original article by George Bills developed 22-27 april 2006 (see here), and the altered current  article (see  here). 
;About the lead sentence:
# In the current article it is undetermined what xUML is. the phrase " a single language" can mean anything. The original article explicitly mentions a relatively new software development methodology and technology with a link to software engineering and software development methodology. To keep it simple an Wikipedia article much make a choice. Is it a modeling language? Or a methodology? Or both? 
# It might have seen a good idea to use a quote in the lead sentence, but it not. You can use the content of the quote, but you have to rephrase it and link it to the appropriate other Wikipedia articles. 
# I already removed it in the current version, but I repeat, abbreviations in the lead sentence doesn't need a reference. 
# Now I guess the original lead sentence is altered because I was to specific on certain points. In my opinion it does make a serious effort to explain how the two element "Executable" and "UML" fit together.
# Now in general writing a first sentence in Wikipedia always remains a problem, and descriptions never seem to last. In my experience this is not so bad. 
It it was up to me I would alter the lead into: 
:Executable UML (xtUML or xUML) is a profile of the Unified Modeling Language (UML), that graphically specifies a system at the next higher level of abstraction.
Or describe the word "profile" 
: Executable UML (xtUML or xUML) is a generic extension mechanism for customizing of Unified Modeling Language (UML), that graphically specifies a system at the next higher level of abstraction.
Now this is just a rephrasing the current lede. I am not sure if that is true enough. 
 
;More about the lede
# The lead further has to give an overview of the content of the article. 
# The current lede seems to give a introduction instead of an overview with the statement: "The models are testable, and can be compiled into a less abstract programming language to target a specific implementation"...
# ... while the article does have a section about testing and compilation. 
You could rephrase this to:
:This generic extension mechanism offers special guidelines for "model testing" and "model compilation"
;About the introduction
# After the lede this article should give a general introduction, first of all explaining what it is?  
# In the above section I gathered some quotes from Mellor & Balcer (2002) about the what, 
# Now I surprised to see, that in the original article some of these quotes are indeed mentioned. However they are mentioned in the "Advantages of Executable UML" section. I think these statements should be better used to give a proper introduction.
;The rest of the article 
# Now in Wikipedia there is no standard about what to tell in a similar article. 
# Personally I am missing an answer to the question, what elementary building blocks xUML is offering. 
# The article would be much more attractive if it should offer some visual examples. 
For now, I will leave it with that. -- Mdd (talk) 01:09, 5 December 2012 (UTC)
replies: text: I just made the rearrangements as explained above. -- Mdd (talk) 01:33, 7 December 2012 (UTC)
thread_title:  Review of the article