A Model-Driven Approach to Teaching Concurrency

被引:11
|
作者
Carro, Manuel [1 ]
Herranz, Angel [1 ]
Marino, Julio [1 ]
机构
[1] Univ Politecn Madrid, E-28040 Madrid, Spain
来源
关键词
Design; Languages; Verification; Model-driven engineering; teaching; concurrency; formal specifications; correct-by-construction; coding idiom; !text type='Java']Java[!/text; Ada95;
D O I
10.1145/2414446.2414451
中图分类号
G40 [教育学];
学科分类号
040101 ; 120403 ;
摘要
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.
引用
收藏
页数:19
相关论文
共 50 条
  • [1] A Model-Driven Approach for Model Transformations
    Ma, Zhiyi
    He, Xiao
    [J]. PROCEEDINGS OF THE 2016 SAI COMPUTING CONFERENCE (SAI), 2016, : 1199 - 1205
  • [2] A Model-Driven Measurement Approach
    Monperrus, Martin
    Jezequel, Jean-Marc
    Champeau, Joel
    Hoeltzener, Brigitte
    [J]. MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2008, 5301 : 505 - +
  • [3] Using Coding Patterns in a Model-Driven Approach to Teaching Object Oriented Programming
    Paterson, James H.
    Haddow, John
    Cheng, Ka Fai
    [J]. ITICSE 2009: PROCEEDING OF THE 2009 ACM SIGSE ANNUAL CONFERENCE ON INNOVATION AND TECHNOLOGY IN COMPUTER SCIENCE EDUCATION, 2009, : 358 - 358
  • [4] Financial Implications of Implementing a Model-Driven Approach for Dance Teaching Management Integration
    Liu, Kaihua
    Tian, Jie
    [J]. Journal of Commercial Biotechnology, 2023, 28 (01) : 186 - 196
  • [5] Teaching Pragmatic Model-Driven Software Development
    Porubaen, Jaroslav
    Bacikova, Michaela
    Chodarev, Sergej
    Nosal, Milan
    [J]. COMPUTER SCIENCE AND INFORMATION SYSTEMS, 2015, 12 (02) : 683 - 705
  • [6] Model-driven approach to workflow execution
    Hur, W
    Jung, JY
    Kim, H
    Kang, SH
    [J]. BUSINESS PROCESS MANAGEMENT, 2004, 3080 : 261 - 273
  • [7] Towards a model-driven approach to reuse
    France, RB
    Ghosh, S
    Turk, DE
    [J]. OOIS 2001: 7TH INTERNATIONAL CONFERENCE ON OBJECT-ORIENTED INFORMATION SYSTEMS, PROCEEDINGS, 2001, : 181 - 190
  • [8] A Model-Driven Approach to Web Applications
    Kozlovics, Sergejs
    [J]. DATABASES AND INFORMATION SYSTEMS IX, 2016, 291 : 73 - 86
  • [9] A Model-Driven Approach to Service Orchestration
    Mayer, Philip
    Schroeder, Andreas
    Koch, Nora
    [J]. 2008 IEEE INTERNATIONAL CONFERENCE ON SERVICES COMPUTING, PROCEEDINGS, VOL 2, 2008, : 533 - 536
  • [10] A Model-driven Approach to Service Policies
    Jegadeesan, Harshavardhan
    Balasubramaniam, Sundar
    [J]. JOURNAL OF OBJECT TECHNOLOGY, 2009, 8 (02): : 163 - 186