TOWARDS FAST METAMODEL EVOLUTION IN LIQUIDML

  • ESTEBAN ROBLES LUNA LIFIA, Facultad de Informática, UNLP, La Plata, Argentina, Also at CIC
  • GUSTAVO ROSSI LIFIA, Facultad de Informática, UNLP, La Plata, Argentina, Also at Conicet
  • JOSE MATIAS RIVERO LIFIA, Facultad de Informática, UNLP, La Plata, Argentina, Also at Conicet
  • FRANCISCO J. DOMINGUEZ-MAYO Web Engineering and Early Testing Group, University of Seville, Seville, Spain
  • JULIAN A. GARCIA-GARCIA Web Engineering and Early Testing Group, University of Seville, Seville, Spain
  • MARIA J. ESCALONA Web Engineering and Early Testing Group, University of Seville, Seville, Spain
Keywords: Evolution, Model based development, self-reflective, Web development

Abstract

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

Download data is not yet available.

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

Published
2017-03-01
Section
Articles