Skip to main content

Implementing Product-Line Features by Composing Aspects

  • Chapter
Software Product Lines

Part of the book series: The Springer International Series in Engineering and Computer Science ((SECS,volume 576))

Abstract

Emerging e-commerce systems are highly dynamic and require even more flexibility and reduced time to market than that traditionally provided by product-line development and component-based software engineering (CBSE). In this paper we describe our work on agent-based, product-line CBSE for flexible e-commerce systems. We are integrating several technologies for product-line analysis and component design, implementation, and customization to create a basis for systematic product-line development. Largely independent work on reuse (“domain analysis”) and object-oriented technology (“design and code”) has matured to the degree that integration of the techniques promises a coherent approach. We outline a practical development process that structures a set of common and variable features supporting a product line, to produce reusable elements (“aspects”). These aspects can be combined into customized components and frameworks to support the product line.

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 169.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 219.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 219.99
Price excludes VAT (USA)
  • Durable hardcover 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

  • Aksjt, M. (1996), Composition and Separation of Concerns in the Object-Oriented Model, in ACM Computing Surveys 28A(4), December.

    Google Scholar 

  • Akşit, M. Bergmans, L. and Vural, S. (1992), An Object Oriented Language-Database Integration Model: the Composition-Filters Approach, in Proceedings of the 1992 ECOOP, pp. 372–395.

    Google Scholar 

  • Arango, G. (1994), Domain Analysis Methods, in W. Schafer et al., Software Reusability, Ellis Horwood, Hemel Hempstead, UK.

    Google Scholar 

  • Bassett, P.G. (1996), Framing Reuse: Lessons from the Real World, Prentice Hall.

    Google Scholar 

  • Batory, D. (1996), Subjectivity and GenVoca Generators, in Proc. ICSR 96, Orlando, FLA, IEEE, April, pp.166–175.

    Google Scholar 

  • Batory, D. and O’Malley, S. (1992), The design and implementation of hierarchical software systems with reusable components, ACM Transactions on Software Engineering and Methodology, 1(4):355–398.

    Article  Google Scholar 

  • Booch, G., Rumbaugh, J. and Jacobson, I. (1999), The Unified Modeling Language: User Guide, Addison-Wesley-Longman.

    Google Scholar 

  • Bosch, J. (1999), Product-Line Architectures and Industry: A Case Study, in Proceedings of ICSE 99, 16–22 May, Los Angeles, California, USA, ACM press, pp. 544–554.

    Chapter  Google Scholar 

  • Bradshaw, J.M. (1997), Software Agents, MIT Press.

    Google Scholar 

  • Buschmann, F., et. al. (1996), Pattern-Oriented Software Architecture—A System of Patterns. John Wiley and Sons, 1996.

    Google Scholar 

  • Chen, Q., Hsu, M., Dayal, U., and Griss, M. (2000), Multi-Agent Cooperation, Dynamic Workflow and XML for E-Commerce Automation, in Proc. Autonomous Agents 2000, June, Barcelona.

    Google Scholar 

  • Clarke, S., Harrison, W., Ossher, H. and Tarr, P. (1999), Towards Improved Alignment of Requirements, Design and Code, in Proceedings of OOPSLA 1999, ACM, pp. 325–339.

    Google Scholar 

  • Czarnecki, K. and Eisenecker, U.W. (1999), Components and Generative Programming, in Proc. ACM SIGSOFT1999 (ESEC/FSE), LNCS 1687, Springer-Verlag. (See also Available at http://www.home.t-online.de/home/Ulrich.Eisenecker/meta.htm)

  • Dehnert, J. and Stepanov A. A. (1998), Fundamentals of Generic Programming, Proc. Dagstuhl Seminar on Generic Programming, April 27–May 1, Schloß Dagstuhl, Wadern, Germany.

    Google Scholar 

  • Falchuk, B. and Karmouch, A. (1998), Visual Modeling for Agent-Based Applications, IEEE Computer, Vol. 31, No. 12, December. Pp. 31–37.

    Article  Google Scholar 

  • Gamma, E., Helm, R., Johnson, R. and Vlissides, J. (1994), Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley.

    Google Scholar 

  • Garlan, D. and Shaw, M. (1996), Software Architecture, Perspectives on an Emerging Discipline, Prentice-Hall.

    Google Scholar 

  • Glushko, R. J., Tenenbaum, J.M. and Meltzer, B. (1999), An XML framework for agent-based E-commerce. Communications of the ACM, Vol.42, March.

    Google Scholar 

  • Goguen, J. A. (1984), Parameterized Programming, IEEE Trans. Software Eng., SE-10(5), September, pp. 528–543.

    Article  Google Scholar 

  • Griss, M. L. (2000), My Agent Will Call Your Agent, Software Development Magazine, February. (See also “My Agent Will Call Your Agent… But Will It Respond?” Hewlett-Packard Laboratories, Technical Report, TR-HPL-1999-159).

    Google Scholar 

  • Griss, M. L. (2000a), Implementing Product-Line Features with Component Reuse, in Proceedings of 6th International Conference on Software Reuse, Springer-Verlag, Vienna, Austria, June.

    Google Scholar 

  • Griss, M. L. and Kessler, R. R. (1996), Building Object-Oriented Instrument Kits, Object Magazine, April.

    Google Scholar 

  • Griss, M. L., Favaro, J. and d’Alessandro, M. (1998), Integrating Feature Modeling with the RSEB, in Proceedings of 5th International Conference on Software Reuse, Victoria, Canada, June, IEEE, pp. 76–85.

    Google Scholar 

  • Gschwind, T., Feridun, M. and Pleisch, S. (1999), ADK—Building Mobile Agents for Network and Systems Management from Reusable Components, in Proc. of ASA/MA 99, Oct, Palm Springs, CA, IEEE-CS, pp 13–21. (See http://www.infosys.tuwien.ac.at/ADK).

    Google Scholar 

  • Harrison, W. and Ossher, H. (1993), Subject-Oriented Programming (a critique of pure objects), Proc. OOPSLA 95, Washington, DC, Sep 1993, 411–428, ACM.

    Google Scholar 

  • Huhns, M. N. and Singh, M. P. (1998), Readings in Agents, Morgan-Kaufman.

    Google Scholar 

  • Jacobson, I., Griss, M. L., and Jonsson, P. (1997), Software Reuse: Architecture, Process and Organization for Business Success, Addison-Wesley-Longman.

    Google Scholar 

  • Jazayeri, M. (1998), Evaluating Generic Programming in Practice, Proc. Dagstuhl Seminar on Generic Programming, April 27–May 1 Schloß Dagstuhl, Wadern, Germany.

    Google Scholar 

  • Jennings, N. R. and Wooldridge, M. R. (1998), Agent Technology, Springer.

    Google Scholar 

  • Johnson, R. and Foote, B. (1988), Designing reusable classes, JOOP, pp. 22–30, 35, June.

    Google Scholar 

  • Kang, K. C., (1998a), Feature-Oriented Development of Applications for a Domain, Proceedings of 5th International Conference on Software Reuse, June 2–5. Victoria, British Columbia, Canada. IEEE, pp. 354–355.

    Google Scholar 

  • Kang, K. C., et al., (1990), Feature-Oriented Domain Analysis Feasibility Study, SEI Technical Report CMU/SEI-90-TR-21, November.

    Google Scholar 

  • Kang, K. C., et al., (1998), FORM: A Feature-Oriented Reuse Method with Domain-Specific Architectures, Annals of Software Engineering, V5, pp. 143–168.

    Article  Google Scholar 

  • Kang, K. C., Kim, S., Lee, J. and Lee, K. (1999), Feature-oriented Engineering of PBX Software for Adaptability and Reusability, Software—Practice and Experience, Vol. 29, No. 10, pp. 875–896.

    Article  Google Scholar 

  • Kendall, E. A. (1999), Role Model Designs and Implementations with Aspect-oriented Programming, in Proc. of OOPSLA 99, Oct, Denver, Co., ACM SIGPLAN, 353–369.

    Chapter  Google Scholar 

  • Kiczales, G., des Rivieres, J. and Bobrow, D. G.(1991), The Art of the Metaobject Protocol, MIT Press.

    Google Scholar 

  • Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Loitinger, L. and Irwin, J. (1997), Aspect Oriented Programming, Proc. ECOOP 1997, Springer-Verlag, June, pp. 220–242.

    Google Scholar 

  • Lieberherr, K. J. and Xiao, C. (1993), Object-oriented Software Evolution, IEEE Transactions on Software Engineering, v 19, No. 4, pp. 313–343, April.

    Article  Google Scholar 

  • Lopes, C.V. and Kiczales, G. (1998), Recent Developments in Aspect JTM, In ECOOP’98 Workshop Reader, Springer-Verlag LNCS 1543.

    Google Scholar 

  • Machiraju, V., Dekhil, M., Wurster, K., Garg, P., Griss, M. and Holland, J. (1999), Towards Generic Application Auto-discovery, 2000 IEEE/IFIP Network and Operations Management Symposium, Honolulu, Hawaii, April 2000. (See also Hewlett-Packard Laboratories Technical Report HPL-1999-80).

    Google Scholar 

  • Mezini, M. and Lieberherr, K. (1998), Adaptive Plug-and-Play Components for Evolutionary Software Development, Proceedings of OOP SLAVS, pp. 97–116.

    Google Scholar 

  • Musser, D. R. and Saini, A. (1996), STL Tutorial and Reference Guide, Addison-Wesley.

    Google Scholar 

  • Musser, D. R. and Stepanov, A. A. (1994), Algorithm-Oriented Generic Libraries. In Software Practice and Experience, Vol 24(7).

    Google Scholar 

  • Nwana, H., Nduma, D., Lee, L., Collis, J. (1999), ZEUS: a toolkit for building distributed multi-agent systems, in Artificial Intelligence Journal, Vol. 13, No. 1, pp. 129–186.

    Article  Google Scholar 

  • Parnas, D. L. (1976), On the Design and Development Of Program Families, IEEE Transactions on Software Engineering, v 2,16, pp 1–9, March.

    Article  MATH  Google Scholar 

  • Parnas, D. L. (1979), Designing Software for Ease of Extension and Contraction, IEEE Transactions on Software Engineering, v 5, #6, pp 310–320, March.

    Google Scholar 

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

    Google Scholar 

  • Shahoumian, T. A. (2000), A Specialized Macro Language For Specifying the Communication Patterns Within an Agent, Hewlett-Packard Laboratories Technical Report, HPL-2000-07.

    Google Scholar 

  • Sharma, T. (1999), E-Commerce Components, Software Development, Vol 7, August.

    Google Scholar 

  • Smaragdakis, Y. (1999), Reusable Object-Oriented Components, Proceedings of Ninth Annual Workshop on Software Reuse, Jan. 7–9, 1999, Austin, Texas.

    Google Scholar 

  • Smaragdakis, Y. and Batory, D. (1998a), Implementing Layered Designs with Mixin Layers, Proc. of ECOOP98.

    Google Scholar 

  • Smaragdakis, Y. and D Batory, D. (1998), Implementing Reusable Object-Oriented Components, Proceedings of 5th International Conference on Software Reuse, Victoria, BC, June, pp. 36–45.

    Google Scholar 

  • Tarr, P. Ossher, H., Harrison, W. and Sutton, Jr. S. M., (1999), N degrees of Separation: Multi-dimensional separation of concerns, Proc. ICSE 99, IEEE, Las Angeles, May, ACM press, pp. 107–119.

    Chapter  Google Scholar 

  • Van Hilst, M. and Notkin, D. (1996), Using C++ Templates to Implement Role-Based Designs, JSSST Symposium on Object technologies for Advanced Software, Springer-Verlag, 22–37.

    Google Scholar 

  • Van Hilst, M. and Notkin, D. (1996a), Using Role Components to Implement Collaboration-Based Designs, Proc. OOPSLA96, 359–369.

    Google Scholar 

  • Van Hilst, M. and Notkin, D. (1996b), Decoupling Change From Design, Proc. ACM SIGS OFT 1996.

    Google Scholar 

  • Walker, R, J., Banniassad, E. L. A. and Murphy, G. C. (1999), An Initial Assessment of Aspect Oriented Programming, Proc. ICSE 99, IEEE, Las Angeles, May, pp. 120–130.

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer Science+Business Media New York

About this chapter

Cite this chapter

Griss, M.L. (2000). Implementing Product-Line Features by Composing Aspects. In: Donohoe, P. (eds) Software Product Lines. The Springer International Series in Engineering and Computer Science, vol 576. Springer, Boston, MA. https://doi.org/10.1007/978-1-4615-4339-8_15

Download citation

  • DOI: https://doi.org/10.1007/978-1-4615-4339-8_15

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-1-4613-6949-3

  • Online ISBN: 978-1-4615-4339-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics