Ethical-aware AdjustabLe Autonomous Systems

Automated context-aware ethics-based negotiation in the autonomous vehicle and robot domains.

Self-adaptive Multi-robot Systems

Automated synthesis for handling uncertainty through mission adaptation and enforcing correctly distributed coordination.

Cloud-to-Autonomous-Vehicles Continuum

Enabling the cloud-to-autonomous-vehicles continuum for future industrial applications.

Microservice Architecture

Automated migration of monoliths to scalable and correctly coordinated microservice-oriented distributed systems.

Automated Software Synthesis

Automated reasoning and synthesis techniques for correct-by-construction solutions.

About Me

I am associate professor at the Department of Information Engineering, Computer Science, and Mathematics (DISIM), University of L’Aquila.

I graduated with honors in Computer Science at the University of L’Aquila in April 2004, and I received my PhD in April 2008 with the best grade.

I collaborate with various companies and international research groups worldwide. I have consolidated experience in EU and Italian research and development projects as principal investigator, scientific and technical project leader, research unit coordinator, and work package leader.

I am (co-)author of more than 100 publications in international journals, conference proceedings, book chapters, and editorials.

I am serving as a reviewer for several international conferences, workshops, and top-level international journals. I am an associate editor and on the editorial board of a number of international journals. I am the lead guest editor of various special issues and thematic series. I am involved in the organization of workshops and conferences in the field of Software Engineering.

I actively work on the (from theory to practice) application of automated software engineering methods and practical formal methods to the modeling, verification, analysis and automatic synthesis of complex self-aware distributed systems, from middleware to application layer, and application of context-oriented programming and analysis techniques to the development of self-aware systems.

My primary research accomplishments lie in the domains of self-aware systems that support autonomous and self-adaptive behaviors, distributed software systems, and (micro)service-oriented systems. These systems involve distributed computing resources with self-managing capabilities, adapting to unpredictable changes, new goals, and contexts. My research aims to simplify the inherent complexity for developers through the use of practical specification formalisms, enabling automated reasoning and synthesis for correct-by-construction implementation and composition.

I released a number of software tools and platforms in connection with research projects and publications.

Research

100%

Services

100%

Students

100%

Responsibility

100%

Publications

Education

11-Apr-2008

Doctoral Degree

Ph.D. in Software Engineering

Thesis Title: Synthesis Of Distributed Adaptors To Enforce Temporal Properties Specified Through Graphical Scenarios

Awarded by: University of L'Aquila

Advisor: Prof.ssa Paola Inverardi

20-Apr-2004

Master Degree

Laurea cum laude in Computer Science

Thesis Title: Automatic synthesis of software coordinators for communication protocols enhancement

Awarded by: University of L'Aquila

Advisor: Prof.ssa Paola Inverardi

Qualifications

date from 31-Jan-2022
[ITA] Abilitazione Scientifica Nazionale (ASN) alle Funzioni di Professore di I Fascia
[ENG] National Scientific Habilitation as Full Professor

Released by: Ministry of University and Research (MUR) - ITALY

GSD: 01/INFO-01 - INFORMATICA

SSD: INFO-01/A - Informatica

date from 29-Jan-2014
[ITA] Abilitazione Scientifica Nazionale (ASN) alle Funzioni di Professore di II Fascia
[ENG] National Scientific Habilitation as Associate Professor

Released by: Ministry of University and Research (MUR) - ITALY

GSD: 01/INFO-01 - INFORMATICA

SSD: INFO-01/A - Informatica

date from A.Y. 2008/2009
Subject-matter Expert (SME)
Programming Foundations and Java Language

Granted by: Academic Council - University of L'Aquila

Academic Career

previous steps

September 26, 2016 to September 25, 2019
Assistant Professor

tenure track position

DISIM, University of L’Aquila - ITALY

Projects: CHOReVOLUTION H2020 EU, Leonardo, TACTICS, GAUSS Italian PRIN, ConnectPA POR FESR Abruzzo

August 01, 2014 to September 25, 2016
Senior Research Associate

temporary position

DISIM, University of L’Aquila - ITALY

Projects: CHOReOS IP EU FP7, CHOReVOLUTION H2020 EU, Learn Pad STREP EU FP7, Original in Touch, Leonardo, TACTICS

July 01, 2010 to July 20, 2014
Assistant Professor

temporary position

DISIM, University of L’Aquila - ITALY

