ABSTRACT
Contextual collaboration is a promising approach to embedding new collaborative features into existing applications. However, incorporating such new features may be too difficult for applications without extensible frameworks or too complex for legacy, custom, and mission-critical applications. We present Aspect-Oriented Retrofitting as a lightweight approach to embedding contextual collaboration in this class of applications, describe guidelines for designing retrofitting aspects, and walk through two examples.
- AspectJ. http://www.eclipse.org/aspectj.Google Scholar
- AspectWerkz. http://aspectwerkz.codehaus.org.Google Scholar
- Begole, J., Rosson, M., Shaffer, C. Flexible Collaboration Transparency: Supporting Worker Independence in Replicated Application-Sharing Systems. ACM Transactions on Computer-Human Interaction, 6, 2 (June 1999), 95--132. Google ScholarDigital Library
- Booch, G., Brown, A. Collaborative Development Environments, in Advances in Computers Vol. 59, Academic Press, August 2003.Google Scholar
- Cardone, R., Brown, A., McDirmid, S., Lin, C. Using Mixins to Build Flexible Widgets. In Proceedings of AOSD 02 (Enschede, The Netherlands, April 22-26). ACM, New York, NY, 2002, 76--85. Google ScholarDigital Library
- Cheng, L., Rohall, S., Patterson, J., Ross, S., Hupfer, S. Retrofitting Collaboration into UIs using Aspects. In Proceedings of CSCW 04 (Chicago, USA, Nov. 6-10). ACM, New York, NY, 2004. Google ScholarDigital Library
- Churchill, E., Trevor, J., Bly, S., Nelson, L., Cubranic, D. Anchored Conversations: Chatting in the Context of a Document. In Proceedings of CHI 00 (The Hague, Netherlands, April 1-6). ACM, New York, NY, 2000, 454--461. Google ScholarDigital Library
- Eclipse.org. Eclipse 2.1.2 Example Plug-ins, http://fullmoon.torolab.ibm.com/downloads/drops/R-2.1.2-200311030802/Google Scholar
- Fontana, J. Collaborative Software Ages Slowly. In Network World Fusion, January 6, 2003.Google Scholar
- Grudin, J. Groupware and Social Dynamics: Eight Challenges for Developers. Communications of the ACM, 37, 1 (Jan. 1994), 92--105. Google ScholarDigital Library
- Hupfer, S, Cheng, L., Ross, S., Patterson, J. Introducing Contextual Collaboration into an Application Development Environment. In Proceedings of CSCW 04 (Chicago, USA, Nov. 6-10), ACM, New York, NY, 2004. Google ScholarDigital Library
- IBM. Lotus Instant Messaging and Web Conferencing, Sametime Java Toookit, http://www-136.ibm.com/developerworks/lotus/products/instantmessagingGoogle Scholar
- Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J-M., Irwin, J. Aspect-Oriented Programming In Proceedings of ECOOP 97. Springer-Verlag LNCS n. 1241, Germany, 1997, 220--242.Google Scholar
- Laddad, R. AspectJ in Action. Manning, Greenwich, CT, 2003.Google Scholar
- Li, D., Li, R. Transparent Sharing and Interoperation of Heterogeneous Single-User Applications. In Proceedings of CSCW 02 (New Orleans, USA, Nov. 16-20). ACM, New York, NY, 2002, 246--255. Google ScholarDigital Library
- Lopes, C., Dourish, P., Lorenz, D., Lieberherr, K. Beyond AOP: Toward Naturalistic Programming. In Companion of OOPSLA 03 (Anaheim, USA, Oct. 26-30), ACM, New York, NY, 2003, 198--207. Google ScholarDigital Library
- Microsoft. NetMeeting Home Page, http://www.microsoft.com/windows/netmeetingGoogle Scholar
- Mørch, A. Aspect-Oriented Software Components. In Adaptive Evolutionary Information Systems, N. Patel (ed). Idea Group, Hershey, USA, 2002, 105--123. Google ScholarDigital Library
- Mørch, A. Three Levels of End-User Tailoring: Customization, Integration, and Extension. In Computers and Design in Context, M. Kyng & L. Mathiassen (eds.). MIT Press, Cambridge, USA, 1997, 51--76. Google ScholarDigital Library
- ObjectWeb, JAC Project. http://jac.objectweb.org/index.htmlGoogle Scholar
- Popovici, A., Alonso, G., Gross, T. Just-in-Time Aspects: Efficient Dynamic Weaving for Java. In Proceedings of AOSD 03 (Boston, USA, March 17-21). ACM, New York, NY, 2003, 100--109. Google ScholarDigital Library
- Rohall, S. L., Patterson, J. Another Look at Replicated-Application Sharing,. Position paper for CSCW 04 workshop on Making Application Sharing Easy: Architectural Issues for Collaboration Transparency (Chicago, USA, Nov. 6-10). ACM, New York, NY, 2004.Google Scholar
- Veit, M., Herrmann, S. Model-View-Controller and Object Teams: A Perfect Match of Paradigms. In Proceedings of AOSD 03 (Boston, USA, March 17-21). ACM, New York, NY, 2003, 140--149. Google ScholarDigital Library
- Wilson, R. IBM Workplace Client Technology Powering Managed Client Solutions, http://www.eclipsecon.org/EclipseCon_2004_TechnicalTrackPresentations/21_Wilson.pdfGoogle Scholar
Index Terms
- Weaving a social fabric into existing software
Recommendations
Role and relevance of reuse repository facilitating software development
This paper discusses the role and relevance of reuse repositories and how software reuse influences software development. Reuse repositories are designed to increase the possibility of locating reusable components at a centralized location to ease ...
ParaAJ: toward reusable and maintainable aspect oriented programs
ACSC '09: Proceedings of the Thirty-Second Australasian Conference on Computer Science - Volume 91Aspect Oriented Programming (AOP) aims to ease maintenance and promote reuse of software components by separating core concerns from crosscutting concerns: aspects of a program that cannot be confined to a single program component. In AOP languages such ...
Software reuse
Software reuse is the process of creating software systems from existing software rather than building software systems from scratch. This simple yet powerful vision was introduced in 1968. Software reuse has, however, failed to become a standard ...
Comments