6 research outputs found

    Testing Transition Systems: An Annotated Bibliography

    Get PDF

    A model-driven approach to teaching concurrency

    Get PDF
    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

    An Adventurous E-Reader for Non-Linear E-Books

    Get PDF
    Non-linear books are published in print format as sequential text or digitally as collections of documents linked together via hyperlinks. These publication methods are problematic for readers and authors alike. Readers are often presented with unintuitive interfaces that do not indicate critical contextual information; authors struggle to order non-linear content into linear formats or to create and distribute their work in resource intensive digital mediums. While standard e-books might be a convenient format for non-linear books, current e-readers used to view them are severely limited; they mimic the format of physical books and fail to solve problems inherent in displaying non-linear content in a sequential order. In this research, a novel e-reader prototype, called Adventurous Reader, was developed and tested. This e-reader displays e-books as a collection of linked documents as specified by the author while providing readers with crucial information about their position and progress. When e-books can be viewed in such an interface, they can serve as a solution to many of the problems authors and readers currently experience in the creation, distribution, and consumption of non-linear texts
    corecore