| <html> |
| <!-- For reference by the official project summary --> |
| <body> |
| <p><strong> |
| The Object Teams approach extends object oriented programming with new concepts |
| for reconciling the tensions that otherwise exist between modularity, re-use, |
| encapsulation and long term maintenance and evolution. This is achieved by |
| supporting programming with multiple views, which can be composed in various |
| scalable ways.</strong> |
| </p> |
| <p style="margin-bottom:0px;text-decoration:underline;"> |
| Object Teams introduces two new kinds of classes: |
| </p> |
| <ul style="margin-top:0px;margin-bottom:0px;"> |
| <li><b>Roles</b> support a per instance specialization of existing objects.</li> |
| <li>A <b>Team</b> groups a set of interacting roles into one coherent encapsulated, nestable module.</li> |
| </ul> |
| <p style="margin-top:0px;"> |
| When binding a role class to its base, methods are declaratively wired for forwarding (role-to-base: "callout") and interception (base-to-role: "callin"). |
| </p> |
| <p style="margin-bottom:0px;text-decoration:underline;"> |
| The Object Teams project provides development support at these levels: |
| </p> |
| <ul style="margin-top:0px;"> |
| <li>The programming language OT/J extends Java™</li> |
| <li>The Object Teams Development Tooling (OTDT) extends Eclipse/JDT</li> |
| <li>OT/Equinox extends Equinox</li> |
| <li>OT/JPA extends EclipseLink/JPA</li> |
| </ul> |
| </p> |
| </body> |
| </html> |