Gold sponsors

IBM Corporation

Jasmine Conseil logo

Cloudsoft logo

Sonatype logo

SAP logo

Xored logo


Amazon logo

Silver sponsors

Blackberry logo

ZeroTurnaround logo

Amazon Web Services logo

bsi logo

OnPositive logo


Nuxeo logo


Bronze sponsors



Microsoft logo

Paremus logo

JBoss logo

Genuitec logo

Juniper logo

Soyatec logo

itemis logo

Totvs logo

AccuRev logo

Activity sponsor


Media sponsors

Methods & Tools logo

Hands-on introduction to Object Teams

Stephan Herrmann, Olaf Otto

Making at Eclipse · Tutorial
Thursday, 10:30, 2 hours | Ballroom BC


So you've heard some claims about Object Teams regarding modularity, flexibility, encapsulation, evolvability, readability, maintainability, reuse and what-not, but you simply don't see how a single programming language based on Java can help achieving all these goals simultaneously? Now is the time to get your hands on the Object Teams Development Tooling and write your first programs in OT/J.

Just in the spirit of this seamless extension of Java, we will start with some simple objects, adding Role objects as extensions to normal objects. By adding and removing Roles at runtime you will learn the dynamic side of an inheritance-like relationship.

Next you'll learn how a Team module groups a set of interacting roles into a well-encapsulated module. You'll learn how Teams combine the dynamic properties of objects with the scalability of (nestable) components.

There's enough room to learn that inheritance is much more powerful than they told you in class. Just imagine, e.g., that inheritance can be applied to components of arbitrary size.

Finally, you'll write your first plugin using OT/Equinox, realizing that unanticipated adaptation of existing plugins can be done with ease and with style.

The tutorial will interleave short concept presentations with hands-on parts, starting from simple examples to follow along gradually advancing up-to a final exercise that will challenge your creativity in applying OT/J out in the wild.

Software used:

To reduce setup time during the tutorial we encourage you to pre-install the latest and greatest:
Eclipse SDK 3.7 M6
Object Teams Development Tooling 0.8 M6
Object Teams Equinox Integration 0.8 M6
→ using update site (example sources)

Stephan Herrmann received his Ph.D. at Technische Universit├Ąt Berlin in 2002. Since then his focus is on developing the concepts of Object Teams, the language OT/J and its tools. He is the lead of the recently created Eclipse Object Teams Project and a committer on the JDT/Core. He has been teaching OT/J in class since 2003 and in tutorials at international conferences (NODe'05, AOSD'06. ECOOP'09). Stephan has organized the 2007-edition of the European Conference on Object-Oriented Programming (ECOOP) and several workshops. He has been a speaker at international conferences like OOPSLA, TOOLS, AOSD, JAX, GeeCON and EclipseCon. He recently joined GK Software AG as a Software Architect.

Olaf Otto received his diploma (masters) in computer science from Technische Universit├Ąt Berlin in 2009. Since 2000, he had worked as a software engineer and system architect for Aperto AG, Berlin and is working as an application architect for Unic AG in Bern, Switzerland since 2009 where he advocates clean code and OO best practices. His work focuses on OOA / OOD, aspect orientation and OSGi in high-availability enterprise web applications. He is a contributor to the Eclipse Object Teams Project, namely responsible for the Eclipselink / JPA persistence integration of Object Teams.