Abstract
This paper presents the results of applying aspect-oriented methods and techniques during the construction of a demonstrator of an industry-grade digital publishing platform. In a rapidly evolving publishing landscape, publishing companies will have a competitive advantage in the long run if their supporting software infrastructure can sustain evolution. In this paper, we show how a component-based software architecture is refactored using AOSD techniques, and how this leads to an improved variability and evolvability of the publishing infrastructure by enabling invasive features to be introduced easily and dynamically. Finally, we provide an in-depth analysis of our main experiences and lessons learned during development of this demonstrator, in terms of three of the industrial acceptance criteria of a programming paradigm: its expressivity, its efficiency, and compatibility. The strength of this demonstrator lies in the fact that it presents a realistic, and high-effort case study, which is the result of collaboration with real-world industrial actors in the news publishing field.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
AOSD-Europe network of excellence: The aosd-europe project, http://www.aosd-europe.net/
DistriNet, KULeuven: Diginews project, http://distrinet.cs.kuleuven.be/research/projects/DigiNews
DistriNet, KULeuven: E-paper project, http://distrinet.cs.kuleuven.be/research/projects/E-paper
DistriNet, KULeuven: Croslocis project, http://distrinet.cs.kuleuven.be/research/projects/CROSLOCiS
DistriNet, KULeuven: Cocomedia project, http://distrinet.cs.kuleuven.be/research/projects/CoCoMedia
Van Landuyt, D., Grégoire, J., Michiels, S., Truyen, E., Joosen, W.: Architectural design of a digital publishing system. CW Reports CW465, Department of Computer Science, K.U.Leuven, Leuven, Belgium (October 2006)
JBoss technologies: The jboss middleware stack, http://www.jboss.org
Kiczales, G.: The aop report card. Dr. Dobb’s (2004), http://www.ddj.com/showArticle.jhtml?articleID=184415082
Singer, J.B.: Still guarding the gate?: The newspaper journalist’s role in an on-line world. Convergence 3(1), 72–89 (1997)
Thurman, N.: Forums for citizen journalists? adoption of user generated content initiatives by online news media. New Media Society 10(1), 139–157 (2008)
Google corp.: Google news, http://news.google.com
Van Landuyt, D., Op de beeck, S., Truyen, E., Joosen, W.: Digital publishing demonstrator: source code, supporting documents and videos (2008), http://distrinet.cs.kuleuven.be/software/digitalpublishing/
Mahieu, T., Joosen, W., Van Landuyt, D., Grégoire, J., Buyens, K., Truyen, E.: System requirements on digital newspapers. CW Reports CW484, K.U.Leuven, Department of Computer Science (March 2007)
Joosen, W., Michiels, S., Truyen, E., Vandebroek, K., Van Landuyt, D.: A comprehensive model for digital publishing. CW Reports CW443, K.U.Leuven, Department of Computer Science (April 2006)
Jacobson, I., Ng, P.W.: Object-Oriented Software Engineering: A Use Case Driven Approach. Addison Wesley Longman Publishing Co., Inc., Redwood City (2004)
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley, Reading (2003)
Tekinerdogan, B., Garcia, A., Sant’Anna, C., Figueiredo, E., Pinto, M., Fuentes, L.: Approach for modeling aspects in architectural views. AOSD-Europe Deliverable D77 (2007), http://www.aosd-europe.net/deliverables/d77.pdf
Pinto, M., Fuentes, L.: Ao-adl: An adl for describing aspect-oriented architectures, pp. 94–114 (2007)
Greenwood, P., et al.: Reference architecture v3.0. AOSD-Europe Deliverable D103 (2008)
SpringSource: The spring enterprise platform, http://www.springsource.com/products/enterprise
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design patterns: elements of reusable object-oriented software. Addison-Wesley Professional, Reading (1995)
Sun inc.: The glassfish application server, https://glassfish.dev.java.net/
Apel, S., Leich, T., Saake, G.: Aspectual feature modules. IEEE Transactions on Software Engineering 34, 162–180 (2007)
Apel, S., Kaestner, C., Lengauer, C.: Research challenges in the tension between features and services. In: SDSOA 2008: Proceedings of the 2nd International Workshop on Systems Development in SOA Environments, pp. 53–58. ACM, New York (2008)
Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling step-wise refinement. IEEE Transactions on Software Engineering 30, 355–371 (2004)
Mezini, M., Ostermann, K.: Variability management with feature-oriented programming and aspects. In: SIGSOFT FSE, pp. 127–136 (2004)
Apel, S., Leich, T., Rosenmüller, M., Saake, G.: FeatureC++: On the symbiosis of feature-oriented and aspect-oriented programming. In: Glück, R., Lowry, M. (eds.) GPCE 2005. LNCS, vol. 3676, pp. 125–140. Springer, Heidelberg (2005)
Apache: The ant build tool, http://ant.apache.org/
Moazami-Goudarzi, K.: Consistency preserving dynamic reconfiguration of distributed systems. PhD thesis, Imperial College London (1999)
Truyen, E., Janssens, N., Sanen, F., Joosen, W.: Support for distributed adaptations in aspect-oriented middleware. In: Research Track Proceedings of the 7th International Conference on Aspect-Oriented Software Development, pp. 120–131. ACM Press, New York (2008)
Sant’anna, C., Garcia, A., Chavez, C., Lucena, C., von Staa, A.v.: On the reuse and maintenance of aspect-oriented software: An assessment framework. In: Proceedings XVII Brazilian Symposium on Software Engineering (2003)
Figueiredo, E., Cacho, N., Sant’Anna, C., Monteiro, M., Kulesza, U., Garcia, A., Soares, S., Ferrari, F., Khan, S., Filho, F.C., Dantas, F.: Evolving software product lines with aspects: An empirical study on design stability. In: ICSE 2008: Proceedings of the 30th International Conference on Software Engineering, pp. 261–270. ACM, New York (2008)
Bandi, R.K., Vaishnavi, V.K., Turk, D.E.: Predicting maintenance performance using object-oriented design complexity metrics. IEEE Trans. Softw. Eng. 29(1), 77–87 (2003)
Cook, S., Ji, H., Harrison, R.: Software evolution and software evolvability (2000)
Belady, L., Lehman, M.: A model of large program development. IBM Sys. Journal 15(1), 225–252 (1976)
Gentleware inc.: Poseidon for uml, http://www.gentleware.com/apollo.html
AOSD-Europe Project:: The ea-miner tool, http://gateway.comp.lancs.ac.uk/computing/aosdeurope//deliverables/d108.pdf
AOSD-Europe Project:: Atelier, http://gateway.comp.lancs.ac.uk:8080/c/portal/layout?pld=1.12
CAOSD Group, t.D.o.L., of the University of Malaga., C.S.: The ao-adl specificiation tool, http://caosd.lcc.uma.es/aoadl/toolsupport.htm
The Eclipse Foundation: the eclipse ide, http://www.eclipse.org
JUnit project: Junit tool for unit testing, http://www.junit.org
JBoss technologies: The jboss ide tools, http://www.jboss.org/tools
Eclipse.org: the aspectj aop language
Pawlak, R., Seinturier, L., Duchien, L., Florin, G.: JAC: A flexible solution for aspect-oriented programming in Java. In: Matsuoka, S. (ed.) Reflection 2001. LNCS, vol. 2192, p. 1. Springer, Heidelberg (2001)
Navarro, L.D.B., Südholt, M., Vanderperren, W., Fraine, B.D., Suvée, D.: Explicitly distributed aop using awed. In: Proceedings of AOSD 2006 (2006)
Lagaisse, B., Joosen, W.: True and Transparent Distributed Composition of Aspect-Components. In: van Steen, M., Henning, M. (eds.) Middleware 2006. LNCS, vol. 4290, pp. 42–61. Springer, Heidelberg (2006)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Van Landuyt, D., Op de beeck, S., Truyen, E., Verbaeten, P. (2011). Building a Digital Publishing Platform Using AOSD. In: Katz, S., Mezini, M., Schwanninger, C., Joosen, W. (eds) Transactions on Aspect-Oriented Software Development VIII. Lecture Notes in Computer Science, vol 6580. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-22031-9_6
Download citation
DOI: https://doi.org/10.1007/978-3-642-22031-9_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-22030-2
Online ISBN: 978-3-642-22031-9
eBook Packages: Computer ScienceComputer Science (R0)