A Problem-Based Approach for Learning the Use of Formal Methods in the Study of Distributed Real-time Computing Systems Ahmed Khoumsi University of Sherbrooke, Dept. Elect. Comput. Eng. Email :
[email protected] Our department has redesigned its engineering programs by adopting a learning methodology based on competence development and problem solving. Each semester includes consecutive two-week Problem-Based Learning (PBL) units and a design project spread over the semester. Each PBL unit is based on a problem to be solved We present a PBL unit, denoted APP 1 , that aims at learning the use of formal methods in the design and analysis of distributed real-time systems. The four competencies targeted in APP are: 1) to describe formally a distributed system; 2) to synthesize the components of a distributed system that provide a given service; 3) to validate a designed or desired distributed system w.r.t. given properties; and 4) to design the testing of a system. For the development of these competencies, students must learn how, when and where to use several knowledge elements, such as: Finite and timed automata; specification languages (e.g., LOTOS); modeling, design, validation and testing of communication protocols and services. APP lasts two weeks and contains activities under tutor supervision which are completed by personal study. Supervised activities take place on (D-i means “day D of week i of APP ”): Monday-1: : APP starts by a 90-minute tutorial meeting where students: read the terms of the problem to solve, keep the relevant terms, and formulate succinctly the problem; identify pertinent necessary knowledge; and identify tasks to be done for solving the problem. For the problem of this year, the main tasks are: 1) specify formally a desired service to be provided by an assembly system consisting of robots and carpets; 2) synthesize formal descriptions of the robots and carpets that provide the desired service; 3) validate the synthesis result w.r.t. given properties; and 4) propose architectures and scenarios for testing an implementation of the synthesis result. Tuesday-1: students practice problem-solving procedures in a 3-hour session. They apply knowledge related to specification and synthesis. Wednesday-1: students have a 90-minute laboratory session. They start learning a synthesis software tool. Thursday-1: through a 90-minute session, collaborate to elaborate solutions related to specification and synthesis 1
APP is the french acronym for Apprentissage par Probl`eme et par Projets.
1
2 Friday-1: students practice problem-solving procedures in a 90-minute session. They apply knowledge related to validation. Monday-2: students practice problem-solving procedures in a three 3-hour session. They apply knowledge related to testing. Tuesday-2: In a 3-hour session, students validate their solutions in the presence of a tutor, presenting and discussing the obtained results. Wednesday-2: Students have a second 90-minute tutorial meeting. They reflect on what they have learned and de-contextualize the acquired knowledge. They also submit a written report presenting their learning and results. On the evening of Wednesday-2, a formative written assessment with a model answer, is provided to students. Students can check their learning by comparing their answers to the model answer. Student competencies are assessed through: the report submitted in Wednesday-2; and two summative written assessments, at the end of the APP and at the end of the semester, resp. A student passes the APP if (s)he is evaluated at least 50 % in each competency. Student feedback has been very positive in many aspects, such as their learning and interest.