ABSTRACT
From the early days of object-oriented programming, the model-view-controller paradigm has been pursued for a clear design which separates different responsibilities within an interactive application. In contrast to its untyped implementation in Smalltalk, any implementation in a statically typed language involves certain trade-offs which either blur the clear structure, destroy the intended independence, or introduce undue administrative overhead. Each alternative creates a different caricature of the originally crisp architecture. The programming model Object Teams provides a new modeling unit called Team plus a number of binding mechanisms by which a Team and its contained roles can be bound to existing parts of an application. It turns out that these mechanisms fit nicely for implementing a clear model-view-controller design not only for single elements but also for complex structures of GUI elements plus their binding to complex model structures. We furthermore propose to use the model-view-controller paradigm as a benchmark for AOSD approaches, since it combines a set of typical problems concerning the separation and integration of concerns.
- Christof Binder. Aspectual Collaborations: Erweiterung des Java-Compilers für verbesserte Modularität durch aspekt-orientierte Techniken. Diploma Thesis (German), TU Berlin, 2002.Google Scholar
- J. Brichau, W. De Meuter, and K. De Volder. Jumping aspects, position paper at the workshop "Aspects and Dimensions of Concerns", ECOOP 2000, June 2000.Google Scholar
- R. Cardone, A. Brown, S. McDirmid, and C. Lin. Using mixins to build flexible widgets. In Proc. AOSD, pages 76--85, 2002. ACM Press. Google ScholarDigital Library
- E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns - Elements of Reusable Object-Oriented Software. Addison Wesley, 1995. Google ScholarDigital Library
- S. Herrmann and M. Mezini. Combining composition styles in the evolvable language LAC. In Proc. of ASoC workshop at the 23nd ICSE, 2001.Google Scholar
- Stephan Herrmann. Object teams: Improving modularity for crosscutting collaborations. In Proc. Net Object Days 2002, www.netobjectdays.org, 2002. Google ScholarDigital Library
- Christine Hundt. Bytecode-Transformation zur Laufzeitunterstützung von aspekt-orientierter Modularisierung mit ObjectTeams/Java. Diploma Thesis (German), TU Berlin, 2003.Google Scholar
- G. E. Krasner and S. T. Pope. A cookbook for using the model-view-controller user interface paradigm in smalltalk-80. JOOP, Aug./Sept. 1988. Google ScholarDigital Library
- K. Lieberherr, D. Lorenz, and M. Mezini. Programming with aspectual components. In Technical Report, Northeastern University, April 1999.Google Scholar
- M. Mezini and K. Ostermann. Integrating independent components with on-demand remodularization. In Proc. of OOPSLA '02, 2002. Google ScholarDigital Library
- Object Teams home page. http://www.ObjectTeams.org.Google Scholar
- R. Taylor and G. Johnson. Separations of concerns in the chiron-1 user interface development and mangagement system. In Proc. of INTERCHI'93, pages 367--374. ACM, 1993. Google ScholarDigital Library
- D. Thomas and A. Hunt. Programming Ruby: A Pragmatic Programmer's Guide, Addison Wesley, 2000. Google ScholarDigital Library
- Matthias Veit. Evaluierung modularer Software-entwicklung mit "Object Teams" am Beispiel eines Projektmanagementsystems. Diploma Thesis (German), TU Berlin, 2002.Google Scholar
- Matthias Veit. Ruby Object Teams. http://sourceforge.net/projects/robjectteam.Google Scholar
- Gimp ToolKit http://www.gtk.org/Google Scholar
Index Terms
- Model-view-controller and object teams: a perfect match of paradigms
Recommendations
Aspectual mixin layers: aspects and features in concert
ICSE '06: Proceedings of the 28th international conference on Software engineeringFeature-Oriented Programming (FOP) decomposes complex software into features. Features are main abstractions in design and implementation. They reflect user requirements and incrementally refine one another. Although, features crosscut object-oriented ...
Toolkit Design for Interactive Structured Graphics
In this paper, we analyze toolkit designs for building graphical applications with rich user interfaces, comparing polylithic and monolithic toolkit-based solutions. Polylithic toolkits encourage extension by composition and follow a design philosophy ...
Online model-driven IDE to design GUIs for cross-platform mobile applications
SoICT '13: Proceedings of the 4th Symposium on Information and Communication TechnologyThe wide variation in features and capabilities of mobile devices lead to difficulties in the development of the same application on different platforms. Therefore we propose an online model-driven integrated development environment to provide ...
Comments