A model-driven approach to teaching concurrency

Carro Liñares, Manuel; Mariño Carballo, Julio y Herranz Nieva, Ángel (2013). A model-driven approach to teaching concurrency. En: "Sin especificar. pp. 1-1000. https://doi.org/10.1145/2414446.2414451.


Título: A model-driven approach to teaching concurrency
  • Carro Liñares, Manuel
  • Mariño Carballo, Julio
  • Herranz Nieva, Ángel
Tipo de Documento: Ponencia en Congreso o Jornada (Sin especificar)
Título de Revista/Publicación: ACM Transactions on Computing Education (TOCE)
Fecha: Enero 2013
Volumen: 13
Palabras Clave Informales: Model-driven engineering; Teaching; Concurrency; Formal specifications; Correct-by-construction; Coding idiom; Java; Ada95
Escuela: Facultad de Informática (UPM) [antigua denominación]
Departamento: Lenguajes y Sistemas Informáticos e Ingeniería del Software
Licencias Creative Commons: Reconocimiento - Sin obra derivada - No comercial

Texto completo

Vista Previa
PDF (Document Portable Format) - Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (1MB) | Vista Previa


We present an undergraduate course on concurrent programming where formal models are used in different stages of the learning process. The main practical difference with other approaches lies in the fact that the ability to develop correct concurrent software relies on a systematic transformation of formal models of inter-process interaction (so called shared resources), rather than on the specific constructs of some programming language. Using a resource-centric rather than a language-centric approach has some benefits for both teachers and students. Besides the obvious advantage of being independent of the programming language, the models help in the early validation of concurrent software design, provide students and teachers with a lingua franca that greatly simplifies communication at the classroom and during supervision, and help in the automatic generation of tests for the practical assignments. This method has been in use, with slight variations, for some 15 years, surviving changes in the programming language and course length. In this article, we describe the components and structure of the current incarnation of the course?which uses Java as target language?and some tools used to support our method. We provide a detailed description of the different outcomes that the model-driven approach delivers (validation of the initial design, automatic generation of tests, and mechanical generation of code) from a teaching perspective. A critical discussion on the perceived advantages and risks of our approach follows, including some proposals on how these risks can be minimized. We include a statistical analysis to show that our method has a positive impact in the student ability to understand concurrency and to generate correct code.

Más información

ID de Registro: 29546
Identificador DC: http://oa.upm.es/29546/
Identificador OAI: oai:oa.upm.es:29546
Identificador DOI: 10.1145/2414446.2414451
URL Oficial: http://dl.acm.org/citation.cfm?id=2414451
Depositado por: Memoria Investigacion
Depositado el: 24 Jun 2014 08:09
Ultima Modificación: 23 Nov 2017 10:30
  • InvestigaM
  • GEO_UP4
  • Open Access
  • Open Access
  • Sherpa-Romeo
    Compruebe si la revista anglosajona en la que ha publicado un artículo permite también su publicación en abierto.
  • Dulcinea
    Compruebe si la revista española en la que ha publicado un artículo permite también su publicación en abierto.
  • Recolecta
  • Observatorio I+D+i UPM
  • OpenCourseWare UPM