Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 304008

Summary: Helios Eclipse Modeling Package
Product: [Modeling] AMP Reporter: Cedric Brun <cedric.brun>
Component: GeneralAssignee: Miles Parker <milesparker>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:
Bug Depends on:    
Bug Blocks: 302435    
Attachments:
Description Flags
Screenshot of AMP Escape Model running.
none
AMP Logo 32 x 32 none

Description Cedric Brun CLA 2010-02-26 05:09:42 EST
As you already know we are refactoring the Eclipse Modeling Package to get a
smaller package but providing means to discover complementary components.
http://dev.eclipse.org/mhonarc/lists/modeling-pmc/msg01416.html

Right now the discovery UI looks like this :

http://literate.modeling.free.fr/modeling/amalgam/discovery.png

As discussed during the PMC call your project could be one of those If you're ready for the Helios release :) .

I would need then a few data :
 * a logo, png file format in 32x32
 * the feature ID to install
 * a single line description of your component.
 * a textual paragraph description
 * a screenshot, png file format in 320x240 
 * a web url 

Please add those elements to this bug if you want to be in the discovery UI, the sooner the better and Helios M6 being the deadline.

Cédric
Comment 1 Miles Parker CLA 2010-03-01 16:01:25 EST
Wow, thanks Cédric! Here's the relevant info you requested along with a couple of other issues.

One line: Agent Modeling Platform (Incubation), including Agent Modeling Framework, Agent eXecution Framework, Agent Graphics and Visualization Framework, and Escape.

Description: The Agent Modeling Platform (AMP) provides extensible frameworks and exemplary tools for representing, editing, generating, executing and visualizing agent-based models (ABMs) and any other domain requiring spatial, behavioral and functional features. AMP has two parts: 1) The Agent Modeling Framework (AMF) which provides an Agent-Based Model (ABM) meta-model representation, editor, development environment and code generators for popular ABM platforms. 2) The AMP platform tools. The Agent Execution Framework (AXF) provides services and UI for model management, execution, and views. The Agent Graphics Framework (AGF) extends GEF, GEF3D, Zest, and the BIRT charting engine to support real-time visualization of and interaction with agent models. Escape is a complete ABM environment for Eclipse.

Web: http://eclipse.org/amp

Feature ID: org.eclipse.amp.all  

A couple of key issues: 

1. The amp.all build has a dependency on a third party update site which comes from GEF3D. I can chop out the 3D bits and provide a less full-featured feature if necessary, but I'd like to leave it in if possible. Technically and legally possible?

2. I'm still a bit unclear on Helios reqs. I hope this isn't one of those "if you have to ask" questions.. All IP requirements out of the way. Quality wise, we're in decent shape, though there is definitely work to done there, mostly in the areas of internal documentation and unit testing. I have been thinking about doing some triage of features so that I can focus on getting a 1.0 release with stable API sooner rather than later. (This mostly has to do with locking down the meta-model as it stands and waiting for a follow on release to do the newer version of it.)
Comment 2 Miles Parker CLA 2010-03-01 16:02:02 EST
Created attachment 160532 [details]
Screenshot of AMP Escape Model running.
Comment 3 Miles Parker CLA 2010-03-01 16:04:00 EST
Created attachment 160534 [details]
AMP Logo 32 x 32
Comment 4 Miles Parker CLA 2010-03-01 16:08:28 EST
I realized that my edited description is a bit redundent.,

Description: The Agent Modeling Platform (AMP) provides tools for modeling and running Agent-based Models (ABMs) as well as support for generic software agents in any domain requiring spatial,
behavioral and functional features. AMP has two parts: 1) The Agent Modeling
Framework (AMF) which provides an Agent-Based Model (ABM) meta-model
representation, editor, development environment and code generators for popular
ABM platforms. 2) The AMP platform tools, including: The Agent Execution Framework (AXF)
provides services and UI for model management, execution, and views; The Agent
Graphics Framework (AGF) extends GEF, GEF3D, Zest, and the BIRT charting engine
to support real-time visualization of and interaction with agent models; and Escape,
a complete ABM environment for Eclipse.
Comment 5 Cedric Brun CLA 2010-03-02 08:57:05 EST
thanks Miles, 

a few comments:

your "one line" description is way too long for the UI and is not really explaining what AMP is about.



1. I need an update-site will all the required dependencies which are not in helios and GEF3D will be one of those, we can, both technically and legaly, make the UI install AMP from a "non eclipse update-site" including all the parts you want, but then the user will get a popup explaining that when selecting AMP. It's up to you, XText will already do that for their ANTLR dependency which cannot be hosted on Eclipse.org . For your information, the Eclipse foundation board will provide a policy for these cases but so far we're good if we stick to what mylyn does as an example.