Projects: CONNECT FET EU FP7, D-ASAP Italian PRIN, PLASTIC IST EU FP6, Learn Pad STREP EU FP7, IDEAS Italian PRIN, Ricostruire - RIDITT

March 1, 2008 to June 30, 2010
Postdoctoral Research Associate

DISIM, University of L’Aquila - ITALY

Projects: CONNECT FET EU FP7, D-ASAP Italian PRIN, PLASTIC IST EU FP6

November 2009 to December 2009 (2 months)
Visiting Research Associate

Swinburne University of Technology, Melbourne - AUSTRALIA

January 2007 to December 2007 (1 year)
Visiting Research Fellowship

INRIA Rocquencourt, Paris - FRANCE

Project: PLASTIC IST EU FP6

November 2005 to December 2005 (1 month)
Visiting Research Fellowship

Faculty of Sciences, Technologies and Communications, University of Luxembourg - LUXEMBOURG

Project: CORRECT Luxembourgish project

March 2002 to October 2002 (6 month)
Research Collaboration Fellowship

University of L’Aquila - ITALY

Project: SAILOR Satellite Integrated UMTS Emulator IST EU project

January 2003 to June 2003 (6 month)
Exchange Student

University of British Columbia, Vancouver - CANADA

Projects

I have consolidated experience in EU and Italian research and development projects as principal investigator, scientific and technical project leader, research unit coordinator, and work package leader.

RoboChor

Robot Choreography

Italian PRIN PNRR project, Call 2022 (30 November 2023 - 29 November 2025)

CAVIA

Enabling the Cloud-to-Autonomous-Vehicles continuum for future Industrial Applications

Italian PRIN project, Call 2022 (28 September 2023 - 27 September 2025)

HALO

etHical-aware AdjustabLe autOnomous systems

Italian PRIN project, Call 2022 (28 September 2023 - 27 September 2025)<

SISMA

Solutions for Engineering Microservices Architectures

Italian PRIN project, Call 2017 (29 August 2019 - 28 August 2023)

Full list of projects >>>

ConnectPA (Connect Public Administration) POR FESR Abruzzo 2014-2020 - Industrial Research and Experimental Development. Action 1.1.1: "Support for research projects of companies that employ researchers" - Action 1.1.4: "Support for collaborative research and development activities for the development of new sustainable technologies, new products and services"

GAUSS (Governing Adaptive and Unplanned Systems of Systems) Italian PRIN project, Call 2015 (February 2017 - February 2020)

CHOReVOLUTION (Automated Synthesis of Dynamic and Secured Choreographies for the Future Internet) H2020 EU project, Research and Innovation Actions: ICT 9 - 2014: Tools and Methods for Software Development, 2015-2018

TACTICS (TACTICal Service oriented architecture) European Defence Agency (EDA) ad hoc B Program project, 2014-2017;

LeonarDO (Smart digital ecosystem for the Customer Experience Enhancement): advanced ICT technologies (social means, mobile apps and big data analytics) for Customer Services. Founded by the Italian Ministry of Economic Development, 2014 - 2017

Original in Touch (Development of a Hardware and Software System to Fight Counterfeit). Founded by the Italian Ministry of Economic Development, from 2015

Ricostruire - RIDITT (Italian Network for Innovation and Technology Transfer to Enterprises) Founded by the Italian Ministry of Economic Development, from 2012

INCIPICT (INnovating CIty Planning through Information and Communication Technologies). Founded by the Italian Ministry for Economic Development, from 2014

IDEAS (Integrated Design and Evolution of Adaptive Systems) Italian PRIN project (Call 2012)

Learn PAd (Model-Based Social Learning for Public Administrations) STREP EU project, FP7, from 2014

CHOReOS (Large Scale Choreographies for the Future Internet) IP EU project, FP7, 2010-2013

S-Cube (EU Network of Excellence in Software Services and Systems)

CONNECT (Emergent Connectors for Eternal Software Intensive Networked Systems) FET EU project, FP7, 2009-2013

D-ASAP (Adaptable Software Architectures and Reliable Pervasive Systems) Italian PRIN 2007 project - 2007XKEHFA, 2008-2010

PLASTIC (Providing Lightweight and Adaptable Service Technology for pervasive Information and Communication) IST EU project, FP6, 2006-2009

