CODE 72306 ACADEMIC YEAR 2023/2024 CREDITS 10 cfu anno 1 INGEGNERIA ELETTRONICA 8732 (LM-29) - GENOVA SCIENTIFIC DISCIPLINARY SECTOR ING-INF/01 LANGUAGE Italian (English on demand) TEACHING LOCATION GENOVA SEMESTER Annual TEACHING MATERIALS AULAWEB OVERVIEW The teaching aims to provide a broad overview of the various types of state-of-the-art cyberphysical sytems: synchronous, asynchronous, continuous-time dynamic, timed, and hybrid systems. The treatment of systems covers modeling, simulation, and verification (model checking) topics. Each topic is also addressed through the use of appropriate development tools AIMS AND CONTENT LEARNING OUTCOMES This course is intended to provide an introduction to the analysis and design of cyberphysical systems. This includes synchronous and asynchronous processes, safety and liveness requirements, and dynamic and timed systems. The course is also intended to provide an introduction to the Python language, with emphasis on application to data science and machine learning. AIMS AND LEARNING OUTCOMES The main objective of the teaching is for the student to gain a broad knowledge and understanding of the various types of state-of-the-art cyberphysical sytems, such as: synchronous, asynchronous, continuous-time dynamic, timed, and hybrid systems. For each type of system, topics on modelling, simulation and verification (model checking) are covered. The student will have the opportunity to learn the theoretical foundations, and to study some application examples. Exercises are proposed, and usually solved in class, for each topic in order to verify the acquisition of knowledge. The student will also learn how to use a development tool for each type of cyberphysical system covered (nuXmv, Spin, Uppaal, Matlab-Simulink/Stateflow), in order to deepen the subject through the analysis of concrete cases and design. Part of the course will introduce the Python language, which is useful for processing data acquired from the above-mentioned systems, with a focus on data science and machine learning. By the end of the course, students will have learnt the principles and techniques for the realisation of the above training objectives, including through the implementation of a project, which is aimed at stimulating and verifying the student's design and implementation skills, as well as the operational field verification of part of the knowledge acquired. At the end of the course, the student will be able to analyse and design solutions based on the use of various types of cyber-physical systems in various types of applications. PREREQUISITES Digital Systems Electronics Programming basics Computer architecture basics TEACHING METHODS Lectures in the classroom, to develop knowledge and comprehension, using slides, and examples/exercises carried out both on the blackboard and on the computer, using the development/simulation tools indicated in the lecture. Student reception. Proposal, realisation and discussion of a project to deepen knowledge, and develop skills of analysis, judgement and application of the notions learnt. SYLLABUS/CONTENT Modeling, simulation and verification of cyberphysical systems - Introduction. - Synchronous models - Safety requirements - Asynchronous models - Liveness requirements - Dynamic systems - Timed systems - Hybrid systems Introduction to the python language - Data types - Functions - OOP - File systems - numpy library - Pandas library - (pyplot library) RECOMMENDED READING/BIBLIOGRAPHY R. Alur, Principles of Cyberphysical Systems: https://mitpress.mit.edu/books/principles-cyber-physical-systems J. VanderPlas, Python Data Science Handbook, O'Reilly https://www.oreilly.com/library/view/python-data-science/9781491912126/ Lecture notes and other material suggested by the lecturer during the course. Non-attending students may contact the lecturer to agree on the best arrangements. Students with disabilities can contact the lecturer to agree on the best arrangements. TEACHERS AND EXAM BOARD FRANCESCO BELLOTTI Ricevimento: On appointment: mail (francesco.bellotti@unige.it) or on Teams or after lecture Exam Board FRANCESCO BELLOTTI (President) ALI DABBOUS RICCARDO BERTA (President Substitute) LESSONS LESSONS START https://corsi.unige.it/corsi/8732/studenti-orario Class schedule The timetable for this course is available here: Portale EasyAcademy EXAMS EXAM DESCRIPTION Oral exam on the first part (cyber-physical systems), including both theoretical questions and exercises, on the topics covered in class. Project work (on modeling/simulation of a cyber-physical system or on an IoT/machine learning/data science application). The project may be proposed by the student and is in any case agreed upon in advance with the teacher. On student's demand, the project can be replaced by a second oral exam, involving the topics of the second part of the course. ASSESSMENT METHODS Assessment will be by means of questions/exercises in the oral examination (knowledge, understanding, analysis, judgement, application of the topics covered in the teaching). With regard to the project, assessment (analysis, judgement, application and creation) will take place in the preparatory talks, during the design/implementation of the solution and in the final discussion of a paper describing the work carried out. The overall assessment will also take into account the student's participation during teaching.