Skip to main content
Erschienen in: Automated Software Engineering 4/2017

01.09.2016

From requirements to source code: a Model-Driven Engineering approach for RESTful web services

verfasst von: Christoforos Zolotas, Themistoklis Diamantopoulos, Kyriakos C. Chatzidimitriou, Andreas L. Symeonidis

Erschienen in: Automated Software Engineering | Ausgabe 4/2017

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

During the last few years, the REST architectural style has drastically changed the way web services are developed. Due to its transparent resource-oriented model, the RESTful paradigm has been incorporated into several development frameworks that allow rapid development and aspire to automate parts of the development process. However, most of the frameworks lack automation of essential web service functionality, such as authentication or database searching, while the end product is usually not fully compliant to REST. Furthermore, most frameworks rely heavily on domain specific modeling and require developers to be familiar with the employed modeling technologies. In this paper, we present a Model-Driven Engineering (MDE) engine that supports fast design and implementation of web services with advanced functionality. Our engine provides a front-end interface that allows developers to design their envisioned system through software requirements in multimodal formats. Input in the form of textual requirements and graphical storyboards is analyzed using natural language processing techniques and semantics, to semi-automatically construct the input model for the MDE engine. The engine subsequently applies model-to-model transformations to produce a RESTful, ready-to-deploy web service. The procedure is traceable, ensuring that changes in software requirements propagate to the underlying software artefacts and models. Upon assessing our methodology through a case study and measuring the effort reduction of using our tools, we conclude that our system can be effective for the fast design and implementation of web services, while it allows easy wrapping of services that have been engineered with traditional methods to the MDE realm.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Fußnoten
6
See (Dermeval et al. 2015) for a systematic review on the use of ontologies in RE.
 
