Language Service Composition Based on Higher Order Functions

  • Takao Nakaguchi
  • Yohei Murakami
  • Donghui Lin
  • Toru Ishida
Part of the Cognitive Technologies book series (COGTECH)


To support multi-language activities, various composite services are created by a service composition that combines existing services or changes the combination of services composed by existing composite services. Multi-language activities have a wide variety of domains and their needs may change with the participants or situations, so service composition must be able to freely create various services to suit the languages of the participants and/or domains of the activity targets. Since existing service composition technologies relies on the deployment process of created composite services toward service infrastructure for users to find and execute them, delay and costs are expensive. To solve this problem, we propose a method that introduces the concept of higher order functions. In concrete, we regard services as functions and pass the functions invoked from composite services as runtime parameters of composite services to compose services without any deployment processes, this yields service composition that can efficiently support multi-language activities. We apply the proposals to Language Grid, designed to gather and provide language services, and evaluate the results. They show that our proposals can create various composite services at runtime with quite practical overheads.


Service composition Higher order functions Aspect oriented programming 



This research was supported by a Grant-in-Aid for Scientific Research (S) (24220002, 2012–2016) and a Grant-in-Aid for Young Scientists (A) (17H04706, 2017–2020) from Japan Society for the Promotion of Science (JSPS). Most of this work was done while the first author was a researcher at Department of Social Informatics, Kyoto University.


  1. 1.
    Bentley, R., Csillaghy, A., Aboudarham, J., Jacquey, C., Hapgood, M., Bocchialini, K., Messerotti, M., Brooke, J., Gallagher, P., Fox, P., Hurlburt, N., Roberts, D., Duarte, L.S.: Helio: the heliophysics integrated observatory. Adv. Space Res. 47, 2235–2239 (2011)CrossRefGoogle Scholar
  2. 2.
    Donvito, G., Vicario, S., Notarangelo, P., Balec, B.: The Biovel Project: robust phylogenetic workflows running on the grid. In: EGICF12-EMITC2, pp. 26–30 (2012)Google Scholar
  3. 3.
    Erl, T.: Service-Oriented Architecture: Concepts, Technology, and Design. Pearson Education India, Delhi (2005)Google Scholar
  4. 4.
    Hughes, J.: Why functional programming matters. Comput. J. 32(2), 98–107 (1989)CrossRefGoogle Scholar
  5. 5.
    Ide, N., Pustejovsky, J., Cieri, C., Nyberg, E., Wang, D., Suderman, K., Verhagen, M., Wright, J.: The language application grid. In: Chair, N.C.C., Choukri, K., Declerck, T., Loftsson, H., Maegaard, B., Mariani, J., Moreno, A., Odijk, J., Piperidis, S. (eds.) Proceedings of the Ninth International Conference on Language Resources and Evaluation (LREC’14), pp. 22–30. European Language Resources Association (ELRA), Reykjavik, Iceland (2014)Google Scholar
  6. 6.
    Ishida, T. (ed.): The Language Grid: Service-Oriented Collective Intelligence for Language Resource Interoperability. Springer Science & Business Media, Berlin (2011)Google Scholar
  7. 7.
    Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of Aspectj. In: European Conference on Object-Oriented Programming, pp. 327–354. Springer, Berlin (2001)Google Scholar
  8. 8.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.M., Irwin, J.: Aspect-oriented programming. In: European Conference on Object-Oriented Programming, pp. 220–242. Springer, Berlin (1997)Google Scholar
  9. 9.
    Lin, D., Shi, C., Ishida, T.: Dynamic service selection based on context-aware QoS. In: 2012 IEEE Ninth International Conference on Services Computing, pp. 641–648 (2012)Google Scholar
  10. 10.
    McDermott, D.: Estimated-regression planning for interactions with web services. In: Proceedings of the Sixth International Conference on Artificial Intelligence Planning Systems, pp. 204–211 (2002)Google Scholar
  11. 11.
    McIlraith, S., Son, T.C.: Adapting golog for composition of semantic web services. In: Proceedings of the 8th International Conference on Knowledge Representation and Reasoning, pp. 482–493 (2002)Google Scholar
  12. 12.
    Murakami, Y., Lin, D., Ishida, T.: Service-oriented architecture for interoperability of multi-language services. In: Buitelaar, P., Cimiano, P. (eds.) Towards the Multilingual Semantic Web, pp. 313–328. Springer, Berlin (2014)Google Scholar
  13. 13.
    Murakami, Y., Lin, D., Tanaka, M., Nakaguchi, T., Ishida, T.: Service grid architecture. In: Ishida, T. (ed.) The Language Grid: Service-Oriented Collective Intelligence for Language Resource Interoperability, pp. 19–34. Springer, Berlin (2011)CrossRefGoogle Scholar
  14. 14.
    Schumm, D., Dentsas, D., Hahn, M., Karastoyanova, D., Leymann, F., Sonntag, M.: Web service composition reuse through shared process fragment libraries. In: International Conference on Web Engineering, pp. 498–501. Springer, Berlin (2012)Google Scholar
  15. 15.
    Wolstencroft, K., Haines, R., Fellows, D., Williams, A., Withers, D., Owen, S., Soiland-Reyes, S., Dunlop, I., Nenadic, A., Fisher, P., Bhagat, J., Belhajjame, K., Bacall, F., Hardisty, A., Nieva de la Hidalga, A., Balcazar Vargas, M.P., Sufi, S., Goble, C.: The Taverna workflow suite: designing and executing workflows of web services on the desktop, web or in the cloud. Nucleic Acids Res. 41(W1), W557–W561 (2013)CrossRefGoogle Scholar

Copyright information

© Springer Nature Singapore Pte Ltd. 2018

Authors and Affiliations

  • Takao Nakaguchi
    • 1
    • 2
  • Yohei Murakami
    • 3
  • Donghui Lin
    • 1
  • Toru Ishida
    • 1
  1. 1.Department of Social InformaticsKyoto UniversityKyotoJapan
  2. 2.Department of Web Business TechnologyThe Kyoto College of Graduate Studies for InformaticsKyotoJapan
  3. 3.Unit of Design, Kyoto UniversityKyotoJapan

Personalised recommendations