![]() | This article is rated C-class on Wikipedia's
content assessment scale. It is of interest to the following WikiProjects: | |||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
I'm not sure that "platform specific" is the right term. Usually "platform specific" is used to describe source code that is architecture specific (x86, PPC, or MIPS; Linux, Win32, IRIX). This becomes very strange when Java is thrown in the mix, because it is described as a architecture-agnostic platform, platform independent, and cross-platform.
On the other hand, procedural programming is the reality of the microprocessor, and is what high level languages like Executable UML attempt to abstract away. The opposite is declarative programming, and in my opinion Executable UML fits within that bucket. Jayvdb 11:32, 23 April 2006 (UTC)
Hello! My understanding of executable UML is that it is morphing into a general term. A proper definition would therefore be: "Executable UML is enriched UML that can be executed by a generating code from UML or by running UML directly in a UML virtual machine." I'd suggest to revise the article in putting this first, and then showing the Mellor/Balcer work as (historic) steps towards this goal. Dirk Riehle 10:07, 27 April 2006 (UTC)
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)
It is rapidly moving toward commercial promotion for one or two methodologists or tool vendors. Xactium 05:42, 2 June 2006 (UTC)
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)
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)
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)
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)
An article on a software engineering methodology isn't very relevant to a non-practitioner. This article cites plenty of other topics that any software practitioner should be able to form a reasonable opinion on whether the topic is worth further investigation. Lwriemen ( talk) 20:43, 29 November 2012 (UTC)
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)
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).
It it was up to me I would alter the lead into:
Or describe the word "profile"
Now this is just a rephrasing the current lede. I am not sure if that is true enough.
You could rephrase this to:
For now, I will leave it with that. -- Mdd ( talk) 01:09, 5 December 2012 (UTC)
As far as I can tell from the references in the Umple article, there is no reason for it to be linked to the Executable UML article. They are unrelated technologies, outside of the use of UML. The thesis paper supports this pont of view in it's discussion of Executable UML. Lwriemen ( talk) 02:18, 17 July 2013 (UTC)
Badreddin's 2010 article Umple: a Model-Oriented Programming Language states:
This indicates that Umple, Ragel, Ruby on Rails, AsmL, Executable UML are close related. In such a situation it seems appropriate to make cross references in the related Wikipedia articles. -- Mdd ( talk) 18:59, 18 July 2013 (UTC)
Hi Lwriemen, I was mistaken here that you (already) violated the 3RR rule, since you yet removed the link twice here, and here. Still, the presence of the link is under debate here. (New) arguments such as "Umple link as it was originally added for self-promotion purposes" should be added in the discussion and not in the edit summary.
As to your argument, I assume good faith and thinks the Umple link was originally just added for cross-reference purposes. This is at least the reason, why I restored the link and I shown here that similar links are made in reliable sources. If you keep disagreeing, or violated the 3RR rule, I propose we take this to the next level. -- Mdd ( talk) 11:42, 7 August 2013 (UTC)
Leon Starr and Stephen J. Mellor seems to be well connected, and they even give common presentations like this presentation on Executable UML. Yet you changed the first reference claiming "to use third-party sources" (see here), bringing up Leon Starr as a reference. You might want to check Wikipedia:Third-party sources. And for the record, replacing the article's lead sentence by a quote is not considered an improvement. Now I am not going to change it back (yet), because things are probably going to change anyway. -- Mdd ( talk) 23:03, 14 August 2013 (UTC)
Lwriemen, your argument "Your citation of Ambler was invalid" makes no sense to me. Ambler (2002, p. 172) states:
Now this source was added to the statement
In this context the Ambler (2002, p. 172) source seems rather valid. -- Mdd ( talk) 18:45, 15 August 2013 (UTC)
Because of the lack of consensus in the previous talk item, I have been studying the history of this article and it's scoop. I have noticed a couple of things:
Already in 2006 the term executable UML had two meanings:
Now over the years more executable UML tools have occurred/matured ( fUML, Alf, Umple(?)) and general meaning of the term "Executable UML" has gained importance. For example as the webpage List of Executable UML tools by modelinglang, December 21, 2011, states:
Now it is becoming clear, that the scope of current lemma (still) doesn't reflect the situation, that the term executable UML has multiple meaning. -- Mdd ( talk) 19:06, 13 August 2013 (UTC)
![]() | This article is rated C-class on Wikipedia's
content assessment scale. It is of interest to the following WikiProjects: | |||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
I'm not sure that "platform specific" is the right term. Usually "platform specific" is used to describe source code that is architecture specific (x86, PPC, or MIPS; Linux, Win32, IRIX). This becomes very strange when Java is thrown in the mix, because it is described as a architecture-agnostic platform, platform independent, and cross-platform.
On the other hand, procedural programming is the reality of the microprocessor, and is what high level languages like Executable UML attempt to abstract away. The opposite is declarative programming, and in my opinion Executable UML fits within that bucket. Jayvdb 11:32, 23 April 2006 (UTC)
Hello! My understanding of executable UML is that it is morphing into a general term. A proper definition would therefore be: "Executable UML is enriched UML that can be executed by a generating code from UML or by running UML directly in a UML virtual machine." I'd suggest to revise the article in putting this first, and then showing the Mellor/Balcer work as (historic) steps towards this goal. Dirk Riehle 10:07, 27 April 2006 (UTC)
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)
It is rapidly moving toward commercial promotion for one or two methodologists or tool vendors. Xactium 05:42, 2 June 2006 (UTC)
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)
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)
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)
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)
An article on a software engineering methodology isn't very relevant to a non-practitioner. This article cites plenty of other topics that any software practitioner should be able to form a reasonable opinion on whether the topic is worth further investigation. Lwriemen ( talk) 20:43, 29 November 2012 (UTC)
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)
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).
It it was up to me I would alter the lead into:
Or describe the word "profile"
Now this is just a rephrasing the current lede. I am not sure if that is true enough.
You could rephrase this to:
For now, I will leave it with that. -- Mdd ( talk) 01:09, 5 December 2012 (UTC)
As far as I can tell from the references in the Umple article, there is no reason for it to be linked to the Executable UML article. They are unrelated technologies, outside of the use of UML. The thesis paper supports this pont of view in it's discussion of Executable UML. Lwriemen ( talk) 02:18, 17 July 2013 (UTC)
Badreddin's 2010 article Umple: a Model-Oriented Programming Language states:
This indicates that Umple, Ragel, Ruby on Rails, AsmL, Executable UML are close related. In such a situation it seems appropriate to make cross references in the related Wikipedia articles. -- Mdd ( talk) 18:59, 18 July 2013 (UTC)
Hi Lwriemen, I was mistaken here that you (already) violated the 3RR rule, since you yet removed the link twice here, and here. Still, the presence of the link is under debate here. (New) arguments such as "Umple link as it was originally added for self-promotion purposes" should be added in the discussion and not in the edit summary.
As to your argument, I assume good faith and thinks the Umple link was originally just added for cross-reference purposes. This is at least the reason, why I restored the link and I shown here that similar links are made in reliable sources. If you keep disagreeing, or violated the 3RR rule, I propose we take this to the next level. -- Mdd ( talk) 11:42, 7 August 2013 (UTC)
Leon Starr and Stephen J. Mellor seems to be well connected, and they even give common presentations like this presentation on Executable UML. Yet you changed the first reference claiming "to use third-party sources" (see here), bringing up Leon Starr as a reference. You might want to check Wikipedia:Third-party sources. And for the record, replacing the article's lead sentence by a quote is not considered an improvement. Now I am not going to change it back (yet), because things are probably going to change anyway. -- Mdd ( talk) 23:03, 14 August 2013 (UTC)
Lwriemen, your argument "Your citation of Ambler was invalid" makes no sense to me. Ambler (2002, p. 172) states:
Now this source was added to the statement
In this context the Ambler (2002, p. 172) source seems rather valid. -- Mdd ( talk) 18:45, 15 August 2013 (UTC)
Because of the lack of consensus in the previous talk item, I have been studying the history of this article and it's scoop. I have noticed a couple of things:
Already in 2006 the term executable UML had two meanings:
Now over the years more executable UML tools have occurred/matured ( fUML, Alf, Umple(?)) and general meaning of the term "Executable UML" has gained importance. For example as the webpage List of Executable UML tools by modelinglang, December 21, 2011, states:
Now it is becoming clear, that the scope of current lemma (still) doesn't reflect the situation, that the term executable UML has multiple meaning. -- Mdd ( talk) 19:06, 13 August 2013 (UTC)