Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [mdt-ocl.dev] MDT-OCL project organisation for add-ons (editor etc)

Hi Alex

Attached paper (sadly not accepted for Tools) describes the way IMP is
used to provide editors for OCL, QVTc and QVTr with the models driving the
QVTr editor extending that for OCL. Open Canarias have done a QVTo config,
parser that uses the OMG-compliant M2M QVTo meta-models.

You will see that there is syntax coloring, code completion, folding,
navigation, separate CST and AST outlines.

IMP is certainly not perfect, but improving IMP is a community
contribution. The editors were migrated from naked SWT to IMP to exploit
the 'standard' capabilities. As IMP improves IMP-based editors should
upgrade at much reduced cost.

IMP prefers LPG 2 but is neutral. We currently use LPG 1. IMP is gradually
migrating to SDF. See bug 242153.

IMP, formerly SAFARI, is certainly an Incubation project. It is under
active development. ght to support it. IMP has many customisable areas
that I have not yet investigated.

On Eclipse 3.5 modeling, if you load all M2M QVT Declarative plugins, IMP
runtime, and LPG run time, there is a fully working OCL, QVTc, QVTr editor
and the RoyalAndLoyal example. I hope to get the update site available
soon.

   Regards

      Ed Willink

> Hi Ed,
> >
> QVTO supports a feature-rich IDE without utilizing IMP so another option
> is not to use it at all. I would at first compare the two approaches:
>
> 1. Editor with IMP. Since I am not acquainted with IMP I would like to ask
> several questions.
>
> 	Which features does IMP provide (code completion, outline view support,
> quick outline, hyperlinks, etc.)?
> 	How easy/quick is it to develop an OCL editor with IMP? Can it be applied
> in real-life language editors?
> 	Is IMP easily customizable/extendible? What if we want to add a new
> action/button/view/etc. to the editor?
> 	Are there any limitations/annoying bugs in IMP-based editors? It is often
> easier to fix a proprietary bug rather than work around some problem of
> an external system you depend on.
> 	What about performance? Is the response of the editor, code completion,
> etc. quick enough to satisfy users on real-life models/scripts?
> 	What is the size of the IMP runtime?
> 	Is the IMP project viable? Is it actively developed and what are its
> future plans?
> 	Does IMP require LPG2-based grammar? AFAIK, it doesn't but I would like
> to be sure about that.
> 	...
>
> AFAIU, we already have a success story of adoption of IMP in QVTR which is
> a plus to IMP-based approach. However, AFAIK, IMP is in incubation state
> by now which is a minus.
>
> 2. Editor without IMP. Creation of the OCL editor from scratch would be
> too daunting. However, we can clone the QVTO editor and change it so that
> it supports OCL. Currently, the QVTO editor supports syntax hightlighting,
> code completion and hyperlinks. The Outline View support is also avalable.
> Although currently it is hard to estimate efforts to implement this
> approach, I think it would take me about 3 weeks to do this.
>
> I am not inclined to choose any approach yet - I need to find out more on
> IMP. Ed, maybe you would recommend some good links to quickly get started
> with it?
>
> Cheers,
> - Alex.
>
> -----Original Message-----
> From: mdt-ocl.dev-bounces@xxxxxxxxxxx
> [mailto:mdt-ocl.dev-bounces@xxxxxxxxxxx] On Behalf Of
> ed@xxxxxxxxxxxxxxxxxx
> Sent: Thursday, July 02, 2009 2:06 PM
> To: mdt-ocl.dev@xxxxxxxxxxx
> Subject: [mdt-ocl.dev] MDT-OCL project organisation for add-ons (editor
> etc)
>
> Hi All
>
> We need to consider some awkward aspects of provision of the OCL editor
> (and other significant new functionality such as perhaps code synthesis)
> to MDT-OCL.
>
> I think we have three options:
>
> a) The MDT-OCL project is retitled "MDT-OCL (with optional Incubation
> elements)" so that new code is added directly to MDT-OCL => MDT-OCL
> incorporates incubation code and/or incubation dependencies.
>
> b) New functionality X is added via an MDT-OCL-X (Incubation) project
> which in due course is promoted to MDT-OCL-X => an ever increasing number
> of MDT-OCL subprojects.
>
> c) New functionality is added to a re-useable e.g. MDT-OCL Tools
> (Incubation) project and then migrated once stable => plugins change
> project.
>
> My preference is for a) if the PMC endorse the (with optional Incubation
> elements) project suffix, otherwise c).
>
> Comments?
>
>     Regards
>
>         Ed Willink
>
> _______________________________________________
> mdt-ocl.dev mailing list
> mdt-ocl.dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/mdt-ocl.dev
>
> _______________________________________________
> mdt-ocl.dev mailing list
> mdt-ocl.dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/mdt-ocl.dev
>

Attachment: Tools2009.pdf
Description: Adobe PDF document


Back to the top