Its up to you :)

2. So far you don't need to fulfill all the Helios requirements to be part of the discovery ui, that said you have no choice than being compliant with the Eclipse Development Process and have a release review. All I'll ask you is to test installation of AMP in the resulting bundle and if there are issues then we'll try to fix it.
Comment 6 Miles Parker CLA 2010-03-02 12:57:20 EST
re: one-liner, I was thinking that you were wanting the feature name. So I'm not quite sure which line of the discovery UI this is for, so I'll give you all three w/ their analagous entries from discovery UI:

Category / "Model to Text": Agent Modeling

This is the category name I use for P2 -- the idea here being that it's general enough that other projects could use the same category. 

Category Description / "Model to Text (also known..)": Agent Modeling tools and technologies.

Descriptive Text ("Acceleo is.."):   AMP provides a complete set of modeling tools as well as graphics and execution support for models of complex  real-world systems.

BTW, it might be somewhat awkward that Agent Modeling appears first in the list alphabetically -- I won't be hurt if you want to rearrange to have the more popular tools up top. :)

followup Qs:

1. If I refer to an external site, do I need to use that entirely, or can I use two URLs and still get the bulk of the stuff from Eclipse.org? This is a big issue for me, as I don't really think it makes sense to maintain a complete build and download off of Eclipse / Hudson but I do have this one tiny dependency. (And actually, the GEF3D guys are trying to change to a different 3D engine, but I doubt that will be pre-Helios.)

2. OK, I'm going to go for it then. :) Sorry for the dumb question, but by release review, do you mean that I have to be 1.0, or can I still be Incubation? I ask because you mention Incubation as being potentially included in the original discussion.

I think this is really a great approach, BTW!
Comment 7 Cedric Brun CLA 2010-03-08 08:43:38 EST
1. Ok, just updated the discovery code to be able to handle "multi-update-sites" contributions, that should work for you then, you can give me several features and several update-sites. You'll probably need to test the discovery UI a bit more though as that's not the general case.

2. Being in incubation is not a problem *at all*, but if you want to release a new version of AMP, you *need*  a release review for it, whether your incubating or not has no effect here. http://www.eclipse.org/projects/dev_process/development_process.php#6_3_3_Release_Review
Comment 8 Miles Parker CLA 2010-03-11 15:22:01 EST
(In reply to comment #7)
> 1. Ok, just updated the discovery code to be able to handle
> "multi-update-sites" contributions, that should work for you then, you can give
> me several features and several update-sites. You'll probably need to test the
> discovery UI a bit more though as that's not the general case.

Great, thanks. Actually, I think it could be fine to have the first case where the user simply clicks through the 3D box. That's dependent on one more question.. if the user were to click "no" on the third party box, could everything but the stuff with the dependencies on third party be installed? I'm thinking that that is how XText would want it as well, since their ANTLR dependency is really optional.

> 
> 2. Being in incubation is not a problem *at all*, but if you want to release a
> new version of AMP, you *need*  a release review for it, whether your
> incubating or not has no effect here.
> http://www.eclipse.org/projects/dev_process/development_process.php#6_3_3_Release_Review

OK, I really need to get on that.. I'm scrambling with another release issue but I'll but this on top of priority list, though I'm thinking that not a lot is going to be happening process wise through the next couple of weeks.
Comment 9 Miles Parker CLA 2010-03-11 15:43:33 EST
Sorry, ignore the first part of that last comment. Fighting off a cold and a bit bleary so I lost my place in the thread context. :) To try to be a bit more clear. Given this scenario:

A is all Eclipse Project with no external dependencies.

X is external (non CQ'd) dependencies.

B is additional Eclipse project stuff with third party dependencies.

A + X + B = C (Ideal package)

I think there are (at least) three possibilities here:

1.

We could have one listed feature pull from two sites:

_My Project Complete SDK_
A http://eclipse.org
X http://icky_license.org
B http://eclipse.org

User must click through third party IP to get A + B + X. If user clicks no, they get nada.

2.

As 1., but if user clicks "no" they get just A.

3.

_My Project Without External_
A http://myexternalsite.org
X http://myexternalsite.org
B http://myexternalsite.org

All or nothing. This seems like how XText is doing things with Itemis site.

4.

_My Project Without External_
A http://eclipse.org

_My Project with External_
X http://icky_license.org
B http://myexternalsite.org


Case 2 would be ideal, but case 1. would work fine too. Case 3 would actually be almost less attractive as then I have to maintain two separate sites. So which cases would I be able to do?

-Miles
Comment 10 Miles Parker CLA 2010-03-11 15:45:06 EST
Oops, read 

"Case [4] would actually be almost less attractive .."
Comment 11 Cedric Brun CLA 2010-03-16 10:00:26 EDT
I had to read a few times to make sure I understand ;) 