Literatur
Zurück zum Zitat Abbott, R.J.: Program design by informal english descriptions. Commun. ACM 26(11), 882–894 (1983)CrossRefMATH Abbott, R.J.: Program design by informal english descriptions. Commun. ACM 26(11), 882–894 (1983)CrossRefMATH
Zurück zum Zitat Castañeda, V., Ballejos, L., Caliusco, M.L., Galli, M.R.: The use of ontologies in requirements engineering. Glob. J. Res. Eng. 10(6), (2010) Castañeda, V., Ballejos, L., Caliusco, M.L., Galli, M.R.: The use of ontologies in requirements engineering. Glob. J. Res. Eng. 10(6), (2010)
Zurück zum Zitat Dermeval, D., Vilela, J., Bittencourt, I., Castro, J., Isotani, S., Brito, P., Silva, A.: Applications of ontologies in requirements engineering: a systematic review of the literature. Requir. Eng. 1–33 (2015) Dermeval, D., Vilela, J., Bittencourt, I., Castro, J., Isotani, S., Brito, P., Silva, A.: Applications of ontologies in requirements engineering: a systematic review of the literature. Requir. Eng. 1–33 (2015)
Zurück zum Zitat Ed-Douibi, H., Izquierdo, J.L.C., Gómez, A., Tisi, M., Cabot, J.: EMF-REST: generation of restful apis from models. CoRR abs/1504.03498 (2015) Ed-Douibi, H., Izquierdo, J.L.C., Gómez, A., Tisi, M., Cabot, J.: EMF-REST: generation of restful apis from models. CoRR abs/1504.03498 (2015)
Zurück zum Zitat Fielding, R.T.: Architectural styles and the design of network-based software architectures. PhD thesis, University of California, Irvine (2000) Fielding, R.T.: Architectural styles and the design of network-based software architectures. PhD thesis, University of California, Irvine (2000)
Zurück zum Zitat Happel, H.J., Seedorf, S.: Applications of ontologies in software engineering. In: Proceedings of the 2nd International Workshop on Semantic Web Enabled Software Engineering (SWESE 2006), held at the 5th International Semantic Web Conference (ISWC 2006), pp 5–9 (2006) Happel, H.J., Seedorf, S.: Applications of ontologies in software engineering. In: Proceedings of the 2nd International Workshop on Semantic Web Enabled Software Engineering (SWESE 2006), held at the 5th International Semantic Web Conference (ISWC 2006), pp 5–9 (2006)
Zurück zum Zitat Harmain, H.M., Gaizauskas, R.: Cm-Builder: a natural language-based case tool for object-oriented analysis. Autom. Softw. Eng. 10(2), 157–181 (2003)CrossRef Harmain, H.M., Gaizauskas, R.: Cm-Builder: a natural language-based case tool for object-oriented analysis. Autom. Softw. Eng. 10(2), 157–181 (2003)CrossRef
Zurück zum Zitat Hernández, A.G., García, M.N.M.: A formal definition of restful semantic web services. In: Proceedings of the First International Workshop on RESTful Design, ACM, New York, WS-REST ’10, pp 39–45 (2010) Hernández, A.G., García, M.N.M.: A formal definition of restful semantic web services. In: Proceedings of the First International Workshop on RESTful Design, ACM, New York, WS-REST ’10, pp 39–45 (2010)
Zurück zum Zitat Hutchinson, J., Whittle, J., Rouncefield, M., Kristoffersen, S.: Empirical assessment of mde in industry. In: Proceedings of the 33rd International Conference on Software Engineering, ACM, New York, ICSE ’11, pp 471–480 (2011) Hutchinson, J., Whittle, J., Rouncefield, M., Kristoffersen, S.: Empirical assessment of mde in industry. In: Proceedings of the 33rd International Conference on Software Engineering, ACM, New York, ICSE ’11, pp 471–480 (2011)
Zurück zum Zitat Kaindl, H., Smialek, M., Svetinovic, D., Ambroziewicz, A., Bojarski, J., Nowakowski, W., Straszak, T., Schwarz, H., Bildhauer, D., Brogan, J.P., Mukasa, K.S., Wolter, K., Krebs, T.: Requirements specification language definition: Defining the redseeds languages, deliverable d2.4.1. Public deliverable, ReDSeeDS (Requirements Driven Software Development System) Project (2007) Kaindl, H., Smialek, M., Svetinovic, D., Ambroziewicz, A., Bojarski, J., Nowakowski, W., Straszak, T., Schwarz, H., Bildhauer, D., Brogan, J.P., Mukasa, K.S., Wolter, K., Krebs, T.: Requirements specification language definition: Defining the redseeds languages, deliverable d2.4.1. Public deliverable, ReDSeeDS (Requirements Driven Software Development System) Project (2007)
Zurück zum Zitat Liebel, F., Marko, N., Tichy, M., Leitner, A., Hansson, J.: Assessing the state-of-practice of model-based engineering in the embedded systems domain. In: Dingel, J., Schulte, W., Ramos, I., Abraho, S., Insfran, E. (eds.) Model-Driven Engineering Languages and Systems, Lecture Notes in Computer Science, vol. 8767, pp. 166–182. Springer, Berlin (2014) Liebel, F., Marko, N., Tichy, M., Leitner, A., Hansson, J.: Assessing the state-of-practice of model-based engineering in the embedded systems domain. In: Dingel, J., Schulte, W., Ramos, I., Abraho, S., Insfran, E. (eds.) Model-Driven Engineering Languages and Systems, Lecture Notes in Computer Science, vol. 8767, pp. 166–182. Springer, Berlin (2014)
Zurück zum Zitat Mich, L.: Nl-oops: from natural language to object oriented requirements using the natural language processing system lolita. Nat. Lang. Eng. 2(2), 161–187 (1996)CrossRef Mich, L.: Nl-oops: from natural language to object oriented requirements using the natural language processing system lolita. Nat. Lang. Eng. 2(2), 161–187 (1996)CrossRef
Zurück zum Zitat Moody, D.: The physics of notations: toward a scientific basis for constructing visual notations in software engineering. IEEE Trans. Softw. Eng. 35(6), 756–779 (2009). doi:10.1109/TSE.2009.67 CrossRef Moody, D.: The physics of notations: toward a scientific basis for constructing visual notations in software engineering. IEEE Trans. Softw. Eng. 35(6), 756–779 (2009). doi:10.​1109/​TSE.​2009.​67 CrossRef
Zurück zum Zitat Mylopoulos, J., Castro, J., Kolp, M.: Tropos: A framework for requirements-driven software development. In: Information Systems Engineering: State of the Art and Research Themes, Springer, pp 261–273 (2000) Mylopoulos, J., Castro, J., Kolp, M.: Tropos: A framework for requirements-driven software development. In: Information Systems Engineering: State of the Art and Research Themes, Springer, pp 261–273 (2000)
Zurück zum Zitat Newman, S.: Building Microservices. O’Reilly Media Inc, Sebastopol (2015) Newman, S.: Building Microservices. O’Reilly Media Inc, Sebastopol (2015)
Zurück zum Zitat Parastatidis, S., Webber, J., Silveira, G., Robinson, I.S.: The role of hypermedia in distributed system development. In: Proceedings of the First International Workshop on RESTful Design, ACM, New York, WS-REST ’10, pp 16–22 (2010) Parastatidis, S., Webber, J., Silveira, G., Robinson, I.S.: The role of hypermedia in distributed system development. In: Proceedings of the First International Workshop on RESTful Design, ACM, New York, WS-REST ’10, pp 16–22 (2010)
Zurück zum Zitat Porres, and Rauf, I.: Modeling behavioral restful web service interfaces in uml. In: Proceedings of the 2011 ACM Symposium on Applied Computing, ACM, New York, SAC ’11, pp. 1598–1605 (2011) Porres, and Rauf, I.: Modeling behavioral restful web service interfaces in uml. In: Proceedings of the 2011 ACM Symposium on Applied Computing, ACM, New York, SAC ’11, pp. 1598–1605 (2011)
Zurück zum Zitat Rauf, I., Ruokonen, A., Systa, T., Porres, I.: Modeling a composite restful web service with uml. In: Proceedings of the Fourth European Conference on Software Architecture: Companion Volume, ACM, New York, ECSA ’10, pp. 253–260 (2010) Rauf, I., Ruokonen, A., Systa, T., Porres, I.: Modeling a composite restful web service with uml. In: Proceedings of the Fourth European Conference on Software Architecture: Companion Volume, ACM, New York, ECSA ’10, pp. 253–260 (2010)
Zurück zum Zitat Richardson, L., Ruby, S.: Restful Web Services, 1st edn. O’Reilly, Sebastopol (2007) Richardson, L., Ruby, S.: Restful Web Services, 1st edn. O’Reilly, Sebastopol (2007)
Zurück zum Zitat Roth, M., Diamantopoulos, T., Klein, E., Symeonidis, A.: Software requirements: A new domain for semantic parsers. In: Proceedings of the ACL 2014 Workshop on Semantic Parsing, pp. 50–54. Association for Computational Linguistics, Baltimore (2014) Roth, M., Diamantopoulos, T., Klein, E., Symeonidis, A.: Software requirements: A new domain for semantic parsers. In: Proceedings of the ACL 2014 Workshop on Semantic Parsing, pp. 50–54. Association for Computational Linguistics, Baltimore (2014)
Zurück zum Zitat Roth, M., Diamantopoulos, T., Klein, E., Symeonidis, A.: Software requirements as an application domain for natural language processing. Language Resources and Evaluation Under review (2015) Roth, M., Diamantopoulos, T., Klein, E., Symeonidis, A.: Software requirements as an application domain for natural language processing. Language Resources and Evaluation Under review (2015)
Zurück zum Zitat Saeki, M., Horai, H., Enomoto, H.: Software development process from natural language specification. In: Proceedings of the 11th International Conference on Software Engineering, ACM, New York, ICSE ’89, pp. 64–73 (1989) Saeki, M., Horai, H., Enomoto, H.: Software development process from natural language specification. In: Proceedings of the 11th International Conference on Software Engineering, ACM, New York, ICSE ’89, pp. 64–73 (1989)
Zurück zum Zitat Schreier, S.: Modeling restful applications. In: Proceedings of the Second International Workshop on RESTful Design, ACM, New York, WS-REST ’11, pp. 15–21 (2011) Schreier, S.: Modeling restful applications. In: Proceedings of the Second International Workshop on RESTful Design, ACM, New York, WS-REST ’11, pp. 15–21 (2011)
Zurück zum Zitat Siegemund, K., Thomas, E.J., Zhao, Y., Pan, J., Assmann, U.: Towards ontology-driven requirements engineering. In: Workshop Semantic Web Enabled Software Engineering at 10th International Semantic Web Conference (ISWC), Bonn (2011) Siegemund, K., Thomas, E.J., Zhao, Y., Pan, J., Assmann, U.: Towards ontology-driven requirements engineering. In: Workshop Semantic Web Enabled Software Engineering at 10th International Semantic Web Conference (ISWC), Bonn (2011)
Zurück zum Zitat Smialek, M.: Facilitating transition from requirements to code with the redseeds tool. In: Proceedings of the 2012 IEEE 20th International Requirements Engineering Conference (RE), IEEE Computer Society, Washington, DC, RE ’12, pp. 321–322 (2012) Smialek, M.: Facilitating transition from requirements to code with the redseeds tool. In: Proceedings of the 2012 IEEE 20th International Requirements Engineering Conference (RE), IEEE Computer Society, Washington, DC, RE ’12, pp. 321–322 (2012)
Zurück zum Zitat Störrle H (2014) Model-Driven Engineering Languages and Systems. In: Proceedings of the 17th International Conference, MODELS 2014, Valencia, Spain, September 28- October 3, 2014, Springer International Publishing, Cham, chap On the Impact of Layout Quality to Understanding UML Diagrams: Size Matters, pp 518–534. doi:10.1007/978-3-319-11653-2_32, Störrle H (2014) Model-Driven Engineering Languages and Systems. In: Proceedings of the 17th International Conference, MODELS 2014, Valencia, Spain, September 28- October 3, 2014, Springer International Publishing, Cham, chap On the Impact of Layout Quality to Understanding UML Diagrams: Size Matters, pp 518–534. doi:10.​1007/​978-3-319-11653-2_​32,
Zurück zum Zitat Tavares, N.A.C., Vale, S.: A model driven approach for the development of semantic restful web services. In: Proceedings of International Conference on Information Integration and Web-based Applications & Services, ACM, New York, IIWAS ’13, pp. 290:290–290:299 (2013) Tavares, N.A.C., Vale, S.: A model driven approach for the development of semantic restful web services. In: Proceedings of International Conference on Information Integration and Web-based Applications & Services, ACM, New York, IIWAS ’13, pp. 290:290–290:299 (2013)
Zurück zum Zitat Wynne, M., Hellesoy, A.: The Cucumber Book: Behaviour-Driven Development for Testers and Developers. Pragmatic Bookshelf, Frisco (2012) Wynne, M., Hellesoy, A.: The Cucumber Book: Behaviour-Driven Development for Testers and Developers. Pragmatic Bookshelf, Frisco (2012)
Zurück zum Zitat Yu, E.S.K.: Modelling strategic relationships for process reengineering. PhD thesis, University of Toronto, Toronto (1995) Yu, E.S.K.: Modelling strategic relationships for process reengineering. PhD thesis, University of Toronto, Toronto (1995)
Zurück zum Zitat Zhao, H., Doshi, P.: Towards automated restful web service composition. In: IEEE International Conference on Web Services, ICWS 2009, pp 189–196 (2009) Zhao, H., Doshi, P.: Towards automated restful web service composition. In: IEEE International Conference on Web Services, ICWS 2009, pp 189–196 (2009)
Zurück zum Zitat Zuzak, I., Budiselic, I., Delac, G.: Formal modeling of restful systems using finite-state machines. In: Auer, S., Daz, O., Papadopoulos, G. (eds.) Web Engineering. Lecture Notes in Computer Science, vol. 6757, pp. 346–360. Springer, Berlin (2011)CrossRef Zuzak, I., Budiselic, I., Delac, G.: Formal modeling of restful systems using finite-state machines. In: Auer, S., Daz, O., Papadopoulos, G. (eds.) Web Engineering. Lecture Notes in Computer Science, vol. 6757, pp. 346–360. Springer, Berlin (2011)CrossRef
Metadaten
Titel
From requirements to source code: a Model-Driven Engineering approach for RESTful web services
verfasst von
Christoforos Zolotas
Themistoklis Diamantopoulos
Kyriakos C. Chatzidimitriou
Andreas L. Symeonidis
Publikationsdatum
01.09.2016
Verlag
Springer US
Erschienen in
Automated Software Engineering / Ausgabe 4/2017
Print ISSN: 0928-8910
Elektronische ISSN: 1573-7535
DOI
https://doi.org/10.1007/s10515-016-0206-x

Weitere Artikel der Ausgabe 4/2017

Automated Software Engineering 4/2017 Zur Ausgabe