Talk:Executable UML

From Wikipedia, the free encyclopedia
Jump to: navigation, search
          This article is of interest to the following WikiProjects:
WikiProject Computer science (Rated Start-class, Mid-importance)
WikiProject icon This article is within the scope of WikiProject Computer science, a collaborative effort to improve the coverage of Computer science related articles on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
Start-Class article Start  This article has been rated as Start-Class on the project's quality scale.
 Mid  This article has been rated as Mid-importance on the project's importance scale.
 
WikiProject Systems (Rated Start-class, Mid-importance)
WikiProject icon This article is within the scope of WikiProject Systems, which collaborates on articles related to systems and systems science.
Start-Class article Start  This article has been rated as Start-Class on the project's quality scale.
 Mid  This article has been rated as Mid-importance on the project's importance scale.
Taskforce icon
This article is within the field of Software engineering.
 
edit·history·watch·refresh Stock post message.svg To-do list for Executable UML:
  • Domain chart image
  • Class diagram image
  • State diagram image
  • Sample action language

Procedural vs platform specific[edit]

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)

Hrm, from what I understand xtUML is intended to free developers from having to write any form of source code, whether that be Java, C++ or C: if the developers decide that they want Windows + Linux + Mac OS X platform support they can choose Java, and if they decide they want performance they can choose C++ or maybe even C. In this case, when I say platform I mean the "Java platform", which to my understanding is still a sort of platform - there are specific libraries, JVM etc which all need to be present to provide the supporting platform for the software application. I may very well be using the wrong terminology though. I'm not sure if procedural programming is the right word here, because Java / C++ etc could all be construed as "freeing programmers from procedural programming", which is very different to what xtUML does - xtUML frees devs from writing source code altogether (whether that be Java, C, C++, whatever). I'm hardly an expert though - maybe there's a reference out there which gives a better turn of phrase?
Maybe we could use "implementation specific" instead of "platform specific"?
Or maybe we could use imperative programming instead of procedural programming - procedural to me implies code based around procedures, eg non OO stuff like C. GeorgeBills 12:26, 23 April 2006 (UTC)
xtUML will also become a platform when it gathers support and nears 1.0, like Java and XUL before it.
I agree 'procedural' brings undesirable baggage along with it; 'imperative' works for me Jayvdb 12:45, 23 April 2006 (UTC)
Made the change, it's imperative now. GeorgeBills 15:17, 23 April 2006 (UTC)

Scope of executable UML article[edit]

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)

I agree with this. There are a lot of current proposals about executable UML or even executable MOF. The general idea is often only to invent a programming language (Java, Python, etc.) that will be used to "decorate" models. A model decorated with executable fragments may be considered as a program is a graph visit algorithm is provided. We need several things:
  • establishing the history of executable models, with reference toearly work including mellor and Riehle
  • linking this to some kind of theory
  • listing the various tentative approaches like the Xactium one which is one of the more advanced
  • discussing possible applications of this. For example decorarted models (or marked models) may be used to generate codee, to refactor, etc.
  • mentioning the various normalization initiatives (orf course it is easy to decorate a model with Java or Python, but will everybody agree?)
  • also we need to discuss is this is not simply an idea of inventing a better general purpose programming language?

MDE 21:10, 13 May 2006 (UTC)