Right now we only support case 1, we can install one or many features from one or many update-sites but features are not linked to the "acceptance" of a popup. 

Case 2 looks would be possible but I would need to update the discovery code a bit and I'm not sure, given the timeframe, I'll be able to. Furthermore we would then have more scenarios to test, let's keep that for v2 ;)

As for the "popup", right now we discussed with XText and the foundation and we're arriving at that :

https://bugs.eclipse.org/bugs/attachment.cgi?id=161460

There is no popup but a link to a website explaning what is "non ip-approved". 

If you're going this way I'll need this web URL explaining the AMP case,  XText is using this page : http://www.eclipse.org/Xtext/download/
Comment 12 Miles Parker CLA 2010-06-06 18:14:18 EDT
Cédric,

I keep meaning to circle back to this and then something comes up. I think that XText link is a dead link. But I checked with GEF3D team -- they have the only non-IP dependency and I have an (optional) depdency on them. Here's the deal quoting from Jens on GEF-3D dev list..

[snip]

>On 26.05.10 02:43, Miles Parker wrote:
>I'm trying to remember what the deal is with LWJGL libraries WRT to IP. They claim on the website that >it's BSD, but does it contain something that isn't?

Short answer: Probably yes.
Longer answer:

  * It contains SGI header files (well, almost every OpenGL related
    software will contain SGI header files), these files are published
    under the SGI free license. Fortunately, the latest version of
    this license is compatible to EPL, although it is not BSD.
    Actually, this is true for JOGL as well. However, it is possible
    to replace these files with Mesa versions, which is licensed under
    the MIT license (but frankly, I'm not sure what's inside Mesa...)
  * The LWJGL project has not been concerned with provenance of the
    contributions. That is, authors contributing to LWJGL have not
    explicitly confirmed their ownership of the submissions. Since it
    is impossible to get a list of all authors and what they have
    contributed, it is impossible to get these confirmations a
    posteriori. So, there might be some code which is not BSD, but we
    will probably never know...


So, the deal with respect to IP is as follows: LWJGL has not been approved for use within Eclipse due to unsettled code provenance.

[/snip]

Given this I guess I'm not sure exactly what to put in such a URL and I can't locate the XText caveat. Any suggestions for language? Otherwise once I get release post Helios wrap-up then I guess we're good to go?
Comment 13 Cedric Brun CLA 2010-06-08 12:37:48 EDT
Hi Miles,


That's right, the link is not clickable in the discovery UI, I'm fixing it for RC4. The XText link was http://www.eclipse.org/Xtext/download/ but there is no more legal notice there (I just tracked bug #316170 for the xText team)

I can't recall the exact wording but we can ask the fondation or even the xText team. I can only find this :
"Due to IP restrictions, they may not be provided off the Eclipse website, so we decided to make them available here."

here :

http://oaw.itemis.com/openarchitectureware/downloads/language=en/20361/update-site

but this message is not clear enough in my opinion.

a message like "This contribution depends on the LWJGL component which has not been approved for use within Eclipse due to unsettled code provenance." on a web page looks quite clear to me. 

As we're not providing the ability for the end user to say "ok, I'm going to install AMP withouth LWJGL" you should probably explain, on this webpage, how to install it through the update-site.

Once this is done and your release is validated by the foundation you're good to go :)
Comment 14 Miles Parker CLA 2010-06-08 12:51:17 EDT
Great thanks Cédric. I'll send a note to the foundation emo. My release will be after Helios for obvious reasons. :)
Comment 15 Miles Parker CLA 2010-06-17 14:00:57 EDT
Hi Cédric,

I've got the text in place, heres' the link:

http://www.eclipse.org/amp/installing/about_discovery.php

And, I have a release review scheduled next week the day of the Helios realease, somewhat coincidently. So hopefully we'll be able to add this in post Helios.

cheers,

Miles
Comment 16 Cedric Brun CLA 2010-07-02 10:39:21 EDT
We're all set, now that your release has been done I activated the AMP contribution in the discovery UI. I installed it and it worked correctly, feel free to reopen this bug if there is any problem.
Comment 17 Miles Parker CLA 2010-07-02 15:23:18 EDT
OMG..that is so unbelievably cool!! I've been working on a full IDE build, but with this working I really don't think I need it. Thanks Cédric..great work on pushing this forward.

As a note re: discovery licensing see bug 318758.