Specialisering i Concurrency & Logic

Samtidighed (på engelsk: concurrency) er den del af datalogien, der fokuserer på forståelse, håndtering og programmering af komplekse og distribuerede systemer. Det kombinerer forskellige ekspertiser, der spænder fra brugen af logik, der at gør undersøgelsen af systemerne præcise og sikre, til brugen af industrielle værktøjer, der fuldt automatiserer implementeringen.

"Mange af de studerende udnytter muligheden for individuel dialog med deres undervisere, andre gør ikke, og det respekterer jeg. Det er vigtigt, at de studerende har  plads til at være sig selv," siger Luís Cruz-Filipe, adjunkt i datalogi.

Concurrency & Logic-gruppen på SDU er et dynamisk og voksende fagmiljø, hvis medlemmer er begejstrede for arbejdet med store, stærkt interaktive og distribuerede systemer. Vi har forskellige tilgange til forskningsområdet, lige fra det mere teoretiske til det mere anvendelsesorienterede.

Kurser

Der er en stor grad af valgfrihed på kandidatuddannelsen i Datalogi på SDU. I studieåret 2019/2020 udbyder vi følgende kurser inden for Concurrency & Logic:

DM846: Logik til datalogi

Formålet med kurset er at give dig en baggrund i logik, som fokuserer på forskellige aspekter, der er mest relevante for datalogi.

Ansvarlig underviser: Luís Cruz-Filipe

Læs hele kursusbeskrivelsen

DM874: Microservices og DevOps

Kurset introducerer nuværende praksis inden for Microservices og DevOps i forbindelse med udvikling af et komplekst distribueret system, der kan skalere op til millioner af brugere.

Microservice programmering er et paradigme, hvor software bygges ved at kombinere distribuerede tjenester. For at forbinde software Development (Dev) med software Operations (Ops) til et microservice-system anvendes DevOps-tilgangen. DevOps taler stærkt for automatisering og overvågning i alle faser af softwareopbygning, fra integration, test og frigivelse til idriftsættelse og infrastruktur-håndtering.

Kurset dækker nyeste forskning og teknologier inden for programmering af microservices ved hjælp af DevOps-teknikker. Det giver en sammenhængende forståelse af fordele og ulemper ved at anvende microservices og DevOps til at udvikle fremtidens komplekse distribuerede applikationer.

Ansvarlig underviser: Jacopo Mauro

Læs hele undervisningsbeskrivelsen

DM861: Concurrency Theory

Multi-core processorer, cloud computing, og web services gør ”concurrent” systemer udbredt. At designe og programmere disse systemer korrekt er udfordrende. Det kræver, at man kan forudsige, hvordan flere programmer, som udføres selvstændigt, vil interagere.

Dette kursus har til formål at præsentere og undersøge modeller, ræsonnementteknikker og abstrakte programmeringsdiscipliner for concurrent systemer. Disse værktøjer giver mulighed for at omsætte konkrete krav og design i præcise matematiske definitioner, som kan bruges til at bevise, at de ønskede egenskaber leveres (for eksempel deadlockfreedom eller sikker brug af asynkrone kanaler).

Ansvarlig underviser: Fabrizio Montesi

Læs hele kursusbeskrivelsen

DM869: Advanced topics in concurrent systems

Dette kursus dækker avancerede emner inden for concurrency theory, logik og software engineering og deres applikationer i forståelsen og udviklingen af moderne concurrent systems.

På kurset lærer du, hvordan du erhverver et stærsk videnskabelig grundlag for at gennemføre innovativ forskning og udvikling i både industrielle og akademiske miljøer.

Ansvarlig underviser: Fabrizio Montesi

Læs hele kursusbeskrivelsen

Specialeprojekter

Nedenfor ser du eksempler på specialetitler inden for Concurrency & Logic:

  • Foundational aspects of choreographic programming
  • A formal programming model for Bitcoin transactions
  • Packaging microservices