MLOps
https://renatocf.xyz/marin-2026-slides
2026
Renato Cordeiro Ferreira
Institute of Mathematics and Statistics (IME)
University of São Paulo (USP) – Brazil
Jheronimus Academy of Data Science (JADS)
Technical University of Eindhoven (TUe) / Tilburg University (TiU) – The Netherlands
Productionizing AI/ML
in the Maritime Domain
Former Principal ML Engineer at Elo7 (BR)
4 years of industry experience designing, building, and operating ML products with multidisciplinary teams
B.Sc. and M.Sc. at University of São Paulo (BR)
Theoretical and practical experience with Machine Learning and Software Engineering
Scientific Programmer at JADS (NL)
Currently participating of the MARIT-D European project, using ML techniques for more secure seas
Ph.D. candidate at USP + JADS
Research about SE4AI, in particular about MLOps and software architecture of ML-Enabled Systems
Renato Cordeiro Ferreira
https://renatocf.xyz/contacts
My goal is to exemplify the use of
MLOps
The key idea behind putting
AI/ML into production
System
Specification
Actors
Investigator
Anomaly
Detection
Engine
Ocean Guard
Metadata
(User retrieves more info if available)
Vessel ID
MMSI
---
Lat / Lon
Heading
COG / SOG
Date + Time Selector
(show clues of which data is available)
| 1 |
|---|
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 1 |
|---|
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 13 |
| 15 |
| 16 |
| 17 |
| 18 |
| .. |
months
days
hours
Vessel
Trajectory
Known
Vessel
(AIS)
Known
Vessel
(LRIT)
Known
Vessel
(VMS)
Known
Structure
Piraeus Sea
(35.86, 23.03)
(37.95, 23.76)
Move to another
Area of Interest
AoI Selector
(indicates where the map is zoomed in currently)
Unknown
Vessel
(AIS)
Unknown
Vessel
(Satellite)
Known
Vessel
(AIS + Radar)
See geolocations of marine objects in a map
Filter geolocations by area of interest, date and time
I2
Discern different types of marine objects (vessels, etc.)
I3
Retrieve geolocations from different data sources.
I4
Check metadata associated with a given marine object
I5
Highlight the trajectory of a marine object
I6
See anomalies identified by the tool in a map
I7
Filter anomalies by area of interest, date and time
I8
Inspect why an anomaly was considered so by the tool
I9
I1
Ocean Guard
Metadata
(User retrieves more info if available)
Vessel ID
MMSI
---
Lat / Lon
Heading
COG / SOG
Date + Time Selector
(show clues of which data is available)
| 1 |
|---|
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 1 |
|---|
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 13 |
| 15 |
| 16 |
| 17 |
| 18 |
| .. |
months
days
hours
Vessel
Trajectory
Known
Vessel
(AIS)
Known
Vessel
(LRIT)
Known
Vessel
(VMS)
Known
Structure
Piraeus Sea
(35.86, 23.03)
(37.95, 23.76)
Move to another
Area of Interest
AoI Selector
(indicates where the map is zoomed in currently)
I3
Unknown
Vessel
(AIS)
I3
I7
I1
I6
I3
I3
I2
I8
Unknown
Vessel
(Satellite)
I7
Known
Vessel
(AIS + Radar)
I4
Detect anomalies related to a marine object
List anomalies by area of interest, date and time
Explain why an anomaly can be
considered so
A2
A3
A1
System
Architecture
Software Architecture in Practice - ICSA 2026
Reusability in MLOps:
Leveraging Ports and Adapters
to Build a Microservices Architecture
for the Maritime Domain
Lakehouse
Architecture
Reactive
Machine Learning
Data Product
Published at SADIS @ ECSA 2025
Making a Pipeline Production-Ready:
Challenges and Lessons Learned
in the Healthcare Domain
Contains Ports & Adapters reusable by all services
Cross-cutting concerns
get reused in every service
Specialized dependencies
are reused by connected services
MLOps
Data
Model
Code
Schema
Sampling
Volume
Algorithms
More Training
Experiments
Business Needs
Bug Fixes
Configuration
Axis of Change for ML
Based on "Continuous Delivery for Machine Learning", by Danilo Sato, Arif Wider, and Christoph Windheuser -- https://martinfowler.com/articles/cd4ml.html
"Continuous Delivery is the ability to get changes of all types -- including new features, configuration changes, bug fixes, and experiments -- into production, or in the hands of uses, safely and quickly in a sustainable way."
-- Jez Humble and David Farley
Continuous Delivery
"Continuous Delivery for Machine Learning is a software engineering approach in which a cross-functional team produces machine learning applications based on code, data and models in small and safe increments that can be reproduced and reliably released at any time, in short adaptation cycles."
-- Danilo Sato, Arif Wider, Christoph Windheuser
"Continuous Delivery for Machine Learning is a software engineering approach in which a cross-functional team produces machine learning applications based on code, data and models in small and safe increments that can be reproduced and reliably released at any time, in short adaptation cycles."
-- Danilo Sato, Arif Wider, Christoph Windheuser
Continuous Delivery for Machine Learning
Doctoral Symposium - CAIN 2025
A Metrics-Oriented Architectural Model
to Characterize Complexity on
Machine Learning-Enabled Systems
My goal is to exemplify the use of
MLOps
The key idea behind putting
AI/ML into production
MLOps
https://renatocf.xyz/marin-2026-slides
2026
Renato Cordeiro Ferreira
Institute of Mathematics and Statistics (IME)
University of São Paulo (USP) – Brazil
Jheronimus Academy of Data Science (JADS)
Technical University of Eindhoven (TUe) / Tilburg University (TiU) – The Netherlands
Productionizing AI/ML
in the Maritime Domain
System Architecture
(in detail)
SummerSOC 2025
MLOps with Microservices:
A Case Study in the
Maritime Domain
Core Dev Team
Scientific Programmers
Research Team
MSc Students
Innovation Team
PDEng Trainees
Core Dev Team
Scientific Programmers
Ui Dev Team
Hired Developers
Core Dev Team
Scientific Programmers
Research Team
MSc Students
Innovation Team
PDEng Trainees
Contract-Based
Development
Research
Team
Innovation
Team
Core Dev
Team
UI Dev
Team
Exploration of
state-of-the-art
techniques
Exploration of
state-of-the-practice
techniques
Back-end development
and infrastructure management
Front-end development
and user interface
design
Experimentation and Training Pipelines
Experimentation and Training Pipelines
API, Databases,
Model Repository
WebApp
Master
Students
EngD
Trainees
Scientific
Programmers
Assistant
Programmers
Document the expected formats of data exchange between two services or pipelines, which interact as consumer and producer via a data storage
Document the expected protocol of behavior between two services,
which interact synchronously or asynchronously via the network
Document the expected input and output between a trainer and a server, which interact by storing and loading models in a model registry
Code Contracts
Data Contracts
Model Contracts