Go to:
Logótipo
You are here: Start > PDEEC0058

Reliable and Concurrent Software

Code: PDEEC0058     Acronym: RCS

Keywords
Classification Keyword
OFICIAL Automation, Control & Manufacturing Syst.

Instance: 2010/2011 - 2S

Active? Yes
Responsible unit: Electronics and Digital Systems
Course/CS Responsible: Doctoral Program in Electrical and Computer Engineering

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
PDEEC 5 Syllabus since 2007/08 1 - 7,5 70 200

Teaching language

English

Objectives

Software in increasingly the most complex component of any real-time embedded system. Therefore, its correct behavior is of paramount importance, both in terms of functional and non-funtional behavior and correctness related to specification. Embedded real-time software is also inherently concurrent. Real-time embedded applications interact and interface with the external world (people, cars, robots, conveyor belts, planes, etc.) in situations that are inherently parallel. Simultaneously, embedded platforms are following the general mulitcore and multiprocessor trend. Dealing with the nature of the system and the architecture of the platform in the semantics of the program makes for a more readable, maintainable and reliable application.

Nevertheless, concurrency and parallelism bring a number of new problems, and challenges. Guaranteeing the correct specification and behavior of concurrent/parallel software needs the integration of several aspects in its development, from the software development process, to the tools (languanges, operating systems, compilers, …) used for its development.

This course will therefore present selected topics for the correct development of concurrent and parallel software. Upon completion of this course, students should be able to understand and apply processes, methods, and tools to implement software solutions to parallel, real-time embedded systems’ problems.

Program

Software Reliability
 Basic Concepts and Taxonomy (Dependability, reliability, fault tolerance, ...)
 Development of Safety-Critical Software (Hazard and risk analysis, relevant standards)
 Methods of obtaining dependable software (Prevention and Fault Tolerance)
 Methods of verifying and validating software dependability
Concurrency
 Concurrent programming: limitations of common models
 Specific/appropriate languages for real-time and embedded systems (Java, Ada, Erlang, ...)
 Restricting concurrency
 Multiprocessor concurrency issues

Teaching methods and learning activities

The course will be essentially based on lecturing plus potentially invited seminar(s) in particular topic(s). The lectures will follow an interactive style.

Evaluation Type

Distributed evaluation without final exam

Assessment Components

Description Type Time (hours) Weight (%) End date
Attendance (estimated) Participação presencial 39,00
Total: - 0,00

Examinations or Special Assignments

The students will be required to complete three seminars, where they will each discuss a selected paper.
Recommend this page Top
Copyright 1996-2025 © Faculdade de Engenharia da Universidade do Porto  I Terms and Conditions  I Accessibility  I Index A-Z  I Guest Book
Page generated on: 2025-07-31 at 09:23:20 | Acceptable Use Policy | Data Protection Policy | Complaint Portal