Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cross-project-issues-dev] Re: EMF usage in TPTP 4.4.0

I've done a quick investigation of the Europa plugins regarding EMF and required execution environment.

I've downloaded all the M4 or latest SDK drivers (or update site zips) for the projects listed in

Here are some full text search results in the MANIFEST.MF files from all Europa plugins (the search strings are on the left side and the plugin count is on the right side):

Bjorn, regarding your previous comment:

        "So as long as you do not regenerate your models, the code will continue to work on JVM 1.4 without change or reduced functionality. I also assume, but have not verified, that you could always re-generate your         models using an older EMF and thus continue to use JVM 1.4 with newer models."

we used EMF 2.2.2 to generate, and we ran the code against EMF 2.3.0 (under J2SE 1.5) to confirm that the binary compatibility works fine, we didn't find any problems yet (we covered most of our functions in one day of extensive testing, we will see if this finding remains true after a full test pass).

The main problem is that EMF 2.3.0 requires J2SE-1.5 at runtime, I haven't tried yet to remove that requirement and run it on J2SE-1.4 to see if it works in our scenarios, if it works then I don't understand why they require J2SE-1.5 at runtime.

Based on the large number of plugins that uses EMF (more than 50 direct dependencies on EMF, and I didn't include XSD which also requires J2SE 1.5) and the fact that Europa will not provide EMF 2.2.0 I believe a significant part of Europa functions will not be available on J2SE 1.4 although most of the code could be compatible with (runnable on) J2SE 1.4.

Although I focused on EMF in this investigation I've seen other plugins that requires J2SE 1.5, besides Mylar (which probably is not required by anybody, so no impact on other components) I also found that org.eclipse.gmf.common (by name looks to be a root plugin in GMF) requires J2SE 1.5, so the J2SE 1.5 requirement might be much larger.

I still think Europa should state more clearly what really works on each target deployment environment, just saying that (hopefully) most part of it works on J2SE 1.4 and another (small) part would surface only on J2SE 1.5 might not be enough for the user to decide how it can be used.

Thanks !

Marius Slavescu
IBM Toronto Laboratory, Canada
Phone: 905-413-3610

Jeff McAffer/Ottawa/IBM@IBMCA
Sent by: cross-project-issues-dev-bounces@xxxxxxxxxxx

01/07/2007 07:33 PM

Please respond to
Cross project issues <cross-project-issues-dev@xxxxxxxxxxx>

Cross project issues <cross-project-issues-dev@xxxxxxxxxxx>
cross-project-issues-dev-bounces@xxxxxxxxxxx, tptp-pmc@xxxxxxxxxxx, Cross project issues <cross-project-issues-dev@xxxxxxxxxxx>
Re: [cross-project-issues-dev] Re: EMF usage in TPTP 4.4.0

Bjorn wrote on 01/06/2007 12:52:41 PM:

> TPTP PMC, (cc for FYI to Europa leads)
> While reading the TPTP PMC mailing list, I encountered this statement:

> I think Europa should declare the JRE level that's required to run
> it otherwise most of the components might not work (not sure if they
> can be installed either when Java 1.4 is used).

> One of the requirements for participation in Europa is #8 on the wiki list:
>     8. All plug-ins must correctly list their required JVM versions
> in the manifest/plugin.xml.
> As I understand it, plug-ins for JVM 5 will not load when a JVM 1.4
> is being used, as long as the manifests are correct. Thus the Europa
> distro will run on both JVM 5 and JVM 1.4 (although perhaps with
> reduced functionality on 1.4 because fewer plug-ins will load). Does
> this solve the issue or am I missing something?

Indeed a bundle declaring an Execution Environment that is not supported at runtime will not be resolved and will not run.  Having each bundle marked with its *minimum* required execution environment is an important part of communicating the usability of the bundle to consumers.  In a complex system however there is still a challenge in determining the "real" minimum.  For example, it is likely that the 3.3 Eclipse SDK will ship with a few plugins marked as requireing Java 5 and Java 6 whereas the vast majority of the rest of the plugins will be marked as Foundation 1.0 or J2SE 1.4.  Our intention is that the SDK work just fine on 1.4 but some of the additional function requiring Java 5 or 6 just not be available.  In this case the "reduced functionality" is likely quite understandable and acceptable to end users.

In the larger context of Europa, when some basic infrastructure piece like EMF (just to pick on Ed) says it needs Java 5, there may be a ripple on that causes whole swaths of plugins to no longer resolve or function.  We don't currently have any markup or other means of indicating the difference between these two cases.  So people need to look a little more deeply when considering these scenarios.

cross-project-issues-dev mailing list

Attachment: europa-plugins-stats.xls
Description: MS-Excel spreadsheet

Back to the top