TOWARDS FAST METAMODEL EVOLUTION IN LIQUIDML
Keywords:
Evolution, Model based development, self-reflective, Web developmentAbstract
The software industry is applying Model-driven development approaches due to a core set of benefits, such as raising the level of abstraction and reducing coding errors. However, their underlying modeling languages tend to be quite static, making their evolution hard, specifically when the corresponding metamodel does not support primitives and/or functionalities required in specific business domains. This paper presents an extension to the LiquidML language to support fast metamodel evolution by allowing experts to abstract new language concepts from primitives while supporting automatic tool evolution and zero application downtime. To probe our claims, we evaluate the evolutionary capabilities of existing modeling languages and LiquidML in a real world language extension.
Downloads
References
Blair G., Bencomo N., France R. B., "Models@ run.time," Computer, vol. 42, no. 10, pp. 22-27,
October, 2009
Ceri S., Fraternali P., and Bongio A., “Web Modeling Language (WebML): a modelling language
for designing Web sites,” Comput. Networks, vol. 33, no. 1–6, pp. 137–157, Jun. 2000.
Cicchetti A., Di Ruscio D., Eramo R., and Pierantonio A. Automating Co-evolution in Model-
Driven Engineering. In Proceedings of the 2008 12th International IEEE Enterprise Distributed
Object Computing Conference (EDOC '08). IEEE Computer Society, Washington, DC, USA,
-231.
Escalona M.J. and Aragon G., “NDT. A Model-Driven Approach for Web Requirements,” IEEE
Trans. Softw. Eng., vol. 34, no. 3, pp. 377–390, May 2008.
Hohpe G. and Woolf B., Enterprise Integration Patterns: Designing, Building, and Deploying
Messaging Solutions. Addison-Wesley Professional, 2003, p. 736.
Hoisl B., Hidaka S., Hu Z., Towards Co-Evolution in Model-driven Development via
Bidirectional Higher-Order Transformation. 2nd International Conference on Model-Driven
Engineering and Software Development (MODELSWARD 2014), Lisbon, Portugal, January 7-
, 2014.
Robles Luna E., Rivero J. M., Urbieta M. M., and Cabot J., “Improving the scalability of Web
applications with runtime transformations” in Proceedings of the 14th International Conference
in Web Engineering. p 430-439. 2014.
Toffetti G.: Web engineering for cloud computing (web engineering forecast: cloudy with a
chance of opportunities). In Proceedings of the 12th international conference on Current Trends
in Web Engineering (ICWE'12). Springer-Verlag, Berlin, Heidelberg, 5-19 (2012).
Wimmer M., Schauerhuber A., and Kargl H., “On the Integration of Web Modeling Languages:
Preliminary Results and Future Challenges,” in Proceedings of the 3rd International Workshop
on Model-Driven Web Engineering, 2007.
Mellor, S.J., Balcer, M.: Executable UML: A Foundation for Model-Driven Architectures.
Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA. (2002)
García-García J.A., Escalona, M.J.; Domínguez-Mayo, F.J.; Salido, A. “NDT-Suite: A
metodological tool solution in the Model-Driven Engineering Paradigm”. Journal of Software
Engineering and Applications, vol. 7. Núm. 4. Pag. 206-217. DOI: 10.4236/jsea.2014.74022.
García-García, J.A., Cutilla, C.R., Escalona, M.J., Alba, M., Torres, J. “NDT-Driver, a Java Tool
to Support QVT Transformations for NDT”. In the 20th International Conference on Information
Systems Development (ISD 2011), Reflections, Challenges and New Directions Pooley, R.J.;
Coady, J.; Linger, H.; Barry, C.; Lang, M.; Schneider, C. (Eds.). DOI 10.1007/978-1-4614-4951-
_8, pp. 170-176. , 2012.
Salido, A.; García-García J.A.; J. Gutiérrez; J. Ponce. “Tests Management in CALIPSOneo: A
MDE Solution”, Journal of Software Engineering and Applications, Vol.7 No.6, PP. 506-512.
DOI: 10.4236/jsea.2014.76047. 2014.
Escalona M.J., Garcia-Garcia J. A., Mas F., Oliva M., Del Valle C. Applying model-driven
paradigm: CALIPSOneo experience. Proceedings of the Industrial Track of the Conference on
Advanced Information Systems Engineering 2013 (CAiSE'13), vol. 1017, pp. 25-32. 2013.
Schmidt, D. C. Model-Driven Engineering. IEEE Computer, Computer Society, vol. 39, no. 2,
pp. 25-31, 2006.
Pastor, O., España, S., Panach, J. I., & Aquino, N. Model-driven development. Informatik-
Spektrum, 31(5), 394-407. 2008.
IFML, Interaction Flow Modeling Language. Website: http://www.omg.org/spec/IFML/. Last
access may 2016.
AngularJS. JavaScript MVW Framework. Website: https://angularjs.org/. Last access may 2016.
GWT. Development toolkit for building and optimizing browser-based applications. Website:
www.gwtproject.org. Last access may 2016.
jQuery. JavaScript Library. Website: https://jquery.com/. Last access may 2016.
MongoDB. Website: www.mongodb.com/. Last access may 2016.
Tomcat apache. Website: http://tomcat.apache.org/. Last access may 2016.
PHP. Website: http://www.php.net/. Last access may 2016.
OpenWeather API. Website: http://openweathermap.org/. Last access may 2016.
Den Haan J. Model Driven Development: Code Generation or Model Interpretation?. Website:
http://www.theenterprisearchitect.eu/archive/2010/06/28/model-driven-development-codegeneration-
or-model-interpretation. Last access may 2016.
Cabot J. Executable models vs code-generation vs model interpretation. Website:
http://modeling-languages.com/executable-models-vs-code-generation-vs-model-interpretation-
/. Last access may 2016.
Blog webratio. Why Code Generation is better than Model Interpretation (from our customers’
point of view). Website: http://blog.webratio.com/?p=368. Last access may 2016.
HL7. Introduction to HL7 Standards. Website: www.hl7.org/implement/standards. Last access
may 2016.
Eclipse Modeling Framework. Website: http://www.eclipse.org/modeling/emf/. Last access may
Ramírez, Andres J.; CHENG, Betty HC. Evolving models at run time to address functional and
non-functional adaptation requirements. En Proceedings of the 4th International Workshop on
Models at Runtime. 2009.
Mosincat A, Binder W, Jazayeri M. Achieving runtime adaptability through automated model
evolution and variant selection, Enterprise Information Systems, 8:1, 67-83, DOI:
1080/17517575.2012.691182. 2014.
Phung-Khac, An, et al. A Model-driven Architecture-based Approach to Runtime Adaptable and
Evolvable Distributed Collaborations. MODELS Doctoral Symposium. 2008.
Serral, E; Valderas, P; Pelechano, V. Addressing the evolution of automated user behaviour
patterns by runtime model interpretation. Software & Systems Modeling, vol. 14, no 4, p. 1387-
2015.
New Relic. Website: www.newrelic.com. Last access may 2016.
Huo, Ming, et al. Software quality and agile methods. En Computer Software and Applications
Conference, COMPSAC 2004. Proceedings of the 28th Annual International. IEEE, pp. 520-525.
Glossary. What Is A/B Testing? Website: https://www.optimizely.com/ab-testing/. Last access
may 2016.
Bloch, Joshua. Effective java (the java series). Prentice Hall PTR, 2008.
PLATT, David S. Introducing Microsoft. Net. Microsoft press, 2002.
Learn Ruby the Hard Way, 3rd Edition. Website: http://learnrubythehardway.org/book/. Last
access may 2016.
Scala, Object-Oriented Meets Functional. Website: Http://www.scala-lang.org/. Last access may
HUMBLE, Jez; FARLEY, David. Continuous Delivery: Reliable Software Releases through
Build, Test, and Deployment Automation (Adobe Reader). Pearson Education, 2010.
Koch, N., Knapp, A., Zhang, G., Baumeister, H.: UML-based Web Engineering: an approach
based on standards. In: Rossi, G., Pastor, O., Schwabe, D., Olsina, L. (eds.) WE, pp. 157–191.
Springer. 2008.
Rossi, G., Schwabe, D.: Modeling and implementing web applicactions with OOHDM. In: Rossi,
G., Pastor, O., Schwabe, D., Olsina, L. (eds.) WE, pp. 109–155. Springer. 2008.
ACERBIS, Roberto, et al. Model-Driven Development of Cross-Platform Mobile Applications
with Web Ratio and IFML. En Mobile Software Engineering and Systems (MOBILESoft), 2015
nd ACM International Conference on. IEEE, 2015. p. 170-171. 2015.
Martínez Y, Cachero C, Meliá S: MDD vs. traditional software development: A practitioner's
subjective perspective. Information & Software Technology 55(2). pp 189-200. 2013.
Papatheocharous E, Andreou A. Empirical evidence and state of practice of software agile teams.
Journal of Software: Evolution and Process. Volume 26, Issue 9, pages 855–866, 2014.
V. Basili, G. Caldiera, D. Rombach, The Goal Question Metric approach, 1994.
Robles Luna E., Rivero J.M., Urbieta M. “LiquidML: A Model Based Environment for
Developing High Scalable Web Applications” in Proceedings of the 14th International
Conference in Web Engineering. p 519-522. 2014.
Robles Luna E., García-García J.A., Rossi G., Rivero J.M., Domínguez Mayo F.J., Escalona M.
J. “LiquidML: A Web Modeling Language Supporting Fast Metamodel Evolution”. in
Proceedings of WEBIST (1) 2016: 318-326.
Balsamo, S., Di Marco, A., Inverardi, P., Simeoni, M.: Model-based performance prediction in
software development: A survey. IEEE Trans. Softw. Eng. 30(5), 295–310 (2004).
Gambi A., Toffetti G., Comai S. Model-Driven Web Engineering Performance Prediction with
Layered Queue Networks. In: Daniel F., Facca F.M. (eds) Current Trends in Web Engineering.
ICWE 2010. Lecture Notes in Computer Science, vol 6385. Springer, Berlin, Heidelberg. 2010.
DOI: 10.1007/978-3-642-16985-4_3