Skip to main content

Coping with Crosscutting Software Changes Using Information Transparency

  • Conference paper
  • First Online:
Metalevel Architectures and Separation of Crosscutting Concerns (Reflection 2001)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2192))

Included in the following conference series:

Abstract

Designers are often unsuccessful in designing for change using traditional modularity techniques. A complementary modularity technique called information transparency can improve a designer’s ability to simplify changes by exposing the interdependence of dispersed program elements that must be changed together for correctness. Information transparency represents modules via similarity and architecture, rather than locality and abstraction.With these, a programmer can create locality with a software tool, easing change in much the same way as traditional modularity. When combined with information hiding, then, more complex module structures can be represented. Information transparency techniques include naming conventions, formatting style, and ordering of code in a file. Transparency can be increased by better matching tool capabilities and programming style. We discuss applications of information transparency and introduce design principles for software designers and tool designers.

This research is supported in part by NSF grants CCR-9508745 and CCR-9970985, and California MICRO proposal 97-061 with Raytheon Systems Company.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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.

Similar content being viewed by others

References

  1. T. J. Biggerstaff, B. G. Mitbander, and D. Webster. The concept assignment problemin program understanding. In Proceedings of Working Conference on Reverse Engineering, pp 27–43, May 1993.

    Google Scholar 

  2. F. P. Brooks. The Mythical Man Month: Essays on Software Engineering. Addison-Wesley, Reading, MA, 1975.

    Google Scholar 

  3. R. E. Crew. ASTLOG:Alanguage for examining abstract syntax trees. In Proceedings of the USENIX Conference on Domain-Specific Languages, pp 229-42, October 1997.

    Google Scholar 

  4. S. G. Eick, J. L. Steffen, and J. E. E. Sumner. Seesoft-a tool for visualizing line orientedsoftware statistics. IEEE Transactions on Software Engineering, 18(11):957–968, November 1992.

    Article  Google Scholar 

  5. W. G. Griswold, M. I. Chen, R. W. Bowdidge, and J. D. Morgenthaler. Tool support for planning the restructuring of data abstractions in large systems. In ACM SIGSOFT’ 96 Symposium on the Foundations of Software Engineering, pp 33–45, October 1996.

    Google Scholar 

  6. W. G. Griswold and D. Notkin. Automated assistance for program restructuring. ACM Transactions on Software Engineering and Methodology, 2(3):228–269, July 1993.

    Article  Google Scholar 

  7. W. G. Griswold and D. Notkin. Architectural tradeoffs for a meaning-preserving program restructuring tool. IEEE Transactions on Software Engineering, 21(4):275–287, April 1995.

    Article  Google Scholar 

  8. A. J. Gray. Development of an unanticipated member of a program family. Masters Thesis, University of California, San Diego, Department of Computer Science and Engineering, October 1997. Technical Report CS97-560.

    Google Scholar 

  9. W. G. Griswold, J. J. Yuan, and Y. Kato. Exploiting the map metaphor in a tool for software evolution. In Proceedings of the 2001 International Conference on Software Engineering, pp 265–274, May 2001.

    Google Scholar 

  10. D. Jackson and M. Jackson. Problem decomposition for reuse. Software Engineering Journal, 11(1):19–30, January 1996.

    Article  Google Scholar 

  11. G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold. An overview of AspectJ. In 15th European Conference on Object-Oriented Programming (ECOOP 2001), pp 327–353, June 2001.

    Google Scholar 

  12. G. Kiczales, J. Lamping, C.V. Lopes, C. Maeda, A. Mendhekar, and G. Murphy. Open implementation guidelines. In Proceedings of the 19th International Conference on Software Engineering, pp 481–490, May 1997.

    Google Scholar 

  13. G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J. M. Loingtier, and J. Irwin. Aspect-oriented programming. In 11th European Conference on Object-Oriented Programming, pp 220–242. Springer-Verlag, June 1997.

    Google Scholar 

  14. B. J. MacLennan. Principles of Programming Languages: Design, Evaluation, and Implementation. Holt, Rinehart, and Winston, New York, 2nd edition, 1987.

    Google Scholar 

  15. S. McConnell. Code Complete: A Practical Guide of Software Construction. Microsoft Press, Redmond, Washington, 1993.

    Google Scholar 

  16. G. C. Murphy and D. Notkin. Lightweight source model extraction. In ACMSIGSOFT’ 95 Symposium on the Foundations of Software Engineering, pp 116–127, October 1995.

    Google Scholar 

  17. G. C. Murphy, D. Notkin, and K. Sullivan. Software reflexion models: bridging the gap between source and high-level models. In ACM SIGSOFT’95 Symposium on the Foundations of Software Engineering, pp 18–28, October 1995.

    Google Scholar 

  18. D. Orleans and K. Lieberherr. DJ: Dynamic adaptive programming in Java. In Reflection 2001: Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns, September 2001.

    Google Scholar 

  19. H. Ossher and P. Tarr. Multi-dimensional separation of concerns and the hyperspace approach. In Proceedings of the Symposium on SoftwareArchitectures and Component Technology: The State of the Art in Software Development. Kluwer, 2000.

    Google Scholar 

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

    Article  Google Scholar 

  21. D. L. Parnas. Why software jewels are rare. IEEE Computer, 29(2):57–60, February 1996.

    Google Scholar 

  22. D. L. Parnas, P. C. Clements, and D. M. Weiss. The modular structure of complex systems. In Proceedings of the 7th International Conference on Software Engineering, pp 408–417, March 1984.

    Google Scholar 

  23. D. L. Parnas, G. Handzel, and H. Wurges. Design and specification of the minimal subset of an operating system family. IEEE Transactions on Software Engineering, 2(4):301–307, December 1976.

    Article  Google Scholar 

  24. R. W. Schwanke. An intelligent tool for re-engineering software modularity. In Proceedings of the 13th International Conference on Software Engineering, pp 83–92, May 1991.

    Google Scholar 

  25. C. R. Turner. Feature Engineering of Software Systems. PhD thesis, University of Colorado, Department of Computer Science, May 1999.

    Google Scholar 

  26. M. J. Vilot. An introduction to the Standard Template Library. C++ Report, 6(8):22–29, 35, October 1994.

    Google Scholar 

  27. M. VanHilst and D. Notkin. Decoupling change from design. In ACM SIGSOFT’96 Symposium on the Foundations of Software Engineering, pp 58–69, October 1996.

    Google Scholar 

  28. S. Wu and U. Manber. agrep-a fast approximate pattern-matching tool. In Proceedings of the Winter 1992 USENIX Conference, pp 153–162

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Griswold, W.G. (2001). Coping with Crosscutting Software Changes Using Information Transparency. In: Yonezawa, A., Matsuoka, S. (eds) Metalevel Architectures and Separation of Crosscutting Concerns. Reflection 2001. Lecture Notes in Computer Science, vol 2192. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45429-2_17

Download citation

  • DOI: https://doi.org/10.1007/3-540-45429-2_17

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42618-9

  • Online ISBN: 978-3-540-45429-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics