Abstract
Domain ontologies about one or several programming languages have been created in various occasions, mostly in the context of Technology Enhanced Learning (TEL). Their benefits range from modeling learning outcomes, over organization and annotation of learning material, to providing scaffolding support in programming labs by integrating relevant learning resources. The Swift programming language, introduced in 2014, is currently gaining momentum in different fields of application. Both its powerful syntax as well as the provided type safety make it a good language for first-year computer science students. However, it has not yet been the subject of a domain ontology. In this paper, we present an SKOS-based vocabulary on the Swift programming language, aiming at enabling the benefits of previous research for this particular language. After reviewing existing ontologies on other programming languages, we present the modeling process of the Swift vocabulary, its integration into the LOD Cloud and list all of its resources available to the research community. Finally, we showcase how it is being used in different TEL tools.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
“Pluralitas non est ponenda sine necessitate.”
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
References
de Aguiar, C.Z., de Almeida Falbo, R., Souza, V.E.S.: OOC-O: a reference ontology on object-oriented code. In: Laender, A.H.F., Pernici, B., Lim, E.-P., de Oliveira, J.P.M. (eds.) ER 2019. LNCS, vol. 11788, pp. 13–27. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-33223-5_3
Alnusair, A., Zhao, T.: Using ontology reasoning for reverse engineering design patterns. In: Ghosh, S. (ed.) MODELS 2009. LNCS, vol. 6002, pp. 344–358. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-12261-3_32
Andrews, P., Zaihrayeu, I., Pane, J.: A classification of semantic annotation systems. Semant. Web 3(3), 223–248 (2012). https://doi.org/10.3233/SW-2011-0056
Atzeni, M., Atzori, M.: CodeOntology: RDF-ization of source code. In: d’Amato, C., et al. (eds.) ISWC 2017. LNCS, vol. 10588, pp. 20–28. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-68204-4_2
Baker, T., Bechhofer, S., Isaac, A., Miles, A., Schreiber, G., Summers, E.: Key choices in the design of Simple Knowledge Organization System (SKOS). J. Web Semant. 20, 35–49 (2013). https://doi.org/10.1016/j.websem.2013.05.001
De Meester, B., Dimou, A., Verborgh, R., Mannens, E.: An ontology to semantically declare and describe functions. In: Sack, H., Rizzo, G., Steinmetz, N., Mladenić, D., Auer, S., Lange, C. (eds.) ESWC 2016. LNCS, vol. 9989, pp. 46–49. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-47602-5_10
Dehors, S., Faron-Zucker, C.: QBLS: a semantic web based learning system. In: Proceedings of EdMedia: World Conference on Educational Media and Technology 2006, pp. 2795–2802. Association for the Advancement of Computing in Education (AACE) (2006)
Diatta, B., Basse, A., Ouya, S.: PasOnto: ontology for learning Pascal programming language. In: 2019 IEEE Global Engineering Education Conference (EDUCON), pp. 749–754 (2019). https://doi.org/10.1109/EDUCON.2019.8725092
Epure, C., Iftene, A.: Semantic analysis of source code in object oriented programming. A case study for C#. Romanian J. Human-Comput. Interact. 9(2), 103–118 (2016)
Garijo, D.: WIDOCO: a wizard for documenting ontologies. In: d’Amato, C., et al. (eds.) ISWC 2017. LNCS, vol. 10588, pp. 94–102. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-68204-4_9
Grévisse, C., Botev, J., Rothkugel, S.: An extensible and lightweight modular ontology for programming education. In: Solano, A., Ordoñez, H. (eds.) CCC 2017. CCIS, vol. 735, pp. 358–371. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-66562-7_26
Grévisse, C., Rothkugel, S., Reuter, R.A.P.: Scaffolding support through integration of learning material. Smart Learn. Environ. 6(1), 1–24 (2019). https://doi.org/10.1186/s40561-019-0107-0
Hosseini, R., Brusilovsky, P.: JavaParser: a fine-grain concept indexing tool for Java problems. In: First Workshop on AI-supported Education for Computer Science (AIEDCS) at the 16th Annual Conference on Artificial Intelligence in Education, pp. 60–63 (2013)
Ivanova, T.: Bilingual ontologies for teaching programming in Java. In: Proceedings of the International Conference on Information Technologies, pp. 182–194 (2014). https://doi.org/10.13140/2.1.2126.4967
Kernighan, B.W., Ritchie, D.M.: The C Programming Language. Prentice Hall, Englewood Cliffs (1988)
Kouneli, A., Solomou, G., Pierrakeas, C., Kameas, A.: Modeling the knowledge domain of the Java programming language as an ontology. In: Popescu, E., Li, Q., Klamma, R., Leung, H., Specht, M. (eds.) ICWL 2012. LNCS, vol. 7558, pp. 152–159. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-33642-3_16
Mader, C., Haslhofer, B., Isaac, A.: Finding quality issues in SKOS vocabularies. In: Zaphiris, P., Buchanan, G., Rasmussen, E., Loizides, F. (eds.) TPDL 2012. LNCS, vol. 7489, pp. 222–233. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-33290-6_25
Miranda, S., Orciuoli, F., Sampson, D.G.: A SKOS-based framework for subject ontologies to improve learning experiences. Comput. Hum. Behav. 61, 609–621 (2016). https://doi.org/10.1016/j.chb.2016.03.066
Pierrakeas, C., Solomou, G., Kameas, A.: An ontology-based approach in learning programming languages. In: 2012 16th Panhellenic Conference on Informatics, pp. 393–398 (2012). https://doi.org/10.1109/PCi.2012.78
Sosnovsky, S., Gavrilova, T.: Development of educational ontology for C-programming. Int. J. Inf. Theor. Appl. 13(4), 303–308 (2006)
Vesin, B., Ivanović, M., Klašnja-Milićević, A., Budimac, Z.: Protus 2.0: ontology-based semantic recommendation in programming tutoring system. Expert Syst. Appl. 39(15), 12229–12246 (2012). https://doi.org/10.1016/j.eswa.2012.04.052
Wagelaar, D., Van Der Straeten, R.: Platform ontologies for the model-driven architecture. Eur. J. Inf. Syst. 16(4), 362–373 (2007). https://doi.org/10.1057/palgrave.ejis.3000686
Acknowledgments
We would like to thank Rubén Manrique from the Universidad de los Andes (Bogotá, Colombia) for his valuable input on Virtuoso.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Grévisse, C., Rothkugel, S. (2020). An SKOS-Based Vocabulary on the Swift Programming Language. In: Pan, J.Z., et al. The Semantic Web – ISWC 2020. ISWC 2020. Lecture Notes in Computer Science(), vol 12507. Springer, Cham. https://doi.org/10.1007/978-3-030-62466-8_16
Download citation
DOI: https://doi.org/10.1007/978-3-030-62466-8_16
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-62465-1
Online ISBN: 978-3-030-62466-8
eBook Packages: Computer ScienceComputer Science (R0)