skip to main content
10.1145/940071.940079acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article

Refinements and multi-dimensional separation of concerns

Published:01 September 2003Publication History

ABSTRACT

Step-wise refinement (SWR) asserts that complex programs can be derived from simple programs by progressively adding features. The length of a program specification is the number of features that the program has. Critical to the scalability of SWR are multi-dimensional models that separate orthogonal feature sets. Let n be the dimensionality of a model and k be the number of features along a dimension. We show program specifications that could be O(kn) features long have short and easy-to-understand specifications of length O(kn) when multi-dimensional models are used. We present new examples of multidimensional models: a micro example of a product-line (whose programs are 30 lines of code) and isomorphic macro examples (whose programs exceed 30K lines of code). Our work provides strong evidence that SWR scales to synthesis of large systems.

References

  1. AspectJ. Programming Guide. http://aspectj.org/doc/proguide.Google ScholarGoogle Scholar
  2. D. Batory, J.N. Sarvela, and A. Rauschmayer, "Scaling Step-Wise Refinement", ICSE 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. D. Batory, R. Lopez-Herrejon, J.P. Martin, "Generating Product-Lines of Product-Families", 2002 Automated Software Engineering Conference. Revised paper submitted to journal publication. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. D. Batory, R. Cardone, and Y. Smaragdakis, "Object-Oriented Frameworks and Product-Lines". 1st Software Product-Line Conference, Denver, Colorado, August 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. D. Batory and B.J. Geraci, "Composition Validation and Subjectivity in GenVoca Generators", IEEE Transactions on Software Engineering, Feb. 1997, 67--82. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. I. Baxter, "Design Maintenance Systems", CACM, April 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. K. Czarnecki, T. Bednasch, P. Unger, and U. Eisenecker, "Generative Programming for Embedded Software: An Industrial Experience Report", GCSE/SAIG 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. E.W. Dijkstra, A Discipline of Programming. Prentice-Hall, 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. M. Griss, "Implementing Product-Line Features by Composing Component Aspects", First International Software Product-Line Conference, Denver, August 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. W. Harrison and H. Ossher, "Subject-Oriented Programming (A Critique of Pure Objects)", OOPSLA 1993, 411--427. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. K. C. Kang, et al., Feature-Oriented Domain Analysis Feasibility Study, SEI 1990.Google ScholarGoogle Scholar
  12. G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J. Loingtier, and J. Irwin, "Aspect-Oriented Programming", ECOOP 97, 220--242.Google ScholarGoogle Scholar
  13. G. Kiczales, E. Hilsdale, J. Hugunin, M. Kirsten, J. Palm, W. G. Griswold. "An overview of AspectJ". ECOOP 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. H. Ossher and P. Tarr. "Using Multi-Dimensional Separation of Concerns to (Re)Shape Evolving Software." CACM 44(10): 43--50, October 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. H. Ossher and P. Tarr, "Multi-dimensional separation of concerns and the Hyperspace approach." In Software Architectures and Component Technology (M. Aksit, ed.), 293--323, Kluwer, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. C. Prehofer, "Feature-Oriented Programming: A Fresh Look at Objects", ECOOP 1997.Google ScholarGoogle Scholar
  17. T. Reenskaug, et al., "OORASS: Seamless Support for the Creation and Maintenance of Object-Oriented Systems", Jour. OO Programming, 5(6): October 1992, 27--41.Google ScholarGoogle Scholar
  18. R. Sessions, "Software Fortresses: Modeling Enterprise Architectures", Addison-Wesley, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Y. Smaragdakis and D. Batory, "Mixin Layers: An Object-Oriented Implementation Technique for Refinements and Collaboration-Based Designs", ACM TOSEM. March 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. P. Tarr, H. Ossher, W. Harrison, and S. M. Sutton, Jr., "N Degrees of Separation: Multi-Dimensional Separation of Concerns", ICSE 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. M. Van Hilst and D. Notkin, "Using Role Components to Implement Collaboration-Based Designs", OOPSLA 1996, 359--369. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. D. Weiss and C.T.R. Lai, Software Product-Line Engineering. Addison-Wesley, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. The Apache Ant Project. http://ant.apache.org/.Google ScholarGoogle Scholar

Index Terms

  1. Refinements and multi-dimensional separation of concerns

            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
              ESEC/FSE-11: Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
              September 2003
              394 pages
              ISBN:1581137435
              DOI:10.1145/940071
              • cover image ACM SIGSOFT Software Engineering Notes
                ACM SIGSOFT Software Engineering Notes  Volume 28, Issue 5
                September 2003
                382 pages
                ISSN:0163-5948
                DOI:10.1145/949952
                Issue’s Table of Contents

              Copyright © 2003 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 September 2003

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • Article

              Acceptance Rates

              ESEC/FSE-11 Paper Acceptance Rate33of168submissions,20%Overall Acceptance Rate112of543submissions,21%

              Upcoming Conference

              FSE '24

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader