Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Category:OTEquinox"
(New page: right ==Overview== OT/Equinox is the integration of OT/J into the Eclipse Equinox framework. It can be used to develop and/o...) |
(→Technical Background and Howtos: updated as of OTDT 2.3.0) |
||
(3 intermediate revisions by one other user not shown) | |||
Line 11: | Line 11: | ||
The initial publication about OT/Equinox is the [http://www.objectteams.org/publications/#TOOLS07b TOOLS'07] paper. | The initial publication about OT/Equinox is the [http://www.objectteams.org/publications/#TOOLS07b TOOLS'07] paper. | ||
− | The central new concept is an [[OTEquinox/Aspect Binding|Aspect Binding]] which is defined at the architecture level, connecting a '''team''' class ({{otjld|1|.1}}) sitting in an '''aspect bundle''' to a '''base bundle'''. Such binding grants the team permissions to adapt base classes from that base bundle. | + | The central new concept is an '''[[OTEquinox/Aspect Binding|Aspect Binding]]''' which is defined at the architecture level, connecting a '''team''' class ({{otjld|1|.1}}) sitting in an '''aspect bundle''' to a '''base bundle'''. Such binding grants the team permissions to adapt base classes from that base bundle. |
Line 23: | Line 23: | ||
:However, more general terms like '''AOSD''' (aspect oriented software development, see http://www.aosd.net) have been coined with the ''intention'' to cover various approaches that share the motivation of [http://www.cs.uoregon.edu/events/icse2009/awards/ multi-dimensional separation of concerns] while offering solutions that significantly differ from AspectJ. | :However, more general terms like '''AOSD''' (aspect oriented software development, see http://www.aosd.net) have been coined with the ''intention'' to cover various approaches that share the motivation of [http://www.cs.uoregon.edu/events/icse2009/awards/ multi-dimensional separation of concerns] while offering solutions that significantly differ from AspectJ. | ||
:The OT/Equinox terms of '''aspect bundle''' and '''aspect binding''' etc. are meant to refer to the broader term '''AOSD''' with no implied reference to AspectJ. | :The OT/Equinox terms of '''aspect bundle''' and '''aspect binding''' etc. are meant to refer to the broader term '''AOSD''' with no implied reference to AspectJ. | ||
+ | |||
+ | ==Technical Background and Howtos== | ||
+ | :'''Prerequisite and Installation:''' | ||
+ | :* In order to leverage OT/Equinox the "''Object Teams Equinox Integration''" must be installed (from the simultaneous release like [https://www.eclipse.org/luna/ Luna] or the specific [http://www.eclipse.org/objectteams/download.php OT download]). | ||
+ | |||
+ | :'''On Launching''': | ||
+ | :* [[OTEquinox/Howto Run A Product Or Application|Howto Run A Product Or Application]] | ||
+ | :* [[OTEquinox/Howto Run OTEquinox Bundles|Howto Run OT/Equinox Bundles]] | ||
+ | :* [[OTEquinox/Howto Run OTEquinox Bundles Standalone|Howot Run OT/Equinox Bundles Standalone]] | ||
+ | |||
+ | :'''Migration to OT/Equinox''': | ||
+ | :* [[OTEquinox/Howto Create OTEquinox App From OTApp|Howto Create OTEquinox App From OT App]] | ||
+ | |||
+ | |||
[[Category:Object Teams]] | [[Category:Object Teams]] |
Latest revision as of 14:19, 17 August 2014
Overview
OT/Equinox is the integration of OT/J into the Eclipse Equinox framework. It can be used to develop and/or adapt
- Eclipse plug-ins
- RCP applications/products
- arbitrary OSGi bundles
while utilizing all of the features of OT/J. In the sequel, any mentioning of "bundles" could also be read as Eclipse "plug-in" if that is your focus.
Description
The initial publication about OT/Equinox is the TOOLS'07 paper.
The central new concept is an Aspect Binding which is defined at the architecture level, connecting a team class (OTJLD §1.1) sitting in an aspect bundle to a base bundle. Such binding grants the team permissions to adapt base classes from that base bundle.
Starting from version OTDT 1.2.0, OT/Equinox is provided as a regular Eclipse feature that can be installed into Eclipse using the regular mechanisms of Eclipse's p2 provisioning subsystem (successor of the former "update manager"). With the OT/Equinox feature installed, an Eclipse instance is able to run bundles written in OT/J and declaring aspect bindings.
With an aspect binding declared, a bundle may use playedBy (OTJLD §2.1), callout (OTJLD §3) and callin (OTJLD §4) to attach to classes/methods of the base plugin. This includes the options of decapsulation (OTJLD §3.4), while generally adhering to export/import rules of OSGi. In those rare cases where an aspect bundle needs access to a base class that is not exported from its bundle, an aspect bundle may declare a Forced Export to inject the required export into the base bundle. A forced export is declared as part of an aspect binding and must be confirmed either by a system-wide declaration in the file eclipse/configuration/config.ini
, or using one of the options of Aspect Binding Negotiation.
- Remark on Terminlogy:
- It is sometimes disputed whether or not Object Teams is an Aspect technology.
- The term AOP (aspect oriented programming) is tightly connected to the language AspectJ, to which OT/J has very little resemblance - so it is probably not useful to call Object Teams an AOP-approach.
- However, more general terms like AOSD (aspect oriented software development, see http://www.aosd.net) have been coined with the intention to cover various approaches that share the motivation of multi-dimensional separation of concerns while offering solutions that significantly differ from AspectJ.
- The OT/Equinox terms of aspect bundle and aspect binding etc. are meant to refer to the broader term AOSD with no implied reference to AspectJ.
Technical Background and Howtos
- Prerequisite and Installation:
- In order to leverage OT/Equinox the "Object Teams Equinox Integration" must be installed (from the simultaneous release like Luna or the specific OT download).
- On Launching:
- Migration to OT/Equinox:
Pages in category "OTEquinox"
The following 8 pages are in this category, out of 8 total.
Media in category "OTEquinox"
The following 2 files are in this category, out of 2 total.