Traceability-centric model-driven object-oriented engineering

Context: Object-oriented (OO) development method is a popular paradigm in developing target systems. However, the current practices of OO analysis and design (OOAD) and implementation largely rely on human developers' experience and expertise, making it possible less efficient and more error-prone. Hence, there is room for improving the development efficiency while preserving high quality of programs. Objective: Model-driven development (MDD) is a promising approach to developing programs by machine-assisted model transformation, saving human efforts and reducing the possibility of introducing program faults. Hence, it is appealing to apply key disciplines of MDD in developing OO programs. Method: In this paper, we propose a comprehensive framework for applying MDD on OO program engineering in a rigorous and formal fashion. The framework consists of: (1) a hybrid engineering model of human and machine, (2) meta-models of OOAD artifacts, (3) traceability map with trace links, and (4) transformation rules. Results: We identified five platform independent models and two platform specific models, and defined formal representations for them. We identified 16 traceability links and accordingly 16 transformation rules among the eight artifacts. Through the case study, we showed that our work is feasible and applicable. We assessed our work and concluded that our work is sound, complete, and extendable. Our work established the foundation toward automatic generation of OO programs based on the traceability framework. Conclusion: It is concluded that it is essential to identify the OOAD artifacts, traceability links, and transformation rules for automatic generation of OO programs. It is also important to understand the human involvement nature in MDD and to explicitly treat them in the model transformation.

[1]  Fabrizio Di Crosta GUIDE FOR ISO/IEC 12207 (SOFTWARE LIFE CYCLE PROCESSES) , 2010 .

[2]  Soo Dong Kim Lessons learned from a nationwide CBD promotion project , 2002, CACM.

[3]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[4]  Ivar Jacobson,et al.  Object-Oriented Software Engineering , 1991, TOOLS.

[5]  Sebastian Herold,et al.  A Seamless Modeling Approach for Service-Oriented Information Systems , 2008, Fifth International Conference on Information Technology: New Generations (itng 2008).

[6]  Patricio Letelier A Framework for Requirements Traceability in UML-based Projects , 2002 .

[7]  Kouichi Ono,et al.  Model-driven development of large-scale Web applications , 2004, IBM J. Res. Dev..

[8]  James E. Rumbaugh,et al.  Object-Oriented Modeling and Design with UML , 2004 .

[9]  Mike O'Docherty Object-Oriented Analysis and Design: Understanding System Development with UML 2.0 , 2005 .

[10]  Oscar Díaz,et al.  Feature Oriented Model Driven Development: A Case Study for Portlets , 2007, 29th International Conference on Software Engineering (ICSE'07).

[11]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[12]  Gustavo Rossi,et al.  Model-Driven Development of Web Applications with UWA, MVC and JavaServer Faces , 2007, ICWE.

[13]  Julia Rubin,et al.  Model traceability , 2006, IBM Syst. J..

[14]  David Frankel,et al.  Model Driven Architecture: Applying MDA to Enterprise Computing , 2003 .

[15]  A. Moreira,et al.  A Traceability Method for Crosscutting Concerns with Transformation Rules , 2007, Early Aspects at ICSE: Workshops in Aspect-Oriented Requirements Engineering and Architecture Design (EARLYASPECTS'07).

[16]  Eoin Woods,et al.  Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives , 2005 .

[17]  Scott W. Ambler,et al.  The Elements of UML(TM) 2.0 Style , 2005 .

[18]  Rohan J. McAdam,et al.  A Software Architecture Primer , 2006 .

[19]  Michal Antkiewicz,et al.  Mapping features to models: a template approach based on superimposed variants , 2005, GPCE'05.

[20]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[21]  Sabnam Sengupta,et al.  Functional Specifications of Object Oriented Systems: A Model Driven Framework , 2007, 31st Annual International Computer Software and Applications Conference (COMPSAC 2007).

[22]  Kendall Scott,et al.  Applying Use Case Driven Object Modeling with UML: An Annotated e-Commerce Example , 2001 .

[23]  Matthias Jarke,et al.  Toward Reference Models of Requirements Traceability , 2001, IEEE Trans. Software Eng..

[24]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition) , 1997 .

[25]  Krzysztof Czarnecki,et al.  Feature-based survey of model transformation approaches , 2006, IBM Syst. J..

[26]  Jim Arlow,et al.  Uml and the Unified Process: Practical Object-Oriented Analysis and Design , 2005 .

[27]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process , 2001 .

[28]  Amrit Tiwana,et al.  Supporting Information Product and Service Families with Traceability , 2001, PFE.

[29]  Ilka Philippow,et al.  Customizing Traceability Links for the Unified Process , 2007, QoSA.

[30]  Coln Atkinson,et al.  Object-oriented development: The fusion method , 1996 .

[31]  Stefano Ceri,et al.  Conceptual Modeling of Data-Intensive Web Applications , 2002, IEEE Internet Comput..

[32]  S. Vale,et al.  Model Driven Development of Context-aware Service Oriented Architecture , 2008, 2008 11th IEEE International Conference on Computational Science and Engineering - Workshops.

[33]  Julien Vayssière,et al.  A Model Driven Approach to Agent-Based Service-Oriented Architectures , 2006, MATES.

[34]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach (McGraw-Hill Series in Computer Science) , 2004 .

[35]  Jonathan I. Maletic,et al.  Proceedings of the 3rd international workshop on Traceability in emerging forms of software engineering , 2005 .

[36]  Alistair Cockburn,et al.  Writing Effective Use Cases , 2000 .

[37]  Denys Poshyvanyk,et al.  When and how to visualize traceability links? , 2005, TEFSE '05.

[38]  Paul Clements,et al.  Documenting Software Architectures in an Agile World , 2003 .

[39]  L. Rene Abreo,et al.  Software Requirements Using the Unified Process: A Practical Approach , 2002 .

[40]  Ivar Jacobson,et al.  Unified Modeling Language User Guide, The (2nd Edition) (Addison-Wesley Object Technology Series) , 2005 .

[41]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[42]  David Garlan,et al.  Documenting software architectures: views and beyond , 2002, 25th International Conference on Software Engineering, 2003. Proceedings..

[43]  Kendall Scott,et al.  UML distilled - a brief guide to the Standard Object Modeling Language (2. ed.) , 2000, notThenot Addison-Wesley object technology series.

[44]  Gang Huang,et al.  Traceability between Software Architecture Models , 2006, 30th Annual International Computer Software and Applications Conference (COMPSAC'06).

[45]  David Brown,et al.  Model-driven systems development , 2006, IEEE Engineering Management Review.

[46]  Joseph A. Goguen,et al.  An Object-Oriented Tool for Tracing Requirements , 1996, IEEE Softw..

[47]  Richard N. Taylor,et al.  Software architecture: foundations, theory, and practice , 2009, 2010 ACM/IEEE 32nd International Conference on Software Engineering.