Skip to main content

Assessing Aspect Modularizations Using Design Structure Matrix and Net Option Value

  • Conference paper
Book cover Transactions on Aspect-Oriented Software Development I

Part of the book series: Lecture Notes in Computer Science ((TAOSD,volume 3880))

Abstract

The design structure matrix (DSM) methodology and the net option value (NOV) model have been used before to show how aspects can add value to a design. Following an in-depth analysis of that study, this paper demonstrates how aspects can be beneficial as well as detrimental. The structural transformations involved in aspect modularizations are carefully analyzed in the context of DSMs. This analysis exposes the unique reversion effect on dependencies that aspect modules are known for. To capture that effect within the NOV model, we extend its original set of six modular operators with an additional reversion operator. Using a design case study, its NOV worksheet and NOV experiments’ curves are presented to show a simulation of the evolutionary patterns of modules, including aspect modules. These patterns show how subtle dependencies, or the lack of them, bring down, or up, the value of an existing design. Based on the observations made in this case study, preliminary design guidelines for aspects are formulated.

This work has been supported in part by the National Science Foundation’s grant no. CCF-0347902.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Tutorials and resources on DSM (2005), http://www.dsmweb.org (Cited 20 September 2005)

  2. Lattix Web site (2005), http://www.lattix.com (Cited 20 September 2005)

  3. AspectJ project Web site (2005), http://www.aspectj.org (Cited 20 September 2005)

  4. MapPoint Object Model (2005), http://msdn.microsoft.com (Cited 20 September 2005)

  5. Concern Manipulation Environment (CME) (2005), http://www.eclipse.org/cme (Cited 20 September 2005)

  6. AspectWerkz (2005), http://aspectwerkz.codehaus.org (Cited 20 September 2005)

  7. The Apache Foundation. Apache AXIS (2005), http://ws.apache.org/axis (Cited 20 September 2005)

  8. MapPoint Web services (2005), http://www.mappoint.com (Cited 20 September 2005)

  9. Spatialpoint (2005), http://www.spatialpoint.com (Cited 20 September 2005)

  10. Sun Microsystems. Java Servlet Specifiation (2005), http://java.sun.com/products/servlet (Cited 20 September 2005)

  11. Sun Microsystems. J2EE, Java 2 Enterprise Edition Specification (2005), http://java.sun.com/j2ee (Cited 20 September 2005)

  12. Bajracharya, S.K., Ngo, T.C., Lopes, C.V.: On using net options value as a value based design framework. In: EDSER 2005: Proceedings of the Seventh International Workshop on Economics-Driven Software Engineering Research, pp. 1–3. ACM, New York (2005)

    Chapter  Google Scholar 

  13. Baldwin, C.Y., Clark, K.B.: Design Rules. In: The Power of Modularity, vol. I, MIT Press, Cambridge (2000)

    Google Scholar 

  14. Blundell, J.K., Hines, M.L., Stach, J.: The measurement of software design quality. Ann. Softw. Eng. 4, 235–255 (1997)

    Article  Google Scholar 

  15. Browning, T.R.: Applying the design structure matrix to system decomposition and integration problems: a review and new directions. IEEE Transactions on Engineering Management 48, 292–306 (2001)

    Article  Google Scholar 

  16. Cai, Y., Sullivan, K.J.: A value-oriented theory of modularity in design. In: Proceedings of the 7th International Workshop on Economics-Driven Software Engineering Research (EDSER) at ICSE 2005 (2005)

    Google Scholar 

  17. Fenton, N., Pfleeger, S.L.: Software Metrics, A Rigorous and Practical Approach, 2nd edn. PWS, Boston (1997)

    Google Scholar 

  18. Fowler, M.: Inversion of control containers and the dependency injection pattern, http://www.martinfowler.com/articles/injection.html

  19. Fowler, M.: Module assembly. IEEE Software 21(2), 65–67 (2004)

    Article  MathSciNet  Google Scholar 

  20. Fowler, M., Beck, K., Brant, J., Opdyke, O., Roberts, D.: Refactoring: improving the design of existing code. Object Technology Series. Addison-Wesley, Reading (1999)

    Google Scholar 

  21. Harrison, W.H., Ossher, H.L.: Member-group relationships among objects. IBM Technical Report RC22048 (2002)

    Google Scholar 

  22. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  23. Kiczales, G., Mezini, M.: Aspect-oriented programming and modular reasoning. In: Proceedings of the 27th International Conference on Software Engineering, pp. 49–58. ACM, New York (2005)

    Google Scholar 

  24. Lieberherr, K., Lorenz, D., Mezini, M.: Programming with Aspectual Components. Technical Report NU-CCS-99-01, College of Computer Science, Northeastern University, Boston, MA (1999)

    Google Scholar 

  25. Lopes, C.V.: On the nature of aspects: Principles of aspect-oriented design. ACM Transactions of Software Engineering (under Review)

    Google Scholar 

  26. Lopes, C.V., Bajracharya, S.K.: An analysis of modularity in aspect oriented design. In: AOSD 2005: Proceedings of the 4th International Conference on Aspect-Oriented Software Development, pp. 15–26. ACM, New York (2005)

    Google Scholar 

  27. Lopes, C.V., Ngo, T.C.: The Aspect markup language and its support of Aspect plugins. ISR Technical Report UCI-ISR-04-8 (2004)

    Google Scholar 

  28. MacCormack, A., Rusnak, J., Baldwin, C.: Exploring the structure of complex software designs: An empirical study of open source and proprietary code. Harvard Business School Working Paper Number 05-016 (2004)

    Google Scholar 

  29. Masuhara, H., Kiczales, G.: Modeling crosscutting in aspect-oriented mechanisms. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, pp. 2–28. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  30. Medvidovic, N., Taylor, R.N.: A classification and comparison framework for software architecture description languages. IEEE Trans. Softw. Eng. 26(1), 70–93 (2000)

    Article  Google Scholar 

  31. Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Commun. ACM 15(12), 1053–1058 (1972)

    Article  Google Scholar 

  32. Parnas, D.L.: On a “Buzzword”: Hierarchical structure. In: Software Pioneers: Contributions to Software Engineering, pp. 429–440. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  33. Perry, D.E., Wolf, A.L.: Foundations for the study of software architecture. SIGSOFT Softw. Eng. Notes 17(4), 40–52 (1992)

    Article  Google Scholar 

  34. Rajan, H., Sullivan, K.J.: Classpects: unifying aspect- and object-oriented language design. In: ICSE 2005: Proceedings of the 27th International Conference on Software Engineering, pp. 59–68. ACM, New York (2005)

    Google Scholar 

  35. Riel, A.J.: Object-Oriented Design Heuristics. Addison-Wesley Longman, Boston (1996)

    Google Scholar 

  36. Rinard, M., Salcianu, A., Bugrara, S.: A classification system and analysis for aspect-oriented programs. In: SIGSOFT 2004/FSE-12: Proceedings of the 12th ACM SIGSOFT Twelfth International Symposium on Foundations of Software Engineering, pp. 147–158. ACM, New York (2004)

    Chapter  Google Scholar 

  37. Robillard, M.P., Murphy, G.C.: Concern graphs: finding and describing concerns using structural program dependencies. In: Proceedings of the 24th International Conference on Software Engineering (ICSE 2002), pp. 406–416. ACM, New York (2002)

    Chapter  Google Scholar 

  38. Sharman, D., Yassine, A.: Characterizing complex product architectures. Systems Engineering Journal 7(1), 35–60 (2004)

    Article  Google Scholar 

  39. Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)

    MATH  Google Scholar 

  40. Steward, D.V.: The design structure system: A method for managing the design of complex systems. IEEE Transactions on Engineering Management 28, 71–74 (1981)

    Article  Google Scholar 

  41. Sullivan, K., Griswold, W.G., Song, Y., Cai, Y., Shonle, M., Tewari, N., Rajan, H.: Information hiding interfaces for aspect-oriented design. In: ESEC/FSE 2005 (April 2005)

    Google Scholar 

  42. Sullivan, K.J., Griswold, W.G., Cai, Y., Hallen, B.: The structure and value of modularity in software design. In: Proceedings of the 8th European Software Engineering Conference Held Jointly with 9th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 99–108. ACM, New York (2001)

    Google Scholar 

  43. W3C, SOAP (Simple Object Access Protocol) version 1.2 specification (2005), http://www.w3.org/TR/soap12 (Cited 20 September 2005)

  44. W3C, Web Services Description Language (WSDL) (2005), http://www.w3.org/TR/wsdl (Cited 30 September 2005)

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lopes, C.V., Bajracharya, S.K. (2006). Assessing Aspect Modularizations Using Design Structure Matrix and Net Option Value. In: Rashid, A., Aksit, M. (eds) Transactions on Aspect-Oriented Software Development I. Lecture Notes in Computer Science, vol 3880. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11687061_1

Download citation

  • DOI: https://doi.org/10.1007/11687061_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-32972-5

  • Online ISBN: 978-3-540-32974-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics