End to End Development Engineering

Abstract

Raising software abstraction and re-use levels are key success factors for producing quality software products. Model-driven architecture (MDA) is an OMG initiative following this trend by mapping a conceptual model of application specified in platform independent model (PIM), to one or more platform specific models (PSM) automatically. Because there is little previous work tackling the development problem from specification through to implementation, this paper proposes End to End Development engineering (E2EDE) method using MDA methodology. E2EDE is intended to fill the mapping gap between PIM and PSM in MDA. The notion of variability is utilized from software product line and used to model design decisions in PSM. PIM is equipped with Nonfunctional requirements which borrowed from Design pattern to inform design decisions; thereby guiding the mapping process. In addition we have developed a strategic PSM for messaging systems can be configured to produce different applications such as the helpdesk system which is used as a case study.

Share and Cite:

A. Hamed and R. Colomb, "End to End Development Engineering," Journal of Software Engineering and Applications, Vol. 4 No. 4, 2011, pp. 195-216. doi: 10.4236/jsea.2011.44023.

Conflicts of Interest

The authors declare no conflicts of interest.

References

[1] “MDA Guide Version 1.0.1,”2001. http://www.omg.org/cgi-bin/doc?omg/03-06-01.
[2] K. Pohl, G.B?ckle and F. J. van derLinden, “Software Product Line Engineering: Foundations, Principles and Techniques,” Springer, Berlin, 2005, pp. 53-72.
[3] H. Min and S. D. Kim, “A Technique to Represent Prod- uct Line Core Assets in MDA/PIM for Automation,” Proceedings Rapid Integration of Software Engineering Techniques Second International Workshop (RISE 2005), Minneapolis, Vol. 3943, 2006, pp. 66-80.
[4] M. Matinlassi, “Quality-Driven Software Architecture Model Transformation,” PhD Dissertation, VTT Technical Research Centre of Finland, 2006. Online Available: www.vtt.fi/inf/pdf/publications/2006/P608.pdf
[5] S. J. Mellor, K. Scott, A. Uhl and D. Weise, “MDA Distilled: Principles of Model-Driven Architecture,” Addison Wesley, New York, 2004.
[6] R. M, Colomb “Metamodelling and Model-Driven Architecture,” In Publishing.
[7] “MOF 2.0 Core Final Adopted Specification,” 2004. http://www.omg.org/cgi-bin/doc?ptc/03-10-04.
[8] “OMG MOF QVT Final Adopted Specification,” 2005. http://www.omg.org/docs/ptc/05-11-01.pdf
[9] S. Jarzabek, “Effective Software Maintenance and Evolu- tion: A Reuse-Based Approach,” Auerbach Publications, Boca Raton, 2007, pp. 68-106. doi:10.1201/9781420013115
[10] D. Ramljak, J. Puksec, D. Huljenic, M. Koncar and D. Simic, “Building Enterprise Information System Using Model Driven Architecture on J2EE Platform,” Proceedings IEEE the 7th International Cconference on Telecommunications, Zagreb, June 2003, Vol. 2, pp. 521-526.
[11] D. Muthig and C. Atkinson, “Model-Driven Product Line Architectures,” Second International Conference on Software Product Lines, San Diego, Vol. 2379, August 2002, pp. 79-90.
[12] B. Korherr, “A UML2 Profile for Variability Models and Their Dependency to Business Processes,” Proceedings of IEEE Conference Database and Expert Systems Applications, Regensburg, September 2007, pp. 829-834.
[13] L. Chung “Representing and Using Non-Functional Requirements: A Process-Oriented Approach,” PhD Thesis. University of Toronto, Toronto, 1993.
[14] D. Gross and E. Yu, “From Non-Functional Requirements to Design through Patterns,” Requirements Engi- neering, Vol. 6, No. 1, 2001, pp. 18-36. doi:10.1007/s007660170013
[15] F. Buschmann, K. Henney and D. C. Schmidt, “Pattern Oriented Software Architecture on Patterns and Pattern Languages,” John Wiley & Sons, England, Vol. 5, 2007, pp. 67-74.
[16] M. Svahnberg, J. Van Gurp and J. Bosch, “A Taxonomy of Variability Realization Techniques,” ACM Software- Practice & Experience, Vol. 35, No. 8, July 2005, pp. 705-754.
[17] R. Elmasri and S. B. Navathe, “Fundamentals of Database Systems,” 5th Editon, Addison-Wesley, Reading, 2007, pp. 232-234.
[18] I. Dubielewicz, B. Hnatkowska, Z. Huzar and L. Tuz- inkiewicz, “Feasibility Analysis of MDA-Based Database Design,” IEEE International Conference on Dependabil- ity of Computer Systems, Washington, May 2006, pp. 19-26. doi:10.1109/DEPCOS-RELCOMEX.2006.26
[19] M. Glinz, “On Non-Functional Requirements,” Proceed- ings of the 15th IEEE International Requirements Engineering Conference, Delhi, October 2007, pp. 21-26.
[20] Wikipedia, “X Window System (Computer Science),” 2008. http://en.wikipedia.org/wiki/X_window_system.
[21] L. Bass, P. Clements and R. Kazman, “Software Architecture in Practice,” 2nd Edition. Addison-Wesley, Massachusetts, 2003, pp. 75-88.
[22] L. Zhu and I. Gorton, “UML Profiles for Design Decisions and Nonfunctional Requirements,” IEEE Second Workshop on Sharing and Resuing Architectural Knowledge, Minneapolis, May 2007, pp. 49- 54.
[23] F. J. V. Linden, K. Schmid and E. Rommes, “Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering,” Springer, Berlin Heidelberg, 2007, pp. 43-45.
[24] C. Alexander, S. Ishikawa, M. Silverstein, M. Jacobson, I. Fiksdahl-King and S. Angel, “A Pattern Language,” Ox- ford University Press, New York, 1977.
[25] Wikipedia, “Design Patterns (Computer Science),” 2008. http://en.wikipedia.org/wiki/Design_pattern_%28computer_science%29
[26] E. Gamma, R. Helm, R. Johnson and J. Vlissides, “Design Patterns: Elements of Reusable Object-Oriented Software,” Addison-Wesley, New York, 1995, pp. 79- 315.
[27] M. Yacoub, H. Xue and H. Ammar, “Automating the Development of Pattern-Oriented Designs for Application Specific Software Systems,” Proceedings IEEE the 3rd Symposium on Application-Specific Systems and Software Engineering Technology, Washington DC, March 2000, pp. 163-170.
[28] S. M. Yacoub, “Pattern-Oriented Analysis and Design (POAD): A Methodology for Software Development,” PhD Thesis, West Virginia University, Morgantown, December 1999.
[29] S. J. Mellor, K. Scott, A. Uhl and D. Weise, “MDA Distilled: Principles of Model-Driven Architecture,” Addison Wesley, New York, 2004.
[30] “OMG MOF XMI Final Adopted Specification,” July 2010. http://www.omg.org/technology/documents/formal/xmi.htm.
[31] P. Konemann, “The Gap between Design Decisions and Model Transformations,” September 2009. http://www2.imm.dtu.dk/.../the_gap_between_design_decisions_and_model_transformations.pdf
[32] D. Steinberg, F. Budinsky, M. Paternostro and E. Merks, “EMF: Eclipse Modeling Framework,” 2nd Edition, Ad- dison-Wesley Professional, Singapore, December 26 2008.
[33] “IKV++ technologies ag.MediniQVT,” 2007. http://projects.ikv.de/qvt/
[34] “W3C OWL Web Ontology Language,” August 2010. http://www.w3.org/TR/owl-ref/
[35] “OMG (2007b) OMG Unified Modeling Language (OMG UML), Superstructure, V2.1.2,” OMG Document Number: Formal/2007-11-02.
[36] W. R. Sebesta “Concepts of Programming Languages,” 5th Edition, Addison Wesley, Boston, 2005.
[37] “Microsoft Messaging Queue,” August 2010. http://www.microsoft.com/windowsserver2008/en/us/ technologies.aspx.
[38] “Advanced Message Queuing Protocol (AMQP),” 2010. http://www.amqp.org/confluence/display/AMQP/Advanced+Message+Queuing+Protocol
[39] “Java Messaging System Standard,” 2010. http://java.sun.com/products/jms/
[40] S. Vinoski, “Advanced Message Queuing Protocol,” IEEE Internet Computing, Vol. 10, No. 6, 2006, pp. 87-89. doi:10.1109/MIC.2006.116

Copyright © 2024 by authors and Scientific Research Publishing Inc.

Creative Commons License

This work and the related PDF file are licensed under a Creative Commons Attribution 4.0 International License.