31.01.2015 Views

TAOM4E: an Eclipse ready tool for Agent-Oriented ... - FBK | SE

TAOM4E: an Eclipse ready tool for Agent-Oriented ... - FBK | SE

TAOM4E: an Eclipse ready tool for Agent-Oriented ... - FBK | SE

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Fig. 3. <strong>Eclipse</strong> 3.0 Plat<strong>for</strong>m, see [12]<br />

Fig. 4. <strong>Eclipse</strong> Plug-in architecture, see [15]<br />

Except <strong>for</strong> a small kernel known as the Plat<strong>for</strong>m Runtime, all of the <strong>Eclipse</strong> Plat<strong>for</strong>m’s<br />

functionality is located in plug-ins. Plug-ins are coded in Java. A typical plug-in<br />

consists of Java code in a JAR library, some read-only files, <strong>an</strong>d other resources such as<br />

images, web templates, message catalogs, native code libraries, etc. Some plug-ins do<br />

not contain code at all.<br />

Each plug-in has a m<strong>an</strong>ifest file declaring its interconnections to other plug-ins. The<br />

interconnection model is simple: a plug-in declares <strong>an</strong>y number of named extension<br />

points, <strong>an</strong>d <strong>an</strong>y number of extensions to one or more extension points in other plugins.<br />

A plug-ins extension points c<strong>an</strong> be extended by other plug-ins. An extension point<br />

may have a corresponding API interface. Other plug-ins contribute implementations of<br />

this interface via extensions to this extension point. Any plug-in is free to define new<br />

extension points <strong>an</strong>d to provide new API <strong>for</strong> other plug-ins to use (see Figure 5).<br />

On start-up, the Plat<strong>for</strong>m Runtime discovers the set of available plug-ins, reads<br />

their m<strong>an</strong>ifest files, <strong>an</strong>d builds <strong>an</strong> in-memory plug-in registry. The Plat<strong>for</strong>m matches

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!