Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [modeling-pmc] Comment to Ed's new main text for the Eclipse Modeling Project

Philipp,

As Sven and Miles suggest, we need different pages for different focal points.  I'm proposing a landing page that says something general and will help lead to the other focal points.  We'll definitely want a page focused on standards because that's a very important aspect of modeling, but only one of several aspects, and not the one-and-only real reason  modeling has value" as you seem to suggest.

More comments below.

Regards,
Ed


On 17/08/2012 7:46 PM, Philipp W. Kutter | Montages AG wrote:
Dear Ed and Modeling PMC.
I'd like to comment on the proposed text for the Eclipse Modling Project.
As I am passionate in the subject, my mail became long, and emotional.
I never get emotional.  Oh wait... :-P
Thus the conclusions ahead:

Ed: as a friend, in my opinion, the new text is a mockery of your oeuvre, 
I had to Google translate that one!
and if you wrote it out of modesty, as I know you, I would propose, to reconsider it.
I like to think I'm being realistic and pragmatic.
The old text (see below) was great! 
The old text (one sentence) sounds like promoting a religion, one called Modeling.  What does it really tell a newcomer?   Most don't come to promote modeling in the Eclipse community.  They come to solve some of their problems. So why should they use modeling?  To help promote its use?  That's hardly compelling.  After that one sentence is a laundry list of projects.  Woo hoo, I come to Eclipse to find out about their project organization.
Now below the long analysis.
I'll try to respond in kind.

I wish you all a very nice WE,
Philipp

The new text:
Also as previously discussed, the website is a disaster area.  We need a 
landing page with a clear message.  I propose the following content:

    *Modeling: Faster, Smarter, Better*

    The bewildering complexity of modern software begs for a fresh
    approach focusing on high-level design, delegating menial tasks to
    tools and frameworks.From a concise description of your problem
    domain, a complete solution can be inferred.

    *What is Eclipse Modeling?*

    Eclipse Modeling is an integrated assortment of extensible tools and
    frameworks for solving everyday problems.

    At its core lies the Eclipse Modeling Framework, a rich abstraction
    for describing, composing, and manipulating structured information.
    Around this core, onion-like technology layers provide powerful
    facilities to address most everything you need.

Up to now we had:
"The Eclipse Modeling Project focuses on
 the evolution and promotion of
model-based development technologies within the Eclipse community
by providing a unified set of modeling frameworks, tooling, and
standards implementations."

If you compare the two versions, and consider that "Eclipse Modeling (Framework)" is
the name of the project, the word "model" is mentioned exactly once.
Yes, models are a means to an end.   Being overzealous about it just turns a great many people off.

While the old text makes it clear that
- we focus on "model-based" technologies,
That's nice, but what does that do for me as someone solving problems?  I don't care if your technology is foo-based, I care about how it will help me solve my problems.
- it provides "modeling frameworks and tooling",
Yes, one would expect model-based technologies to have tools and frameworks.  What do they do for me to solve my problems?
- and ends prominently with "standards implementation"
Standards are great, yet also only a means to an end.  If EMF hadn't deviated from the MOF standard in an effort to be fundamentally pragmatic, we wouldn't be where we are today.   We'd have a bloated unusable MOF standard that would make only the OMG crowd happy, and then only relatively happy because without a fast runtime, it's all just nice window dressing, much like a Paris runway model's clothing that would look ludicrous if you wore it to work in the morning.

The new text does not even mention that it focuses on models, it rather mentions as focus
point "high-level design", whereas the specificaiton phase is not mentioned at all.
Indeed, it explains what modeling is about, assuming someone might not be convinced that modeling in and of itself is compelling just because it's modeling.   The old text (again one sentence) doesn't talk about requirements or specification phases either.  People don't come to this page to here about software methodology.  There's already the misperception that modeling and MDA are one and the same  That modeling isn't agile, but watershed.  I'd rather not delve into that mire.