CORRECT (rigorous stepwise development of Complex Fault TOlerant DistRibuted Systems: from ARchitEctural DesCription to Java ImplemenTation) Luxembourgish Project, 2004-2007

ASA (Adaptive SoftwAre) INRIA-DISIM Equipes Associées project, 2006-2007

SAILOR (Satellite Integrated UMTS Emulator) IST EU project, FP5, 2002-2005

Teaching

Academic

A.A. 2024/25

  • OPerating Systems Laboratory (OPSLab) (60 hours), part of the two modules course (120 hours) "Operating Systems with Laboratory" (Marco Autili and Vittorio Cortellessa)
    University of L’Aquila
  • Service-Oriented Software Engineering (SoSE) (48 hours) (Marco Autili)
    University of L’Aquila
  • Open and Big Data Management and Processing (90 hours) (Marco Autili, Michele Tucci and Mattia D’Emidio)
    University of L’Aquila

Previous years >>>

A.A. 2023/24

  • OPerating Systems Laboratory (OPSLab) (60 hours), part of the two modules course (120 hours) "Operating Systems with Laboratory" (Marco Autili and Vittorio Cortellessa)
    University of L’Aquila
  • Service-Oriented Software Engineering (SoSE) (48 hours) (Marco Autili)
    University of L’Aquila
  • Open and Big Data Management and Processing (90 hours) (Marco Autili, Michele Tucci and Mattia D'Emidio)
    University of L’Aquila

A.A. 2022/23

  • OPerating Systems Laboratory (OPSLab) (60 hours), part of the two modules course (120 hours) "Operating Systems with Laboratory" (Marco Autili and Vittorio Cortellessa)
    University of L’Aquila
  • Service-Oriented Software Engineering (SoSE) (48 hours) (Marco Autili)
    University of L’Aquila
  • Multimedia and Computer Science for the Social Sciences (48 hours) (Marco Autili, Monica Nesi and Davide Di Ruscio)
    University of L’Aquila

A.A. 2021/22

  • OPerating Systems Laboratory (OPSLab) (60 hours), part of the two modules course (120 hours) "Operating Systems with Laboratory" (Marco Autili and Vittorio Cortellessa)
    University of L’Aquila
  • Service-Oriented Software Engineering (SoSE) (48 hours) (Marco Autili)
    University of L’Aquila
  • Open Data and Web Services (ODWS) (48 hours) (Marco Autili and Claudio Pompilio)
    University of L’Aquila

A.A. 2020/21

  • OPerating Systems Laboratory (OPSLab) (60 hours), part of the two modules course (120 hours) "Operating Systems with Laboratory" (Marco Autili and Vittorio Cortellessa)
    University of L’Aquila
  • Service-Oriented Software Engineering (SoSE) (48 hours) (Marco Autili)
    University of L’Aquila
  • Open Data and Web Services (ODWS) (48 hours) (Marco Autili and Claudio Pompilio)
    University of L’Aquila

A.A. 2019/20

  • OPerating Systems Laboratory (OPSLab) (60 hours), part of the two modules course (120 hours) "Operating Systems with Laboratory" (Marco Autili and Vittorio Cortellessa)
    University of L’Aquila
  • Service-Oriented Software Engineering (SoSE) (48 hours) (Marco Autili)
    University of L’Aquila
  • Open Data and Web Services (ODWS) (48 hours) (Marco Autili and Alexander Perucci)
    University of L’Aquila

A.A. 2018/19

  • OPerating Systems Laboratory (OPSLab) (60 hours), part of the two modules course (120 hours) "Operating Systems with Laboratory" (Marco Autili and Vittorio Cortellessa)
    University of L’Aquila
  • Service-Oriented Software Engineering (SoSE) (48 hours) (Marco Autili)
    University of L’Aquila
  • Open Data and Web Services (ODWS) (48 hours) (Marco Autili and Alexander Perucci)
    University of L’Aquila

A.A. 2017/18

  • OPerating Systems Laboratory (OPSLab) (60 hours), part of the two modules course (120 hours) "Operating Systems with Laboratory" (Marco Autili and Vittorio Cortellessa)
    University of L’Aquila
  • Service-Oriented Software Engineering (SoSE) (48 hours) (Marco Autili)
    University of L’Aquila

A.A. 2016/17

  • OPerating Systems Laboratory (OPSLab) (60 hours), part of the two modules course (120 hours) "Operating Systems with Laboratory" (Marco Autili and Vittorio Cortellessa)
    University of L’Aquila
  • Service-Oriented Software Engineering (SoSE) (48 hours) (Marco Autili)
    University of L’Aquila
  • Adavanced Service-Oriented Software Engineering (ASoSE) (Massimo Tivoli)
    (12 hours - integrative teaching) - University of L’Aquila

A.A. 2015/16

  • Foundations Of Programming Languages (60 hours), part of the two modules course (120 hours) "Introduction To Programming: Foundations And Languages" (Paola Inverardi/Marco Autili and Monica Nesi)
    University of L’Aquila

A.A. 2014/15

  • Foundations Of Programming Languages (60 hours), part of the two modules course (120 hours) "Introduction To Programming: Foundations And Languages" (Paola Inverardi/Marco Autili and Monica Nesi)
    University of L’Aquila

A.A. 2013/14

  • Foundations Of Programming Languages (60 hours), part of the two modules course (120 hours) "Introduction To Programming: Foundations And Languages" (Paola Inverardi/Marco Autili and Monica Nesi)
    University of L’Aquila

A.A. 2012/13

  • Foundations Of Programming Languages (60 hours), part of the two modules course (120 hours) "Introduction To Programming: Foundations And Languages" (Paola Inverardi/Marco Autili and Monica Nesi)
    University of L’Aquila
  • Programming Laboratory III (Massimo Tivoli)
    (5 hours - integrative teaching) - University of L’Aquila

A.A. 2011/12

  • Foundations Of Programming Languages (60 hours), part of the two modules course (120 hours) "Introduction To Programming: Foundations And Languages" (Paola Inverardi/Marco Autili and Monica Nesi)
    University of L’Aquila
  • Advanced Software Engineering (Vittorio Cortellesa)
    (4 hours - seminar teaching) - University of L’Aquila
  • Programming Laboratory III (Massimo Tivoli)
    (6 hours - integrative teaching) - University of L’Aquila

A.A. 2010/11

  • Foundations Of Programming Languages (60 hours), part of the two modules course (120 hours) "Introduction To Programming: Foundations And Languages" (Paola Inverardi/Marco Autili and Monica Nesi)
    University of L’Aquila
  • Programming Laboratory III (Massimo Tivoli)
    (6 hours - integrative teaching) - University of L’Aquila
  • Computers Architecture Laboratory (Massimo Tivoli)
    (4 hours - seminar teaching on Distributed Architectures) - University of L’Aquila

A.A. 2009/10

  • Foundations Of Programming Languages (60 hours), part of the two modules course (120 hours) "Introduction To Programming: Foundations And Languages" (Paola Inverardi/Marco Autili and Monica Nesi)
    University of L’Aquila
  • Analysis and Testing of Component-based Systems (Henry Muccini)
    (4 hours - seminar teaching on Service-oriented Architecture) - University of L’Aquila
  • Computers Architecture Laboratory (Massimo Tivoli)
    (4 hours - seminar teaching on Distributed Architectures) - University of L’Aquila

A.A. 2008/09

  • Foundations Of Programming Languages (60 hours), part of the two modules course (120 hours) "Introduction To Programming: Foundations And Languages" (Paola Inverardi/Marco Autili and Monica Nesi)
    University of L’Aquila
  • Programming Laboratory III (Massimo Tivoli)
    (6 hours - integrative teaching) - University of L’Aquila

A.A. 2007/08

  • Foundations Of Programming Languages (60 hours), part of the two modules course (120 hours) "Introduction To Programming: Foundations And Languages" (Paola Inverardi/Marco Autili and Monica Nesi)
    University of L’Aquila
  • Analysis and Testing of Component-based Systems (Henry Muccini)
    (4 hours - seminar teaching on Service-oriented Architecture) - University of L’Aquila
  • Software Engineering Laboratory I (Massimo Tivoli)
    (6 hours - integrative teaching) - University of L’Aquila
  • Programming Laboratory III (Massimo Tivoli)
    (5 hours - integrative teaching) - University of L’Aquila

A.A. 2006/07

  • Foundations Of Programming Languages (60 hours), part of the two modules course (120 hours) "Introduction To Programming: Foundations And Languages" (Paola Inverardi/Marco Autili and Monica Nesi)
    University of L’Aquila
  • Software Engineering Laboratory I (Massimo Tivoli)
    (6 hours - integrative teaching) - University of L’Aquila

A.A. 2005/06

  • Foundations Of Programming Languages (60 hours), part of the two modules course (120 hours) "Introduction To Programming: Foundations And Languages" (Paola Inverardi/Marco Autili and Monica Nesi)
    University of L’Aquila

A.A. 2004/2005

  • Software Engineering (120 hours), (Paola Inverardi/Marco Autili and Monica Nesi)
    University of L’Aquila
  • Foundations Of Programming Languages (60 hours), part of the two modules course (120 hours) "Introduction To Programming: Foundations And Languages" (Paola Inverardi/Marco Autili and Monica Nesi)
    University of L’Aquila

External Courses

  • 2005
    (60 hours) Multimedia Designer – IAL-CISL ABRUZZO, L’Aquila

    (60 hours) Tecniche di Programmazione – Pianeta Formazione, Tivoli - Roma

  • 2006
    (120 hours) Expert of Web Multimedia Languages: JAVA Language – Pianeta Formazione, Palombara Sabina, Roma

    (80 hours) Expert of Web Multimedia Languages: Programming Foundations – Palombara Sabina, Roma

  • 2013
    (2 hours - seminar lecture) Model-Based Synthesis Process for Choreography Realizability Enforcement – Gran Sasso Science Institute (GSSI), International PhD school and center for advanced studies in Physics, Mathematics, Computer Science and Social Sciences - L'Aquila (Italy)

  • 2014
    (40 hours) Service Oriented Architecture and Web Service – INTECS S.p.A., L’Aquila

  • 2014
    (36 hours) Service Oriented Architecture – THALES ITALIA S.p.A., Chieti

Released Tools

The following tools have been developed and released in connection with research projects and publications.

PSC

Property Specification Charts

PSC is a simple but expressive language for specifying temporal properties. Two are the main requirements of PSC, simplicity and expressiveness. Remaining close to the graphical notation of UML2.0 Sequence Diagrams and Message Sequence Charts (MSC), the requirement of simplicity is satisfied. The PSC expressiveness is measured with the property specification patterns.

CHOReVOLUTION IDRE

Dynamic and secured choreographies

CHOReVOLUTION IDRE offers an integrated development and execution environment for dynamic and secured choreographies of services through a distributed coordination. This approach is useful in the development and management of complex interactions, such as intelligent transportation systems, IoT and smart city applications.

CHOReOSynth

Service choreographies synthesis

CHOReOSynth is a set of tools to automatically synthesize an automata-based specification of the coordination logic out of a BPMN2 choreography specification, and to distribute it between the choreography participants.

MultiSynth Studio

Model-based synthesis of integration code

The MultiSynth Studio is a web application that supports different kind of model-based synthesis of software integration code, as well as different kinds of analysis and verification. For instance, it permits to realize distributed systems by integrating existing software peers in a fully distributed way. It offers extension mechanisms so to include other kind of integration synthesis methodologies. Our mid-term goal is to include in the studio all the synthesis methodologies we have proposed in the past, so to offer a ready-to-use integrated working environment where practitioners can experiment with different synthesis methodologies, meeting both theoretical and practical interests.

CHAMELEON

Adaptable Java applications

CHAMELEON is a framework for tailoring adaptable Java applications for resource-constrained devices and can be used for tackling a form of adaptation to the execution context. CHAMELEON is based on a static analysis approach to the inspection of Java programs and their characterization w.r.t. their resource consumption in a given execution environment. Explicitly targeting resource-constrained devices, we implemented and instantiated all the needed machinery on the Java platform (although other platforms are eligible) due to its widespread availability on today's mobile devices (e.g., smart phones, PDAs, etc.).

SYNTHESIS

Components glue code synthesis

SYNTHESIS is a tool for the automated synthesis of centralized, distributed, and modular software connectors. The synthesized connector serves as integration code for a set of software components whose interaction beahviour is specified by means of state machines and interface description languages (e.g., IDL, WSDL). The generated code allows both the prevention of possible deadlocks and the insurance of safety and liveness properties specified through temporal logic (e.g., LTL).

Contact

Prof. Marco Autili, PhD

Software Engineer

marco.autili[_at_]univaq.it

Dipartimento di Ingegneria Science dell’Informazione e Matematica (DISIM)
Università degli Studi dell’Aquila
Via Vetoio
67100 Coppito (L'Aquila)
Italia