Integrating Shadows in Model Driven Engineering for Agile Software Development

Shadows are well known as a programming language feature in the application area of MUDs (a certain type of multi-player online game). We argue that agile methodologies can be enhanced by the use of shadows as this feature because of its inherent ability to dynamically change the behavior of classes and objects, provides mechanisms to ease common tasks such as prototyping, deprecating, dynamic classification and interclassing at run-time. Therefore shadows should be considered a notion beyond any specific programming languages in order to facilitate its use in model-driven software engineering. For this we introduce Shadows-UML, an UML extension, that would help to push forward the convergence between model-driven and agile methodologies.

[1]  Marianne Huchard,et al.  Enhancing the UML with shadows for agile development , 2007, Software Engineering.

[2]  Amedeo Napoli,et al.  Évolution d'une hiérarchie de classes par interclassement , 2001 .

[3]  Sophia Drossopoulou,et al.  Fickle : Dynamic Object Re-classification , 2001, ECOOP.

[4]  Craig Chambers,et al.  Predicate Classes , 1993, ECOOP.

[5]  Mariangiola Dezani-Ciancaglini,et al.  On Re-classification and Multi-threading , 2004, J. Object Technol..

[6]  Anneke Kleppe,et al.  Informal Formality? The Object Constraint Language and Its Application in the UML Metamodel , 1998, UML.

[7]  Philippe Lahire,et al.  Using Both Specialisation and Generalisation in a Programming Language: Why and How? , 2002, OOIS Workshops.

[8]  H. Van Dyke Parunak,et al.  Changing Roles: Dynamic Role Assignment , 2003, J. Object Technol..

[9]  Craig Chambers,et al.  The cecil language: specification and rationale , 1993 .

[10]  Steve R. Palmer,et al.  A Practical Guide to Feature-Driven Development , 2002 .

[11]  James Coplien,et al.  Advanced C++ Programming Styles and Idioms , 1991, Proceedings. Technology of Object-Oriented Languages and Systems, TOOLS 25 (Cat. No.97TB100239).

[12]  Nathalie Gaertner,et al.  Mod? lisation objet avec uml , 1997 .

[13]  Carsten Maple,et al.  Object shadowing – a key concept for a modern programming language , 2004 .

[14]  K. Beck,et al.  Extreme Programming Explained , 2002 .

[15]  Christian Heide Damm,et al.  Tool support for cooperative object-oriented design: gesture based modelling on an electronic whiteboard , 2000, CHI.

[16]  Sophia Drossopoulou,et al.  More dynamic object reclassification: Fickle∥ , 2002, TOPL.

[17]  Stephen J. Mellor,et al.  Executable UML - A Foundation for Model-Driven Architecture , 2002, Addison Wesley object technology series.

[18]  Bernhard Rumpe Agile Test-based Modeling , 2006, Software Engineering Research and Practice.

[19]  Sandra Pott,et al.  Enriching the Object-Oriented Paradigm via Shadows in the Context of Mathematics , 2006, J. Object Technol..

[20]  James A. Highsmith,et al.  Adaptive Software Development: A Collaborative Approach to Managing Complex Systems , 1999 .

[21]  Bernhard Rumpe,et al.  Agile Modeling with the UML , 2002, RISSEF.