The new text tells it provides "an integrated assortment of extensible tools and frameworks
for solving everyday problems." No mentioning of tooling and framework to support the
activity of modeling, as in the last text.
And the activity of modeling is what?  A holy activity like payer? Why should I do it?  Why is it good?  Why do I need it at all?

Last but not least, the new text presents the project as a "fresh approach", that is
"Faster, Smarter, Better".
Surely there must be some reason more people don't use modeling?  Surely modeling must offer an alternative that's an improvement over the general purpose programming languages that are Turing complete and therefore sufficient to solve all problems directly...
It does not even mention, that we are implementing leading
industry standards like EMof (implemented by ECore), Mof2Tex (implemented by Acceleo),
QVTO, OCL, UML2, BPMN.
There's nothing like a bunch of acronyms to turn on the Joe Newuser.  This is exactly the type of thing I want to avoid on a landing page that needs a compelling message.  Just say no acronym soup.

We all know that the real value between these frameworks is not that they are fresh or smarter.
Speak for yourself.
The real value is that they implement standards in a pragmatic way, which are the result of
decades of experience in enterprise computing and interoperability challanges.
Let's pick Xtext as an example.  It's one of the most compelling technologies at Eclipse.  It's more likely to drive the future evolution of software development than anything else happening at Eclipse today.  That's just my opinion of course.  But the point is, it's not an implementation of a standard and yet it has real compelling value.  There are a great many modeling projects like that.  They won't benefit from the message that the implementation of standards is the fundamental value point for modeling.  One would hope that much of what we do at Eclipse is innovative.
All major organizations
like Nasa are heavily based on these standards, and Eclipse Modeling Framework has done a huge
step forward to unslash the power of open source to make these standards dominant.
The implementation of standards is a fundamental and important aspect of the modeling project.  But I think the people who believe standards are important will find what they need.  Of course I expect there to be links from the main landing page to a page that explains the virtue of standards and outlines all the standards supported by the modeling project.   But let's take a step back and pick EMF as an example: it supports the EMOF standard, i.e., it supports EMOF interchange.  That's great and wonderful, but on the EMF landing page, that's not the primary message I'll want to give people.  That's a message I want to appear on a page about modeling standards.  Because in actual fact, EMOF exchange is kind of useless.  I don't know of other tools that produce it and consume it.  Who are we exchanging models with? It's great that we can and that we've enabled that, but it's not a major reason why people are using EMF.

UML2, EMof, OCL, QVTO where only successful thanks to the EMF Framework. BUT the EMF
framework was only releavant, because it has created this huge success, and combined the power
of standards and open source.
I think EMF's success lies in the maniacal focus on being pragmatic.  The result is something that's great for implementing and supporting standards, but also great for implementing and supporting things like Xtext.  It's just great for solving many problems that have nothing to do with modeling.

This is another weakness of the new text: the old text clearly puts
"promotion of  model-based development technologies within the Eclipse community "
Why only within the Eclipse community?  Do newcomers arrive to hear about promotion?  I believe they arrive to solve problems and find out how our technology helps with that.
in the focus. We should be the ones, showing the rest of the community that modeling is not
simply another "better" framework for solving problems, but it is the basis for progress.
By simply assuming that modeling is compelling in and of itself?  Or by arguing that standards are the best kind of slice bread possible?  How is it that modeling represent progress?

The new text tells the project provides "powerful facilities to address most everything you need".
Yes, there are great solutions to so many problems it's hard to pin them all down without rambling incoherently.

And the list of reasons why using "Modeling" which sounds at this point like an abreviation
of the project name "Eclipse Modeling Framework" and not like a topic is very oriented
again towards sofware.
So far you've only said modeling has real value because it implements standards.  You've argued that the activity of modeling is great.  Why are those things self-evident facts?

Here would answer, if someone tells me this are the reasons to model:
    *Why use Modeling?*

    ?To produce high-quality results quickly.
Not agreed.
The strenght is to be able to abstract from the details of the final results, and
build like in architecture models, that allow to review specification and details
before the "high-quality" end result is done.
And that won't help you solve the problem more quickly?  That won't produce better quality results than other approaches?  Will it take longer?  Will the results be not quite as good as a general programming language development effort focused purely on the end goal?  I don't understand your objection.  Surely one can't lose sight of the end goal?
    ?To reuse tried, tested, and true solutions effectively.
Not agreed.
Modeling allows to create placeholders for parts of solutions, where we are looking
for reuse, and to delay decisions on actual usage of software, since models  can be instantiated
and simulated without having to have a full implementation.
Are standards themselves not tried, tested, and true solutions?  If not, why was a particular approach standardized at all? 

I see your statement as a  long way of repeating the statement I made:
From a concise description of your problem domain, a complete solution can be inferred.
An aspect of this being that you can change how you infer a solution form the description (generator, interpreter, and so on) and thereby solve a problem once (by enhancing the inference engine) rather than performing that task manually on a gigantic blob of general purpose programming language software.

    ?To specify complex structured information concisely.
Not agreed.
There may be much more concise ways,
You've already said the point of modeling is abstracting away details.  If that doesn't lead to something more concise and precise (in the right way), what would?
but the advantage of modeling is to specify the
structure of such information in a standardized, exchangable way, which is on a higher abstraction
level than than data modeling or programming: references and parameters can be n-ary,
the containment structure is taken into account, e.t.c.
Not everyone needs to exchange their designs with others (and later on you argue that interchange and interoperability isn't a compelling argument).  It's often the case that a design is simply the means to the end, i.e., a fast, precise, effect way to produce the target software system.  Interchange doesn't enter the picture.
    ?To design rich textual and graphical notations easily.
Not agreed.
There may be even easier ways around, but EMF allows to add various kinds of
concrete notation (textual, graphical, GUI) to domain models, allowing to separate the meanings of models
from their notations. Further, it allows to persist models both in XML and Databases, without need to program
the persistence.
The people using Xtext are generally most interested in the speed with which they can implement a DSL in conjunction with a full-blown IDE to supports it.  All these other things you mention are compellingly valuable, but Xtext users are mostly focused on building a language of their own and these valuable things are just fringe benefits.
    ?To implement powerful runtime solutions efficiently.
Not agreed.
The real strength is that we provide support to use the same modeling-frameworks not only at
development time but as well at runtime, and that the need to use different technologies to specify
the structure of our backend and frontend solutions goes away, because EMF provides server
component to directly interprete and host processes and data based on models.
I just don't see how your statement argues that modeling doesn't help implement efficient runtime solutions.  It seems your just in a mode to disagree with every word and every statement just for the sake of disagreement.
    ?To exploit industrial standards interoperably.
Not agreed.
Industrial standards interoperability has still a long way to go, since the very good momentum which was provided
by the convergence of the standards and the Eclipse frameworks is currently at risk.
At risk of what?  So far you've argued that standards are the true value of modeling.  But they fact they're tried, tested,and true solutions isn't what makes standards valuable.  The fact that they let you produce quality results more quickly isn't what gives standards their value.  And the ability to exchange standards-based artifacts isn't what gives them value?  I'm not sure I understand the value of standards if none of those are what makes them valuable.  What is the value of standards?
The project should provides the basis for making industrial standards interoperability possible, by continuing
focusing on modeling based on the ECore core, and other standards implemented by the various frameworks.
I think that's only one aspect of the modeling project and it's not even the aspect that's the focus of the majority of the projects.  That can't be the primary and only message.   It's an important message and needs to be the focus on a page we link to from the landing page.


I am not against pragmatic solutions, and like Eclipse has influenced OSGi, EMF has influenced the modeling
standards. But I am against forgetting our roots, and why we are here.
Sorry, but newcomers arriving at the home page aren't going to care about our roots.  They might not even care about standards; some definitely will.   In they end, Joe Newuser will be compelled to use our technology if we can demonstrate its value in the context of the problems they need to solve.  That must be our focus on the main page.

Regards, Philipp






_______________________________________________
modeling-pmc mailing list
modeling-pmc@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/modeling-pmc



Back to the top