ABSTRACT
More and more software projects are using COTS (Commercial-off-the-shelf) components. Using COTS components brings both advantages and risks. To manage some risks in using COTS components, it is necessary to increase the reusability of the glue-code so that the problematic COTS components can easily be replaced by other components. Aspect-oriented programming (AOP) claims to make it easier to reason about, develop, and maintain certain kinds of application code. To investigate whether AOP can help to build an easy-to-change COTS-based system, a case study was performed by comparing changeability between an object-oriented application and its aspect-oriented version. Results from this study show that integrating COTS component using AOP may help to increase the changeability of the COTS component-based system, if the cross-cutting concerns in the glue-code are homogenous (i.e., consistent application of the same or very similar policy in multiple places). Extracting heterogeneous or partial homogenous crosscutting concerns in glue-code as aspects does not provide benefits. Results also show that some limitations in AOP tools may make it impossible to use AOP in COTS-based development.
- Adrian Colyer, Andrew Clement, Large-scale AOSD for Middleware. In Proceedings of the 3rd International Conference on Aspect-oriented Software Development, (Lancaster, UK, March, 2004), ACM Press, New York, NY, 2004, 56--65. Google ScholarDigital Library
- Aspectwerkz: http://aspectwerkz.codehaus.org/index.htmlGoogle Scholar
- Chris Abts, Barry W. Boehm, and Elizabeth Bailey Clark: COCOTS, A COTS Software Integration Cost Model - Model Overview and Preliminary Data Findings. In Proceedings of the 11th European Software Control and Metrics Conference (ESCOM 2000) (Munich, Germany, April, 2000), 325--33.Google Scholar
- ComponentSource: http://www.componentsource.com/.Google Scholar
- G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin, Aspect Oriented programming. In Proceedings of 11th European Conference on Object-Oriented Programming (Jyväskylä, Finnland, June, 1997), Springer Lecture Notes in Computer Science, Vol. 1241, 220--242.Google ScholarCross Ref
- Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mil Kersten, Jeffrey Palm, and Willian G. Griswold, An Overview of AspectJ. In Proceedings of the 15th European Conference on Object-Oriented Programming (Budapest, Hungary, June 18-22), Springer Lecture Notes in Computer Science, Vol. 2072, 327 - 353. Google ScholarDigital Library
- INCO project: http://www.ifi.uio.no/~isu/INCO/Google Scholar
- Ivica Crnkovic, Brahim Hnich, Torsten Jonsson, and Zeynep Kiziltan, Specification, Implementation, and Deployment of Components. Communication of the ACM, 45, 10 (October, 2002), 35--40. Google ScholarDigital Library
- Java Email Server: Getting started: http://www.ericdaugherty.com/java/mailserver/gettingstarted.htmlGoogle Scholar
- Java.util.logging: http://java.sun.com/j2se/1.4.2/docs/api/java/util/logging/pa ckage-summary.htmlGoogle Scholar
- Jboss: http://www.jboss.org/developers/projects/jboss/aopGoogle Scholar
- Jingyue Li, Finn Olav Bjornson, Reidar Conradi, and Vigdis By Kampenes, An Empirical Study of COTS Component Selection Processes in Norwegian IT companies. In Proceedings of the International workshop on models and processes for the evaluation of COTS components, (Edinburgh, Scotland, May, 2004), IEE ISBN 0-86341-422-2, 27--30.Google Scholar
- J. Voas, COTS Software - the Economical Choice?. IEEE Software, 15, 2 (March/April, 1998), 16--19. Google ScholarDigital Library
- J. Voas, The Challenges of Using COTS Software in Component-Based Development. IEEE Computer, 31, 6 (June, 1998), 44--45. Google ScholarDigital Library
- Martin Lippert and Cristina Videira Lopes, A Study on Exception Detection and Handling Using Aspect-Oriented Programming. In Proceedings of the 22nd International Conference on Software engineering (Limerick, Ireland, June, 2000), IEEE Computer Society Press, 2000, 418 - 427. Google ScholarDigital Library
- M. Torchiano and M. Morisio, Overlooked Facts on COTS-based Development. IEEE Software, 21, 2 (March/April, 2004), 88--93. Google ScholarDigital Library
- Patricia K. Lawlis, Kathryn E. Mark, Deborah A. Thomas, and Terry Courtheyn, A Formal Process for Evaluating COTS Software Products. IEEE Computer, 34, 5 (May, 2001), 58--63. Google ScholarDigital Library
- Pedro J. Clemente, Juan Hernández, Juan M. Murillo, Miguel A. Pérez, Fernando Sánchez, AspectCCM: An Aspect-Oriented Extension of the Corba Component Model. In Proceedings of the 28th Euromicro Conference, (Dortmund, Germany, September 2002), IEEE Computer Society Press, 2002, 10--16.Google Scholar
- Proposals for the architecture of COTS component intensive software systems: http://www.vtt.fi/ele/research/soh/ark/proposalsforarchitectingihme.pdfGoogle Scholar
- Robert J. Walker, Elisa L. A. Baniassad, and Gail C. Murphy, An Initial Assessment of Aspect-Oriented Programming. In Proceedings of the 21st International Conference on Software Engineering (Los Angeles, California, United States, May, 1999), IEEE Computer Society Press, 1999, 120--130. Google ScholarDigital Library
- Santiago Comella-Dorda, John C. Dean, Edwin Morris, and Patricia Oberndorf, A Process for COTS Software Product Evaluation. In Proceedings of the First International Conference on COTS Based Software Systems (Orlando, FL, USA, February 4-6, 2002), Springer Lecture Notes in Computer Science, Vol. 2255, 176--187. Google ScholarDigital Library
- Spam Assassin: http://eu.spamassassin.org/index.htmlGoogle Scholar
- SpamProbe: http://spamprobe.sourceforge.net/Google Scholar
- Wolfgang Schult and Andreas Polze, Aspect-Oriented Programming with C# and .NET. In Proceedings of the 5th IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (Washington D. C, United States, April, 2002), IEEE Computer Society Press, 2002, 241--248. Google ScholarDigital Library
Index Terms
- A case study on building COTS-based system using aspect-oriented programming
Recommendations
Modified development process of component-based software engineering
Component-based software engineering (CBSE) is a branch of software engineering, the priority of which is the separation of concerns in respect of the wide-ranging functionality available throughout a given software system. CBSE emphasizes on building ...
Improving Maintainability of COTS Based System Using Aspect Oriented Programming: An Empirical Evaluation
ACSEAC '12: Proceedings of the 2012 African Conference for Sofware Engineering and Applied ComputingCommercial off the Shelf Software (COTS) based development leads to a faster time to delivery for the software systems. However, the maintenance of these systems tends to be more costly as components may have to be removed or replaced, and also these ...
Mismatch handling for COTS selection: a case study
Using Commercial Off-The-Shelf (COTS) products to build software systems requires the evaluation of existing COTS products, the selection of the COTS that best fit system requirements, and the integration of the selected COTS into the system. During ...
Comments