Concern-Based Composition and Reuse of Distributed Systems

  • Andrey Nechypurenko
  • Tao Lu
  • Gan Deng
  • Emre Turkay
  • Douglas C. Schmidt
  • Aniruddha Gokhale
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3107)


Successful reusable software for large-scale distributed systems often must operate in multiple contexts, e.g., due to (1) integration with other systems using different technologies and platforms, (2) constant fine tuning needed to satisfy changing customer needs, and (3) evolving market conditions resulting from new laws and regulations. This situation causes vexing challenges for developers of reusable software, who must manage the variation between these contexts without overcomplicating their solutions and exceeding project time and effort constraints. This paper provides three contributions to R&D efforts that address these challenges. First, it motivates the use of a concern-based approach to enhance the level of abstraction at which component-based distributed systems are developed and reused to (1) improve software quality and developer productivity, and (2) localize variability aspects to simplify substitution of reusable component implementations. Second, we present our experience dealing with different domain- and middleware-specific variability gained applying model-based component middleware software technologies to develop an Inventory Tracking System that manages the flow of goods in warehouses. Third, we present a concern-based research strategy aimed at effectively managing the variability caused by the presence of multiple middleware platforms and technologies. Our experience to date shows that using model-based software tools and component middleware as the core elements of software composition and reuse – in conjunction with concern-based commonality and variability analysis – helps reduce development complexity, improve system maintainability and reuse, and increase developer productivity.


Commonality/Variability Analysis Concern Aspect Model Driven Architecture Component Middleware CORBA Component Model (CCM) 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AOP]
    Kiczales, G.: Aspect-Oriented Programming. In: Proceedings of the 11th European Conference on Object-Oriented Programming (June 1997)Google Scholar
  2. [AOSD]
  3. [C++NPv1]
    Schmidt, D.C., Huston, S.D.: C++ Network Programming, Mastering Complexity with ACE and Patterns, 1st edn. Addison-Wesley, Boston (2002)Google Scholar
  4. [C++NPv2]
    Schmidt, D.C., Huston, S.D.: C++ Network Programming, Systematic Reuse with ACE and Frameworks, 2nd edn. Addison-Wesley, Reading (2002)Google Scholar
  5. [CCM]
    BEA Systems, et al.: CORBA Component Model Joint Revised Submission, Object Management Group, OMG Document orbos/99-07-01 edn (July 1999) Google Scholar
  6. [CIAO1]
    Wang, N., Balasubramanian, K., Gill, C.: Towards a Real-time CORBA Component Model. In: OMG Workshop On Embedded & Real-Time Distributed Object Systems, Washington, D.C. (July 2002) ;Object Management GroupGoogle Scholar
  7. [CIAO2]
    Wang, N., Schmidt, D.C., Gokhale, A., Gill, C.D., Natarajan, B., Rodrigues, C., Loyall, J.P., Schantz, R.E.: Total Quality of Service Provisioning in Middleware and Applications. Microprocessors and Microsystems 26(9-10) (2003)Google Scholar
  8. [Clements]
    Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Reading (2001)Google Scholar
  9. [Coplien99]
    Coplien, J., Hoffman, D., Weiss, D.: Commonality and variability in software engineering. IEEE Software, November/December 1999, 37–45 (1999)Google Scholar
  10. [Czarnecki]
    Czarnecki, K., Eisenecker, U.: Generative Programming: Methods,Tools, and Applications. Addison-Wesley Pub Co, Reading ISBN: 0201309777Google Scholar
  11. [D&C]
    Object Management Group: Deployment and Configuration of Component-based Distributed Applications , An Adopted Specification of the Object Management Group, Inc (June 2003); Draft Adopted Specification ptc (July 2002) Google Scholar
  12. [EDOC]
    OMG adopted specification: UML Profile for Enterprise Distributed Object Computing Specification Document number ptc/02-02-05.pdf Google Scholar
  13. [EDOC-Patterns]
    Object Management Group. UML Profile for Patterns, v1.0. formal/04-02-04Google Scholar
  14. [GME]
    Ledeczi, A.: The Generic Modeling Environment. In: Workshop on Intelligent Signal Processing, accepted, Budapest, Hungary, May 17 (2001) (accepted)Google Scholar
  15. [GME01]
    Ledeczi, A., Maroti, M., Bakay, A., Karsai, G., Garrett, J., Thomason IV, C., Nordstrom, G., Sprinkle, J., Volgyesi, P.: The Generic Modeling Environment. In: Workshop on IntelligentSignal Processing, accepted, Budapest, Hungary, May 17 (2001)Google Scholar
  16. [GoF]
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)Google Scholar
  17. [Gray:01]
    Gray, J., Bapty, T., Neema, S.: Handling Crosscutting Constraints in Domain-Specific Modeling. Communications of the ACM, 87–93 (October 2001)Google Scholar
  18. [Grayl]
    Gray, J., Sztipanovits, J., Neema, T.B.S., Gokhale, A., Schmidt, D.C.: Two-level Aspect Weaving to Support Evolution of Model-Based Software. In: Filman, R., Elrad, T., Aksit, M., Clarke, S. (eds.) Aspect-Oriented Software Development, Addison-Wesley, Reading (2003)Google Scholar
  19. [Gray2]
    Neema, S., Bapty, T., Gray, J., Gokhale, A.: Generators for synthesis of qoS adaptation in distributed real-time embedded systems. In: Batory, D., Consel, C., Taha, W. (eds.) GPCE 2002. LNCS, vol. 2487, p. 236. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  20. [HarelGery:96]
    Harel, D., Gery, E.: Executable Object Modeling with Statecharts. In: Proceedings of the 18th International Conference on Software Engineering, pp. 246–257. IEEE Computer Society Press, Los Alamitos (1996)CrossRefGoogle Scholar
  21. [Harrison]
    Harrison, T., Levine, D., Schmidt, D.C.: The Design and Performance of a Real-time CORBA Event Service. In: Proceedings of OOPSLA 1997, Atlanta, Georgia (October 1997)Google Scholar
  22. [Ho02]
    Ho, W.-M., Jezequel, J.-M., Pennaneac’h, F., Plouzeau, N.: A Toolkit for Weaving Aspect-Oriented UML Designs. In: First International Conferenceon Aspect-Oriented Software Development, Enschede, The Netherlands (April 2002)Google Scholar
  23. [Janos:97]
    Sztipanovits, J., Karsai, G.: Model-Integrated Computing. IEEE Computer 30, 110–112 (1997)CrossRefGoogle Scholar
  24. [Kiczales]
    Kiczales, G.: AOP The Fun has Just Begun. In: New Visions for Software Design & Productivity Workshop, Vanderbilt University, Nashville (2001)Google Scholar
  25. [Kircher]
    Kircher, M., Jain, P.: Pattern-Oriented Software Architecture - Patterns for Resource Management, 3rd edn., John Wiley & Sons, Chichester (May 2004) (will be published in)Google Scholar
  26. [Lee:94]
    Buck, J.T., Ha, S., Lee, E.A., Messerschmitt, D.G.: Ptolemy: A Framework for Simulating and Prototyping Heterogeneous Systems. International Journal of Computer Simulation, Special Issue on Simulation Software Development Component Development Strategies 4 (1994)Google Scholar
  27. [Lin:99]
    Lin, M.: Synthesis of control software in a layered architecture from hybrid automata. In: Vaandrager, F.W., van Schuppen, J.H. (eds.) HSCC 1999. LNCS, vol. 1569, pp. 152–164. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  28. [LSP]
    Liskov, B.: Data Abstraction and Hierarchy. SIGPLAN Notices 23, 5 (1988)Google Scholar
  29. [MDA]
    OMG: Model Driven Architecture (MDA) Document number ormsc/2001-07-01Architecture Board ORMSC1,July 9 (2001)Google Scholar
  30. [MOF]
    OMG: Meta-Object Facility, version 1.4, January 11 (2002)Google Scholar
  31. [Mezini02]
    Mezini, M., Ostermann, K.: Integrating Independent Components with On-demand Remodularization. In: To appear in the Proceedings of the 17th ACM Conference on Object-Oriented Pro-gramming, Systems, Languages, and Applications (OOPSLA 2002), Seattle, Washington, USA, ACM, New York (2002)Google Scholar
  32. [Mezini03]
    Mezini, M., Ostermann, K.: Conquering Aspects with Caesar. In: Aksit, M. (ed.) Proceedings of the 2nd International Conference on Aspect-Oriented Software Development (AOSD), March 17-21, pp. 90–100. ACM Press, Boston (2003)CrossRefGoogle Scholar
  33. [POSA2]
    Schmidt, D.C., Stal, M., Rohnert, H., Buschmann, F.: Pattern-Oriented SoftwareArchitecture: Patterns for Concurrent and Networked Objects, 2nd edn. Wiley & Sons, New York (2000)Google Scholar
  34. [Refactoring]
    Fowler, M., Beck, K., Brant, J., Opdyke, W.,, D.: Roberts Refactoring: Improving the Design of Existing Code. Addison-Wesley Pub. Co, Reading ISBN: 0201485672Google Scholar
  35. [RLaddad]
    Laddad, R.: AspectJ in action. In: Practical Aspect-Oriented Programming, Manning Publications Co ISBN 1-930110-93-6Google Scholar
  36. [SAIP]
    Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley, Reading ISBN: 0321154959Google Scholar
  37. [TAO1]
    Schmidt, D.C., Levine, D.L., Mungee, S.: The Design and Performance of Real-Time Object Request Brokers. Computer Communications 21(4), 294–324 (1998)CrossRefGoogle Scholar
  38. [TAO2]
    Schmidt, D.C., Levine, D.L., Cleeland, C.: Architectures and Patterns for High-performance. In: Zelkowitz, M. (ed.) Real-time CORBA Object Request Brokers, Advances in Computers, Academic Press, London (1999)Google Scholar
  39. [Tarr99]
    Tarr, P., Ossher, H., Harrison, W., Sutton, S.: N Degrees of Separation: Multi-Dimensional Separation of Concerns. In: International Conference on Software Engineering (ICSE), Los Angeles, California, May 1999, pp. 107–119 (1999)Google Scholar
  40. [UML:01]
    Object Management Group: Unified Modeling Language (UML) v1.5, OMG Document formal/2003-03-01 edn. (March 2003)Google Scholar
  41. [Voelter]
    Volter, M., Schmid, A., Wolff, E.: Server Component Patterns: Component Infrastructures Illustrated with EJB. Wiley& Sons, Chichester ISBN is 0-470-84319-5Google Scholar
  42. [XML:00]
    W.A. Domain: Extensible Markup Language (XML),

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Andrey Nechypurenko
    • 1
  • Tao Lu
    • 2
  • Gan Deng
    • 2
  • Emre Turkay
    • 2
  • Douglas C. Schmidt
    • 2
  • Aniruddha Gokhale
    • 2
  1. 1.Siemens Corporate TechnologyMunichGermany
  2. 2.Institute for Software Integrated SystemsVanderbilt UniversityNashvilleUSA

Personalised recommendations