Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Kiczales, G.: Aspect-Oriented Programming. In: Proceedings of the 11th European Conference on Object-Oriented Programming (June 1997)
Schmidt, D.C., Huston, S.D.: C++ Network Programming, Mastering Complexity with ACE and Patterns, 1st edn. Addison-Wesley, Boston (2002)
Schmidt, D.C., Huston, S.D.: C++ Network Programming, Systematic Reuse with ACE and Frameworks, 2nd edn. Addison-Wesley, Reading (2002)
BEA Systems, et al.: CORBA Component Model Joint Revised Submission, Object Management Group, OMG Document orbos/99-07-01 edn (July 1999)
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 Group
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)
Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Reading (2001)
Coplien, J., Hoffman, D., Weiss, D.: Commonality and variability in software engineering. IEEE Software, November/December 1999, 37–45 (1999)
Czarnecki, K., Eisenecker, U.: Generative Programming: Methods,Tools, and Applications. Addison-Wesley Pub Co, Reading ISBN: 0201309777
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)
OMG adopted specification: UML Profile for Enterprise Distributed Object Computing Specification Document number ptc/02-02-05.pdf
Object Management Group. UML Profile for Patterns, v1.0. formal/04-02-04
Ledeczi, A.: The Generic Modeling Environment. In: Workshop on Intelligent Signal Processing, accepted, Budapest, Hungary, May 17 (2001) (accepted)
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)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)
Gray, J., Bapty, T., Neema, S.: Handling Crosscutting Constraints in Domain-Specific Modeling. Communications of the ACM, 87–93 (October 2001)
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)
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)
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)
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)
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)
Sztipanovits, J., Karsai, G.: Model-Integrated Computing. IEEE Computer 30, 110–112 (1997)
Kiczales, G.: AOP The Fun has Just Begun. In: New Visions for Software Design & Productivity Workshop, Vanderbilt University, Nashville (2001)
Kircher, M., Jain, P.: Pattern-Oriented Software Architecture - Patterns for Resource Management, 3rd edn., John Wiley & Sons, Chichester (May 2004) (will be published in)
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)
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)
Liskov, B.: Data Abstraction and Hierarchy. SIGPLAN Notices 23, 5 (1988)
OMG: Model Driven Architecture (MDA) Document number ormsc/2001-07-01Architecture Board ORMSC1,July 9 (2001)
OMG: Meta-Object Facility, version 1.4, January 11 (2002)
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)
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)
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)
Fowler, M., Beck, K., Brant, J., Opdyke, W.,, D.: Roberts Refactoring: Improving the Design of Existing Code. Addison-Wesley Pub. Co, Reading ISBN: 0201485672
Laddad, R.: AspectJ in action. In: Practical Aspect-Oriented Programming, Manning Publications Co ISBN 1-930110-93-6
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley, Reading ISBN: 0321154959
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)
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)
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)
Object Management Group: Unified Modeling Language (UML) v1.5, OMG Document formal/2003-03-01 edn. (March 2003)
Volter, M., Schmid, A., Wolff, E.: Server Component Patterns: Component Infrastructures Illustrated with EJB. Wiley& Sons, Chichester ISBN is 0-470-84319-5
W.A. Domain: Extensible Markup Language (XML), http://www.w3c.org/XML
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Nechypurenko, A., Lu, T., Deng, G., Turkay, E., Schmidt, D.C., Gokhale, A. (2004). Concern-Based Composition and Reuse of Distributed Systems. In: Bosch, J., Krueger, C. (eds) Software Reuse: Methods, Techniques, and Tools. ICSR 2004. Lecture Notes in Computer Science, vol 3107. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-27799-6_14
Download citation
DOI: https://doi.org/10.1007/978-3-540-27799-6_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22335-1
Online ISBN: 978-3-540-27799-6
eBook Packages: Springer Book Archive