skip to main content
10.1145/353171.353185acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article
Free Access

PIROL: a case study for multidimensional separation of concerns in software engineering environments

Authors Info & Claims
Published:01 October 2000Publication History

ABSTRACT

In this paper, we present our experience with applying multidimensional separation of concerns to a software engineering environment. By comparing two different designs of our system, we show the importance of separating integration issues from the implementation of the individual concerns. We present a model in which integration issues are encapsulated into rst--class connector objects and indicate how this facilitates the understandability, maintenance and evolution of the system. We identify issues of binding time, binding granularity and binding cardinality as important criteria in selecting an appropriate model for separation of concerns. We finally show how a good choice following these criteria and considering the requirements of software engineering environments leads to a system with dynamic configurability, high--level component integration and support for multiple instantiable views.

References

  1. 1.M. Aksit, K. Wakita, J. Bosch, L. Bergmans, and A. Yonezawa. Abstracting Object Interactions using Composition-Filters. In Object-Based Distributed Processing, LNCS 791, pp. 152-184, 1993. 17 Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2.K. Arnold and J. Gosling. The Java Programming Language. Addison Wesley, 1997. 6 Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.Kim B. Bruce, Martin Odersky, and Philip Wadler. A statically safe alternative to virtual types. In European Conference on Object-Oriented Programming (ECOOP), Brussels, July 1998. 15 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4.Clemens Czyperski. Component Software, Beyond Object-Oriented Programming. Addison-Wesley, 1998. 4 Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5.D. D.aberitz and U. Kelter. Rapid Prototyping of Graphical Editors in an open SEE. In Proc. of 7th Conference on Software Engineering Environments (SEE'95), pp. 61-72. IEEE Computer Society Press, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.R. DeLine. Avoiding Packaging Mismatch with Flexible Packaging. In Proceedings of the 21st International Conference on Software Engineering (ICSE '99), 1999. 17 Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.E. W. Dijkstra. A Discipline of Programming. Prentice- Hall, 1976. 1 Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8.E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns - Elements of Reusable Object-Oriented Software. Addison Wesley, 1995. 6 Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9.D. Garlan. Views for Tools in Integrated Environments. PhD Thesis, Carnegie Mellon University, May 1987. 5, 14, 16 Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10.D. Garlan, R. Allen, and J. Ockerbloom. Architectural Mismatch, or, Why it's Hard to Build Systems out of Existing Parts. In Proceedings of the 17th Internation Conference on Software Engineering (ICSE '95), pp. 179-185, April 1995. 17 Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11.A. Goldberg and D. Robson. Smalltalk 80: The Language and its Implementation. Addison-Wesley, 1983. 15 Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12.The GoodStep Team. The GOODSTEP Project: General Object-Oriented Database for Software Engineering Processes. In Proc. of the 1st Asian Pacific Software Engineering Conf, pp. 10-19. IEEE Computer Society Press, 1994. 16Google ScholarGoogle Scholar
  13. 13.G. Gottlob, M. Schre , and B. Roeck. Extending Object-Oriented Systems with Roles. ACM Transactions on Information Systems, 14(3):268-296, 1996. 17 Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14.B. Groth, S. Herrmann, S. J.ahnichen, and W. Koch. Project Integrating Reference Object Library (PIROL): An Object-Oriented Multiple-View SEE. In Proc. of 7th Conference on Software Engineering Environments (SEE'95), pp. 184-193, IEEE Computer Society Press, Apr. 1995. 3 Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15.W. Harrison and H. Ossher. Subject-Oriented Programming: a Critique of Pure Objects. In Proceedings of ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '93), Sigplan Notices 28(10), pp. 411-428, 1993. 1, 2 Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16.S. Herrmann. Lua/P - A Repository Language for Flexible Software Engineering Environments. In Proc. of The Second International Symposium on Constructing Software Engineering Tools, pp. 78-86, ISBN 0 86418 725 4, 2000. 3, 5Google ScholarGoogle Scholar
  17. 17.S. Herrmann and M. Mezini.Dynamic View Connectors, http://pirol.cs.tu-berlin.de/papers/DVC.pdf, Technical Report, Technical University of Berlin, 2000. 12Google ScholarGoogle Scholar
  18. 18.I. Holland. The Design and Representation of Object- Oriented Components. PhD Thesis, Northeastern University, Computer Science, 1993. 1, 17Google ScholarGoogle Scholar
  19. 19.R. Ierusalimschy, L. H. de Figueiredo, and W. Celes, \Lua|an extensible extension language," Software: Practice and Experience, 26(6):635-652, 1996. 15 Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20.M. Kersten and G. Murphy. Atlas: A Case Study in Building a Web-Based Learning Environment Using Aspect-Oriented Programming. In Proeedings of ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'99), Sigplan Notices 34(10):340-352, 1999. 17 Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 21.G. Kiczales, J. des Rivieres, and D. G. Bobrow. The Art of the Metaobject Protocol. The MIT Press, 1991. 1 Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 22.G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C.V. Lopes, J.M. Loingtier, and J. Irwin. Aspect Oriented Programming. In Proceedings of European Conference on Object-Oriented Programming (ECOOP '97), LNCS 1241, pp. 220-243, 1997. 1, 15, 17Google ScholarGoogle ScholarCross RefCross Ref
  23. 23.K. Lieberherr. Adaptive Programming: the Demeter Method. PWS Publishing Company, 1996. 12, 17Google ScholarGoogle Scholar
  24. 24.C. Lopes. D: A Language Framework for Distributed Programming. PhD Thesis, Northeastern University, Computer Science, Nov. 1997. 2Google ScholarGoogle Scholar
  25. 25.P. Maes. Concepts and Experiments in Computational Re ection. In Proceedings of ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '87), Sigplan Notices, 22(12):147-155, 1987. 1 Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. 26.J. McAffer. Meta-Level Programming with Coda. In Proceedings of European Conference on Object-Oriented Programming (ECOOP '95), LNCS 952, pp. 190-241, Springer Verlag, 1995. 1 Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. 27.M. Mezini. Variational Object-Oriented Programming Beyond Classes and Inheritance. Kluwer Academic Publisher, 1998. 1, 17Google ScholarGoogle ScholarCross RefCross Ref
  28. 28.M. Mezini and K. Lieberherr. Adaptive Plug-and-Play Components for evolutionary software development. In Proceedings of ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '98), Sigplan Notices, 33(10):97-116, 1998. 1, 8, 15, 17 Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. 29.M. Mezini, L. Seiter, and K. Lieberherr. Component Integration with Pluggable Composite Adapters. In M. Aksit (ed.) Software Architecture and Component Technology: State of the Art in Research and Industry, Kluwer Academic Publishers, 2000. 2, 8, 15Google ScholarGoogle Scholar
  30. 30.R. Monson-Haefel. Enterprise Java Beans. O'Reilly & Associates, Inc, 1999. 18 Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. 31.A. Nordwig. Entwicklung einer Notation und eines graschen Editors f. ur den objektorientierten Entwurf hybrider Systeme. Master's Thesis, TU Berlin, 1997. 4, 5Google ScholarGoogle Scholar
  32. 32.B. Nuseibeh, J. Kramer, and A. Finkelstein. A Framework for Expressing the Relationships Between Multiple Views in Requirements Specification. IEEE Transactions on Software Engineering, 20(10):760-773, Oct. 1994. 17 Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. 33.Object Design, Inc, Burlington, MA. ObjectStore Advanced C++ API User Guide, March 1998. 16Google ScholarGoogle Scholar
  34. 34.H. Ossher, M. Kaplan, A. Katz, W. Harrison, and V. Kruskal. Specifying Subject-Oriented Composition. Theory and Practice of Object Systems, 2(3):179-202, 1996. 5, 14 Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. 35.PARC Xerox, available from http://aspectj.org. AspectJ Language Specification, Aug 1999. 2Google ScholarGoogle Scholar
  36. 36.D. L. Parnas. On the Criteria to be Used in Decomposing Systems in Modules. Communications of the ACM, 15(12), 1972. 1 Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. 37.ISO/IEC 13719-1: Portable Common Tool Environment (PCTE). Abstract Specification, International Organization for Standardization (ISO), 1995. 16Google ScholarGoogle Scholar
  38. 38.PIROL Web-page. http://pirol.cs.tu-berlin.de. 3Google ScholarGoogle Scholar
  39. 39.T. Reenskaug, E. P. Andersen, A. J. Berre, A. Hurlen, A. Landmark, O. A. Lehne, E. Nordhagen, E. Ness- Ulseth, G. Oftedal, A. L. Skaar, and P. Stenslet. OORASS: Seamless Support for the Creation and Maintenance of Object Oriented Systems. Journal of Object-Oriented Programming, Oct. 1992. 1Google ScholarGoogle Scholar
  40. 40.S. P. Reiss. Connecting Tools Using Message Passing in the FIELD Environment. IEEE Software, 7(4):57- 66, July 1990. 3 Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. 41.S. P. Reiss. The Desert Environment. ACM Transactions on Software Engineering and Methodology, 8(4):297-342, Oct. 1999. 17 Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. 42.J. Richardson and P. Schwarz. Aspects: Extending Objects to Support Multiple, Independent Roles. In Proceedings of the 1991 ACM SIGMOD International Conference on Management of Data, 1991. 2, 7 Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. 43.C. Santos, S. Delobel, and S. Abiteboul. Virtual Schemas and Bases. In Proceedings of the International Conference on Extending Database Technology, LNCS 779, 1994. 16 Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. 44.L. Seiter, J. Palsberg, and K. Lieberherr. Evolution of Object Behavior using Context Relations. IEEE Transactions on Software Engineering, 24(1):79-92, Jan. 1998. 17 Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. 45.M. Shaw and D. Garlan. Software Architecture: Perspectives of an Emerging Discipline. Prentice Hall, 1996. 2, 3 Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. 46.Y. Smaragdakis and D. Batory. Implementing Layered Designs with Mixin Layers. In Proceedings of European Conference on Object-Oriented Programming (ECOOP '98), LNCS 1445, pp. 550-570, Springer Verlag, 1998. 1, 17 Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. 47.M. Steffik, D. Bobrow, and K. Kahn. Integrating Access- Oriented Programming into a Multiparadigm Environment. IEEE Software, 3(1):10-18, Jan. 1986. 5Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. 48.K. Sullivan and D. Notkin. Reconciling Environment Integration and Software Evolution. ACM Transactions on Software Engineering and Methodology, 1(3):229- 268, 1992. 1, 3, 7, 16 Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. 49.P. Tarr, H. Ossher, W. Harrison, and S. Sutton Jr. N degrees of Separation: Multi-Dimensional Separation of Concerns. In Proceedings of the 21st International Conference on Software Engineering (ICSE '99), 1999. 1, 15, 17 Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. 50.D. Ungar and R. Smith. Self: The power of simplicity. In Proceedings of ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '87), Sigplan Notices, 22(12):227-242, 1987. 15 Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. 51.M. VanHilst and D. Notkin. Using Role Components to Implement Collaboration-Based Designs. In Proceedings of ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '96), Sigplan Notices, 31(10):359-369, 1996. 1, 17 Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. 52.R.J. Wieringa and W. de Jonge. Object Identifiers, Keys, and Surrogates. Theory and Practice of Object Systems, 1(2):101-114, 1995. 7 Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. PIROL: a case study for multidimensional separation of concerns in software engineering environments

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          OOPSLA '00: Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
          October 2000
          402 pages
          ISBN:158113200X
          DOI:10.1145/353171

          Copyright © 2000 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 1 October 2000

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

          Acceptance Rates

          Overall Acceptance Rate268of1,244submissions,22%

          Upcoming Conference

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader