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.
- AspectJ. Programming Guide. http://aspectj.org/doc/proguide.Google Scholar
- D. Batory, J.N. Sarvela, and A. Rauschmayer, "Scaling Step-Wise Refinement", ICSE 2003. Google ScholarDigital Library
- 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 ScholarDigital Library
- D. Batory, R. Cardone, and Y. Smaragdakis, "Object-Oriented Frameworks and Product-Lines". 1st Software Product-Line Conference, Denver, Colorado, August 1999. Google ScholarDigital Library
- D. Batory and B.J. Geraci, "Composition Validation and Subjectivity in GenVoca Generators", IEEE Transactions on Software Engineering, Feb. 1997, 67--82. Google ScholarDigital Library
- I. Baxter, "Design Maintenance Systems", CACM, April 1992. Google ScholarDigital Library
- K. Czarnecki, T. Bednasch, P. Unger, and U. Eisenecker, "Generative Programming for Embedded Software: An Industrial Experience Report", GCSE/SAIG 2002. Google ScholarDigital Library
- E.W. Dijkstra, A Discipline of Programming. Prentice-Hall, 1976. Google ScholarDigital Library
- M. Griss, "Implementing Product-Line Features by Composing Component Aspects", First International Software Product-Line Conference, Denver, August 2000. Google ScholarDigital Library
- W. Harrison and H. Ossher, "Subject-Oriented Programming (A Critique of Pure Objects)", OOPSLA 1993, 411--427. Google ScholarDigital Library
- K. C. Kang, et al., Feature-Oriented Domain Analysis Feasibility Study, SEI 1990.Google Scholar
- G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J. Loingtier, and J. Irwin, "Aspect-Oriented Programming", ECOOP 97, 220--242.Google Scholar
- G. Kiczales, E. Hilsdale, J. Hugunin, M. Kirsten, J. Palm, W. G. Griswold. "An overview of AspectJ". ECOOP 2001. Google ScholarDigital Library
- H. Ossher and P. Tarr. "Using Multi-Dimensional Separation of Concerns to (Re)Shape Evolving Software." CACM 44(10): 43--50, October 2001. Google ScholarDigital Library
- 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 ScholarDigital Library
- C. Prehofer, "Feature-Oriented Programming: A Fresh Look at Objects", ECOOP 1997.Google Scholar
- 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 Scholar
- R. Sessions, "Software Fortresses: Modeling Enterprise Architectures", Addison-Wesley, 2002. Google ScholarDigital Library
- Y. Smaragdakis and D. Batory, "Mixin Layers: An Object-Oriented Implementation Technique for Refinements and Collaboration-Based Designs", ACM TOSEM. March 2002. Google ScholarDigital Library
- P. Tarr, H. Ossher, W. Harrison, and S. M. Sutton, Jr., "N Degrees of Separation: Multi-Dimensional Separation of Concerns", ICSE 1999. Google ScholarDigital Library
- M. Van Hilst and D. Notkin, "Using Role Components to Implement Collaboration-Based Designs", OOPSLA 1996, 359--369. Google ScholarDigital Library
- D. Weiss and C.T.R. Lai, Software Product-Line Engineering. Addison-Wesley, 1999. Google ScholarDigital Library
- The Apache Ant Project. http://ant.apache.org/.Google Scholar
Index Terms
- Refinements and multi-dimensional separation of concerns
Recommendations
Refinements and multi-dimensional separation of concerns
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 ...
Specification and Animation of a Bank Transfer using KIDS/VDM
The development of formal specifications may benefit from prototyping activities. The production of an executable model for a given description helps bridging the gap between this specification and the corresponding reality. The KIDS/VDM system, based on ...
Feature-oriented refinement of models, metamodels and model transformations
FOSD '09: Proceedings of the First International Workshop on Feature-Oriented Software DevelopmentDone well, the blend of Model Driven Development (MDD) and Software Product Lines (SPL) offers a promising approach, mixing abstraction from MDD and variability from SPL. Although Model Driven Product Lines have flourished recently, the focus so far has ...
Comments