Actually, I think UML will end up being simply another (better? hopefully :-)) programming language. Then, the "executable" in front of UML will become redundant. But given the state of the UML spec this seems a long way from now. Dirk Riehle 08:27, 3 June 2006 (UTC)
OK, sorry if some people think that what I've added is commercial or promotional (65.83.52.198 has been deleting references for this reason). I did actually use those references when writing this piece, so they are an accurate reflection of the source content for this, and I guess I would prefer to not have them deleted. What precisely is the problem with them?
Also, some of you are obviously concerned that this page only reflects one specific implementation of executable UML, and that's probably something that needs to be addressed - sorry for my mistake, I'm not an expert. Maybe we could have one page here which defines Executable UML in general terms and then links to specific Executable UML implementations? Then everyone could add their own technologies to their own pages, eg: Xactium (which still needs content). Would anyone have a problem with that? GeorgeBills 06:11, 15 June 2006 (UTC)
It looks like there is a lot of misunderstanding of terminology. Executable UML was used by Mellor and Balcer to indicate a specific software development methodology. When we refer to Executable UML, we are referring to the Mellor and Balcer specified methodology. When we refer to executable UML, we are referring to any method of executing a UML model that isn't Executable UML. Whether you like it or not, this is the state of the terminology. Mellor started using the terminology, Executable and Translatable UML, because of the confusion due to this misunderstanding of the terminology.
On the commercial argument, Executable UML is a methodology that can be supported by any UML CASE tool. I don't see the necessity for listing any UML tools, but I also wouldn't consider it an attempt at advertising to list a sampling of Executable UML tools. I'm not sure what the specific policy is on this. --Lwriemen 03:04, 20 October 2006 (UTC)
Any input you could give on the page would be great. Would it be a good idea to move the page to "Executable and Translatable UML" instead? GeorgeBills 03:32, 21 October 2006 (UTC)

Determinism in Executable UML[edit]

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)

Removed deterministic from description. --Lwriemen —Preceding undated comment was added at 18:07, 8 October 2008 (UTC).

This page urgently needs peer review[edit]

It is rapidly moving toward commercial promotion for one or two methodologists or tool vendors. Xactium 05:42, 2 June 2006 (UTC)

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)

Where is the profile?[edit]

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)

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).

Is fUML Executable UML?[edit]

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)

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)

November 2012[edit]

Primary Sources[edit]

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)

Too Technical[edit]

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)

The both problems I detected here are interconnected. Now the main problem here is not those banners. It is the introduction of this article, that gives to little information for the general audience. This is were generally secondary source can help.
Now I noticed you have been involved with the development of this article for quite some time, since 2006. I guess you could give me a day or two. I am in the process of improving the Sally Shlaer article as well. I will first study some secondary source some more, make some improvements to the article, and then come back to you. Is that ok? -- Mdd (talk) 21:35, 29 November 2012 (UTC)
Sounds good. This explanation would have helped greatly at the time the tags were applied. Sometimes we all need reminders that this is a collaborative effort. Lwriemen (talk) 00:38, 30 November 2012 (UTC)
Instead of making changes, I started a review of this article, see #Review of the article. -- Mdd (talk) 01:30, 5 December 2012 (UTC)

Quotes about Executable UML[edit]

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)

Primary sources[edit]

Stephen J. Mellor, Marc J. Balcer (2002) Executable Uml, Executable Uml: A Foundation for Model-Driven Architecture'
  • Executable UML is at the next higher layer of abstraction, abstracting away both specific programming languages and decisions about the organization of the software so that a specification built in Executable UML can be deployed in various software environments without change. (p.5)
  • Executable UML is a single language in the UML family, designed to define the semantics of subject matters precisely. (p.7)
  • Executable UML is a particular usage, or profile, the formal manner in which we specify a set of rules for how particular elements in UML fit together for a particular purpose. (p.7)
  • Executable UML is designed to produce a comprehensive and comprehensible model of a solution without making decisions about the organization of the software implementation. It is a highly abstract thinking tool to aid in the formalization of knowledge, a way of thinking about and describing the concepts that make up an abstract solution to a client problem. (p.10)
  • Executable UML is one pillar supporting the Model-Driven Architecture (MDA) initiative, the purpose of which is to enable specification of systems using models. (p.11)
  • The very intent of executable UML is to provide a way to prototype the domain without having to construct a complete product. (p.25)
  • Executable UML is an abstract object-oriented formalism; hence, it employs classes, attributes, and other object-oriented constructs as a way to organize abstractions. (p.57)
  • One of the purposes of Executable UML is to capture and formalize knowledge. (p.83)
  • The real value in Executable UML is that... procedures can be written formally — they have a defined semantics and they can be executed. (p.154)
  • The model of Executable UML is expressed using Executable UML. This model of Executable UML is the so-called metamodel. (p.295)
  • Executable UML is a major innovation in the field of software development. It is designed to produce a comprehensive and understandable model of a solution independent of the organization of the software implementation. (text back cover)
Stephen J. Mellor (2004) Mda Distilled: Principles of Model-Driven Architecture

Secondary sources[edit]

  • ... In Executable UML the state machine becomes the anchor point for defining behavior. Each state is enhanced with a procedure written in the AS. In principle. Executable UML is capable of specifying a PIM and generating a complete PSM
    • Anneke G. Kleppe, Jos B. Warmer, Wim Bast (2003) MDA explained: the model driven architecture : practice and promise. p.35
  • Executable UML is a graphical specification language combining a subset of UML (Unified Modeling Language) with executable semantics and timing rules.
    • Michele Marchesi, Giancarlo Succi (2003) Extreme Programming and Agile Processes in Software Engineering. p.65
  • Executable UML does not use the full UML standard; many constructs of UML are considered to be unnecessary and are therefore not used. As a result Executable UML is simpler than full UML.
    • Martin Fowler (2004) Uml Distilled: A Brief Guide to the Standard Object Modeling Language p.5
  • MDA and Executable UML Two reasonably new approaches to systems development inspired many of the improvements made in UML 2.0... Executable UML provides the means by which a PSM (Platform Specific Model) could contain enough complete information so that the model can be effectively run... An executable UML engine requires that the UML models be defined well enough for it to be able to generate and execute the modeled system. Unfortunetely, even though UML 2.0 is supposed to provide the mechanism to make MDA ann executable UML a reality, tools support is not yet fully developed.
    • Russ Miles, Kim Hamilton (2006) Learning UML 2.0. p.10
  • Stephen J. Mellor (2003) describes how Executable and Translatable UML can be used in the development of real-time systems.
    • Linda Null, Julia Lobur (2010) The Essentials of Computer Organization and Architecture. p.579

Review of the article[edit]

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
  1. 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?
  2. 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.
  3. I already removed it in the current version, but I repeat, abbreviations in the lead sentence doesn't need a reference.
  4. 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.
  5. 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
  1. The lead further has to give an overview of the content of the article.
  2. 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"...
  3. ... 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
  1. After the lede this article should give a general introduction, first of all explaining what it is?
  2. In the above section I gathered some quotes from Mellor & Balcer (2002) about the what,
  3. 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
  1. Now in Wikipedia there is no standard about what to tell in a similar article.
  2. Personally I am missing an answer to the question, what elementary building blocks xUML is offering.
  3. 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)

I just made the rearrangements as explained above. -- Mdd (talk) 01:33, 7 December 2012 (UTC)

Umple and Executable UML[edit]

The following section is copy/pasted here from User_talk:Mdd#Umple_and_Executable_UML

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)

Hi Lwriemen, sorry for the confusion. I noticed here you disagree with Timothy C. Lethbridge, and I tried to offer a compromis. Why not contact Timothy directly on his talk page, and make your point? -- Mdd (talk) 11:58, 17 July 2013 (UTC)
As to Umple and Executable UML: Beside Timothy C. Lethbridge (at dbnl), for example also Omar Bahy Badreddin (at dbnl) in the 2010 article "Umple: a Model-Oriented Programming Language" and Jean Bézivin (at dbnl) in this 2012 presentation describe those two subjects in the same context. That seems enough to justify linking the both of them. -- Mdd (talk) 12:11, 17 July 2013 (UTC)
Jean's presentation was a nice read, but his comparison was to any executable model done in UML, not to Executable UML. I have never seen any in-depth analysis of Executable UML by Jean. I couldn't access the specific paper by Omar, but his thesis paper refers heavily to the Executable UML Foundation, which means fUML. fUML is not Executable UML. Lethbridge and Badreddin are not third-party sources. For them, Wikipedia edits regarding Umple could fall under the heading of self-promotion. I've seen many instances of linking unrelated UML technologies to the Executable UML article, that were only for the purposes of promotion. This is why I deleted the link. If there was an actual justification for the link, I would have expected some credit given to Shlaer/Mellor/Balcer/Executable UML/etc. in the Umple article or thesis papers. Without this evidence or a reasonable linkage, I can only assume promotion. As far as contacting Lethbridge, I would expect him to contact me if he disputes my removal of the linkage. I was quite surprised that you restored it. Adding an Executable UML linkage to the Umple article isn't a compromise, because it totally ignores my point of view. If an actual justification for the linkage exists, I would be perfectly happy to see the justification added to both articles. — Preceding unsigned comment added by Lwriemen (talkcontribs) 01:40, 18 July 2013 (UTC)

Badreddin's 2010 article Umple: a Model-Oriented Programming Language states:

Executable textual modeling tools support automated code generation. For example, Ragel [12] supports a number of high-level languages but is targeted towards text parsing and input validation. Ruby on Rails recently added built-in support for state machines. The state Machine Compiler (SMC) [2] is targeted towards the specification of event driven systems. Microsoft is also developing a textual specification language, AsmL [6], based on state machine concepts. Those approaches do not incorporate class diagram abstractions and do not support development of complete applications. Executable UML [9] supports a subset of UML textually but misses key features of UML and does not integrate with programming languages.

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)

The following section is copy/pasted here from User_talk:Lwriemen#Link_to_Umple_in_the_Executable_UML_article

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)

You have not shown that similar links are made in reliable sources, as I have stated here. Once again as in the discussion here, you seem to have walked away from the discussion when I present an opposing viewpoint. These conversations belong in the Executable UML talk area to see if other interested parties want to participate. I'm going to add them and see what happens. Lwriemen (talk) 00:32, 8 August 2013 (UTC)
Further comment
In the Mdd (talk) 18:59, 18 July 2013 (UTC) comment (see above) I did shown that a similar link is made in a reliable source. So it seems:
  1. You started this discussion with the argument "there is no reason for it to be linked to the Executable UML article. They are unrelated technologies, outside of the use of UML..."
  2. The Badreddin's 2010 article contradicts this, see quote.
  3. So a cross reference between Umple and Executable UML seems reasonable
As to the discussion you refer to, that was earlier, and didn't relate to this subject. I do agree these conversations belong in the Executable UML talk area, so I copy/pasted them here. -- Mdd (talk) 01:00, 8 August 2013 (UTC)
I just noticed, that you already brought up the argument, ... Lethbridge and Badreddin are not third-party sources. For them, Wikipedia edits regarding Umple could fall under the heading of self-promotion.... I do like to respond to that:
  1. First of all you cannot write-off such a source, by claiming they "fall under the heading of self-promotion"
  2. Here on Wikipedia these sources are considered first and/or second party sources, and are still just as reliable as ever.
  3. It is not the point of discussion, that third party references are needed to add a link to the see also section, because that is not required.
  4. It is the point that you argued "...They are unrelated technologies...", and this seems to be incorrect.
-- Mdd (talk) 01:33, 8 August 2013 (UTC)
On Related Technologies and Reliable Sources
The major point for the removal of the Umple link is of "unrelated technologies". The self-promotion is not really a concern of mine. My concern is that this article presents a valid representation of the Executable UML method, so we'll stick to the technology aspect. In order to do that, we'll have to break down what we mean by "reliable source" and "related".
Related Technologies
"Related" depends upon the scope. If the scope is restricted to Executable UML, then Umple is an example of an unrelated technology, and Shlaer-Mellor is an example of a related technology. If the scope is restricted to the Executable UML article, Aspect is a related technology, because the article mentions a correlation to Aspects. If we broaden the scope to model-driven (MDA, MDE, MDD, etc.), then Umple and many other technologies mentioned (and not mentioned) in the articles linked in this discussion are related technologies. Personally, I think Wikipedia articles would become overly cluttered with links if the scope was made too broad. None of the cited links narrowed the scope of the relationship to justify a link between Executable UML and Umple. Link them both under model-driven methods, but don't link them together. There are no dependencies. They are not closely related!
Reliable Sources
"Reliable" depends upon the technology under discussion, and as you pointed out, doesn't exclude first or second party sources. Stephen Mellor is a reliable source for Executable UML, and Badreddin is a reliable source for Umple. Based on what I've read, I don't believe Badreddin to be a reliable source for Executable UML. Scope should also be applied to software luminaries when determining if they are a reliable source for a specific technology.
Lwriemen (talk) 02:52, 8 August 2013 (UTC)
More on Reliable Sources
The reasoning above is incomplete, and needs further addition. A reliable source should be able to determine if the technologies are closely related within a scope. I don't dispute that the cited links come from reliable sources for Umple, but none of the cited links identified a closer connection between Executable UML and Umple than that they are both model-driven software technologies that use UML. If they had, then the Umple link would have been shown to be valid. As I mentioned above, Jean Bézivin wasn't even talking about the Executable UML method in his presentation. Lethbridge failed to add any commentary to the edit for the original link, and the Umple page shows no indication of it being closely related to Executable UML. I have a feeling that the link was big E vs little e confusion.
Lwriemen (talk) 11:47, 8 August 2013 (UTC)

More on reliable third party sources[edit]

The following three comments are copy/pasted here from User talk:Lwriemen#Third-party sources

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)

The Wikipedia guidelines differ from the definition for third-party sources. Your citation of Ambler was invalid, and had to be changed, but given your expressed ignorance on the topic of the article in it's talk section, I can see why you added it.Lwriemen (talk) 11:35, 15 August 2013 (UTC)
As Starr and Raistrick et al. are not third-party sources in Wikipedia terms, are they considered secondary sources? It's hard to write a good technical article based only on tertiary sources, who are usually basing their statements on the primary sources. If the Wikipedia rules are really that draconian on these concepts, I'll probably just wash my hands on the whole issue. My intent is just to share knowledge, not sell anything, so it's not worth my time to endlessly chase down a tertiary source for every statement.Lwriemen (talk) 12:55, 15 August 2013 (UTC)
Further comment

Lwriemen, your argument "Your citation of Ambler was invalid" makes no sense to me. Ambler (2002, p. 172) states:

... The basic idea behind Executable UML is that systems can be modeled at a higher level of abstraction than source code, simulated to support validation of your efforts, and then translated into efficient code. This higher-level of abstraction should help to avoid premature design, enable you to change your system as your requirements evolve, and to delay implementation decisions until the last minute...

Now this source was added to the statement

Executable UML... can graphically specify a system at the next higher level of abstraction.[1]

In this context the Ambler (2002, p. 172) source seems rather valid. -- Mdd (talk) 18:45, 15 August 2013 (UTC)

Your quote is wrong in the version of the book I'm looking at. In the text I see, he uses "executable UML" in that sentence, and only uses "Executable UML" in that section in comparing it to magic. He also doesn't provide a reference in that section to the Mellor-Balcer book, so it's not clear if he is referring to a generic executable UML. I think he is talking about the Executable UML method as most of his descriptive text seems to be paraphrased from the language in the Mellor-Balcer book, but without an explicit reference, it's hard to be sure. Lwriemen (talk) 23:14, 16 August 2013 (UTC)
Just for the record: In the 2002 version of the book, and also online (here) the text just states The basic idea behind Executable UML is that systems..."
By now we should both have learned, that there are two answers here:
  • If the article focusses on Executable UML in general, than the Ambler links is fine.
  • But if this article focusses on Executable UML (xUML), than the Ambler link is not appropriate
There is no right or wrong here, because the focus of the article is yet to be determined. You have decided (long ago) that it should be all about Mellor's specific profile. I still read the article as (immature) general intro in Executable UML with an over-fixation on that one implementation. Now we can have it both ways, if we split the article in two (see next talk item). -- Mdd (talk) 00:28, 17 August 2013 (UTC)
You seem to have a reading comprehension problem, or maybe it's just language differences. I didn't decide the direction of the article. George Bills clearly stated that it was intended to be based on the Mellor-Balcer book and method, and he asked me to help make the article more in line with the Executable UML method. The whole issue of the purpose of the article was resolved for six years. From the amount of outside talk, it's pretty obvious that we're the only two people in the world who give a damn which direction the article takes. — Preceding unsigned comment added by Lwriemen (talkcontribs) 02:57, 19 August 2013 (UTC)

