Marco Autili
Department of Information Engineering Computer Science and Mathematics (DISIM)
University of L'aquila (Italy)
My academic background is in Computer Science and Software Engineering, with expertise in both solution- and knowledge-oriented research. My work focuses on automated approaches for developing correct-by-construction practical solutions, founded on theoretical understanding and well-established architectural principles. I have gained extensive experience working in diverse countries and contexts, actively engaging with the research community. I have consolidated experience in National and EU projects and collaborate with various companies worldwide. Recently, my primary research interests have been targeting: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 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%
Education
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
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
[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
[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
Subject-matter Expert (SME)
Programming Foundations and Java Language
Granted by: Academic Council - University of L'Aquila
Academic Career
previous steps
Assistant Professor
tenure track position
DISIM, University of L’Aquila - ITALY
Projects: CHOReVOLUTION H2020 EU, Leonardo, TACTICS, GAUSS Italian PRIN, ConnectPA POR FESR Abruzzo
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
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
Postdoctoral Research Associate
DISIM, University of L’Aquila - ITALY
Projects: CONNECT FET EU FP7, D-ASAP Italian PRIN, PLASTIC IST EU FP6
Visiting Research Associate
Swinburne University of Technology, Melbourne - AUSTRALIA
Visiting Research Fellowship
INRIA Rocquencourt, Paris - FRANCE
Project: PLASTIC IST EU FP6
Visiting Research Fellowship
Faculty of Sciences, Technologies and Communications, University of Luxembourg - LUXEMBOURG
Project: CORRECT Luxembourgish project
Research Collaboration Fellowship
University of L’Aquila - ITALY
Project: SAILOR Satellite Integrated UMTS Emulator IST EU project
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
Dipartimento di Ingegneria Science dell’Informazione e Matematica (DISIM) Università degli Studi dell’Aquila Via Vetoio 67100 Coppito (L'Aquila) Italia