Abstract
In order to handle complexity of software systems, component-based as well as model-driven approaches have become popular in the past. In a model-driven development process the problem arises that over time model and code may be not aligned. Thus, in order to avoid this steadily increasing distance between models and code, we propose the integration of (executable) models and code at the component level. Redundancy – the source of inconsistencies – is reduced by interpreting models directly. Moreover, variability and adaptivity can be achieved by querying and transforming the embedded models. As the basis for such Model-Integrating Components (MoCos), we introduce a component realization concept that is compatible with existing component technologies. We provide a reference implementation using Java, OSGi and TGraphs and apply it successfully in a feasibility study on AndroidTM.
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
Apache Felix Homepage, https://felix.apache.org/ (accessed May 3, 2014)
IBM Rational Software Architect Homepage, http://www-03.ibm.com/software/products/en/ratisoftarch (accessed July 8, 2014)
JGraLab Hompage, http://jgralab.uni-koblenz.de (accessed February 28, 2014)
Amoui, M.: Evolving Software Systems for Self-Adaptation. Ph.D. thesis, University of Waterloo, http://uwspace.uwaterloo.ca/bitstream/10012/6643/1/AmouiKalareh_Mehdi.pdf (accessed July 8, 2012)
Amoui, M., Derakhshanmanesh, M., Ebert, J., Tahvildari, L.: Achieving Dynamic Adaptation via Management and Interpretation of Runtime Models. Journal of Systems and Software 85(12), 2720–2737 (2012), http://www.sciencedirect.com/science/article/pii/S0164121212001458
Ballagny, C., Hameurlain, N., Barbier, F.: MOCAS: A State-Based Component Model for Self-Adaptation. In: 2009 Third IEEE International Conference on Self-Adaptive and Self-Organizing Systems, pp. 206–215 (September 2009)
Bencomo, N., France, R.B., Götz, S., Rumpe, B.: Summary of the 8th International Workshop on Models @ Run.time. In: MoDELS@Run.time (2013), http://ceur-ws.org/Vol-1079/summary.pdf (accessed July 8, 2014)
Blair, G., Bencomo, N., France, R.B.: Models@run.time. Computer 42(10), 22–27 (2009)
Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice. Morgan & Claypool (2012), http://www.mdse-book.com/
Crnkovic, I., Sentilles, S., Vulgarakis, A., Chaudron, M.R.V.: A Classification Framework for Software Component Models. IEEE Transactions on Software Engineering 37(5), 593–615 (2011)
Derakhshanmanesh, M., Ebert, J., Engels, G.: Why Models and Code Should be Treated as Friends. Softwaretechnik-Trends (2014) Presented at MMSM – a satellite event of Modellierung 2014 (to appear, 2014), http://akmda.ipd.kit.edu/fileadmin/user_upload/akmda/mmsm/MMSM2014-Proceedings.pdf ,
E2E Technologies: White Paper: Direct Model Execution – The key to IT productivity and improving business performance (April 2008), http://www.omg.org/news/whitepapers/2008-05-05_E2E_White_Paper_on_Direct_Model_Execution.pdf (accessed July 9th, 2014)
Ebert, J., Riediger, V., Winter, A.: Graph Technology in Reverse Engineering, The TGraph Approach. In: Gimnich, R., Kaiser, U., Quante, J., Winter (eds.) 10th Workshop Software Reengineering (WSR 2008), vol. 126, pp. 67–81. GI, Bonn (2008)
Hallsteinsen, S., Hinchey, M., Park, S., Schmid, K.: Dynamic Software Product Lines. Computer 41(4), 93–95 (2008)
Herrmann, C., Krahn, H., Rumpe, B., Schindler, M., Völkel, S.: Scaling-Up Model-Based-Development for Large Heterogeneous Systems with Compositional Modeling. In: Software Engineering Research and Practice, pp. 172–176 (2009)
Höfig, E.: Interpretation of Behaviour Models at Runtime - Performance Benchmark and Case Studies. Ph.D. thesis, Technical University of Berlin (2011), http://opus.kobv.de/tuberlin/volltexte/2011/3065/pdf/hoefig_edzard.pdf (accessed July 8, 2014)
Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. Tech. Rep. Software Engineering Institute, Carnegie Mellon University (November 1990), http://www.sei.cmu.edu/reports/90tr021.pdf (accessed July 8, 2014)
Kleppe, A., Bast, W., Warmer, J.B.: MDA Explained: The Model Driven Architecture: Practice and Promise. Addison-Wesley (2003)
Kurtev, I., Bézivin, J., Aksit, M.: Technological spaces: An initial appraisal. In: CoopIS, DOA’2002 Federated Conferences. Industrial track (2002)
Mellor, S.J., Balcer, M.: Executable UML: A Foundation for Model-Driven Architectures. Addison-Wesley Longman Publishing Co., Inc., Boston (2002)
Salehie, M., Tahvildari, L.: Self-Adaptive Software: Landscape and Research Challenges. ACM Trans. Auton. Adapt. Syst. 4(2), 14:1–14:42 (2009)
Stahl, T., Völter, M.: Model-Driven Software Development. Wiley (2006)
Szyperski, C., Gruntz, D., Murer, S.: Component Software - Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley (2002)
The OSGi Alliance: OSGi Core Release 5. Tech. Rep. March, The OSGi Alliance (2012), http://www.osgi.org/Download/File?url=/download/r5/osgi.core-5.0.0.pdf (accessed July 8, 2014)
Tolvanen, J.P.: How to Integrate Models and Code (2012), http://www.infoq.com/articles/combining-model-and-code (accessed February 28, 2014)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Derakhshanmanesh, M., Ebert, J., Iguchi, T., Engels, G. (2014). Model-Integrating Software Components. In: Dingel, J., Schulte, W., Ramos, I., Abrahão, S., Insfran, E. (eds) Model-Driven Engineering Languages and Systems. MODELS 2014. Lecture Notes in Computer Science, vol 8767. Springer, Cham. https://doi.org/10.1007/978-3-319-11653-2_24
Download citation
DOI: https://doi.org/10.1007/978-3-319-11653-2_24
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-11652-5
Online ISBN: 978-3-319-11653-2
eBook Packages: Computer ScienceComputer Science (R0)