Scope of executable UML article (2)[edit]

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:

  • In June 2006 the original creator of the article GeorgeBills already expressed his concern, here on the talk page (See here)
    ...some of you are obviously concerned that this page only reflects one specific implementation of executable UML...
  • In June 2006 at least the article (still) had a more general introduction (see here) starting with :
    Executable UML, often abbreviated to xtUML [1] or xUML [2], is a relatively new software development methodology and technology that is intended to enable Unified Modelling Language (UML) models to be compiled, translated or weaved into executable code such as Java bytecode or machine code and then executed [3] [4]. Thus Executable UML can be used for a model-driven architecture [5]...
  • Now in 2006 here above on the talk page Lwriemen (03:04, 20 October 2006) commented:
    It looks like there is a lot of misunderstanding of terminology. Executable UML was used by Mellor and Balcer to indicate a specific software development methodology. When we refer to Executable UML, we are referring to the Mellor and Balcer specified methodology. When we refer to executable UML, we are referring to any method of executing a UML model that isn't Executable UML. Whether you like it or not, this is the state of the terminology...
  • Between 2006 and 2007 Lwriemen rewrote the lead of the article and by August 2007 it read (see here:
    Executable UML, often abbreviated to xtUML [1] or xUML [2], is the evolution of the Shlaer-Mellor method[3] to UML. Executable UML graphically specifies a deterministic system using a profile of the UML. The models are testable, and can be compiled into a less abstract programming language to target a specific implementation. [3] [4] Executable UML supports MDA through specification of platform-independent models, and the compilation of the platform-independent models into platform-specific models...
  • With these changes this article has even more focussed on, as George Bills commented, one specific implementation of executable UML.
  • Yet, Lriemen had already expressed that there is the topic of "executable UML... referring to any method of executing a UML model".

Already in 2006 the term executable UML had two meanings:

  1. In general, any method of executing an UML model
  2. Specifically, xtUML or xUML, one specific implementation of executable UML developed by Steven Mellor et al. early 2000s, and an evolution of the Shlaer-Mellor method.

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:

Executable UML aims at defining UML models with a behavioral specification precise enough to be effectively executed. In its purest state, Executable UML eliminates the need of programming the software system.

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)

That's kind of like saying the term, "Windows", has multiple meaning. Absolutely true, but irrelevant when talking about operating systems. I thought I made that clear in the 'E' vs 'e' talk quoted above. George Bills made it clear in that discussion that the intent of the article is the Executable UML method.
If a more generic executable UML article is desired, then feel free to create one and a disambiguation to distinguish the two articles. Another choice would be to move this article to Executable and Translatable UML, which would break a lot of external links, and might not make Abstract Solutions (formerly Kennedy-Carter) happy as they use xUML vs xtUML which is used by Mentor Graphics. This Wikipedia article is rapidly becoming another reason why they all should have stuck with the Shlaer-Mellor notation.Lwriemen (talk) 03:01, 14 August 2013 (UTC)
I don't think its irrelevant. This article should in layman's term explain what the subject is. And since the term has multiple meaning, this should be expressed either:
  1. in the introduction and incorporated in the whole article, or
  2. with a link in the top to a disambiguation page or
  3. with a link to a distinguished second article.
It indeed becomes clear a more generic executable UML article is desired. (Because in the previous talk item you made it quite clear, that you want to focus this article about the specific technology, developed by Steve Mellor et al) This more generic article can start (now) as a disambiguation page, and be developed into an article later.
This would mean that we move the current article. It should have a more precise title, something like Executable UML (xUML). This seems preferable over Executable and Translatable UML because this is again indicates of a general type of modeling concept, and not one specific technology. -- Mdd (talk) 12:10, 14 August 2013 (UTC)
I agree that some clarity needs to be exposed for the phrase, "executable UML". I think a better title would be Executable UML (Method) as xUML has also been used in topics not specific to the method.Lwriemen (talk) 12:00, 15 August 2013 (UTC)
Another thought would be to combine the Executable UML and Shlaer-Mellor articles. Executable UML could be a section under Shlaer-Mellor describing the updates it makes to the Shlaer-Mellor method. This section would then be linked from the disambiguation page to enable users looking for the Executable UML method to find it more easily.Lwriemen (talk) 12:45, 15 August 2013 (UTC)
What makes the term Executable UML (xUML) preferable is, that there are a substantial number of sources already using the exact phrase, just check the phrase at Google, Google books and Google Scholar. -- Mdd (talk) 23:47, 16 August 2013 (UTC)