Machine Learning Systems

Mike's Notes

I discovered this list of free learning resources by reading Rohit Kumar Tiwari's Substack. The teachers are excellent. This is a compilation of his Substack posts.

  • Machine Learning Systems book (Harvard)
  • CS336: Language Modelling from Scratch (Stanford)
  • CS229: Machine Learning (Stanford)
  • CS295: Transformers & LLMs (Stanford)
  • 6.S087: Foundation models and generative AI (MIT)
  • Learn to Build AI Agents (Microsoft Developer)

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library >
  • Home > Handbook > 

Last Updated

2/01/2026

Machine Learning Systems

By: Rohit Kumar Tiwari
Awesome Neuron: 24/12/2025

Simplifying AI for Everyone | Sr. Data Scientist | A Decade of Experience | Creator of AwesomeNeuron | Top 1% @Topmate | Writes to 16K+ @LinkedIn | GenAI, LLMs, Agents.

Harvard University

Machine Learning Systems

A free book by Prof Vijay Janapa Reddi (PDF)

Stanford University

CS336: Language Modelling from Scratch

17 Videos. Language models serve as the cornerstone of modern natural language processing (NLP) applications and open up a new paradigm of having a single general purpose system address a range of downstream tasks. As the field of artificial intelligence (AI), machine learning (ML), and NLP continues to grow, possessing a deep understanding of language models becomes essential for scientists and engineers alike. This course is designed to provide students with a comprehensive understanding of language models by walking them through the entire process of developing their own. Drawing inspiration from operating systems courses that create an entire operating system from scratch, we will lead students through every aspect of language model creation, including data collection and cleansing for pre-training, transformer model construction, model training, and evaluation before deployment.

CS229: Machine Learning

The fastest way I know to really understand AI.

Stanford CS229. Free. 20 lectures.

Course taught by legendary Andrew Ng.

CS295: Transformers & LLMs

These 9 lectures from Stanford are a pure goldmine for anyone wanting to understand LLMs in depth.

MIT

6.S0087: Foundation Models and Generative AI

MIT literally packed 7 hours with everything you need to know about GenAI for FREE.

Microsoft Developer

Learn to Build AI Agents

13 videos. Just 2 hours. Free on YouTube.

Chips Huyen MLOps guide

Mike's Notes

I was mesmerised by Chips's talks, which explained MLOps very clearly. Here is a copy of her resources page. The original page has many links. A fantastic resource.

"MLOps (Machine Learning Operations) is a set of practices combining Machine Learning, DevOps, and Data Engineering to automate, standardize, and manage the end-to-end lifecycle of ML models. It aims to increase automation (CI/CD) for faster, reliable deployment, while maintaining model performance and monitoring for drift." - Databricks

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library >
  • Home > Handbook > 

Last Updated

30/03/2026

Chips Huyen MLOPs guide

By: Chips Huyen
Chip Huyen: 11/01/2025

I’m Chip Huyen, a writer and computer scientist. I grew up chasing grasshoppers in a small rice-farming village in Vietnam.

My focus is on ML/AI systems in production. I’m currently exploring creative use cases of AI in education and entertainment.

Previously, I worked on ML tooling at NVIDIA (core dev of NeMo), Snorkel AI, and Netflix. I also founded and sold an AI infra startup.

Running a startup taught me that being a founder is incredibly hard, so I try to support founders in any way I can. Some startups I’ve worked with included Convai, OctoAI, and Photoroom.

I graduated from Stanford, where I taught ML Systems. The lectures became the foundation for the book Designing Machine Learning Systems, which is an Amazon #1 bestseller in AI and has been translated into 10+ languages (very proud)!

My new book AI Engineering (2025) is currently the most read book on the O’Reilly platform. It’s also available on Amazon and Kindle.

I’m active on GitHub and aspire to become a Goodreads influencer. You can also find me on Google Scholar. I frequently speak at and occasionally host events.

I enjoy learning about fun technical challenges and collaborating with great teams. Reach out if you want to find a way to work together!.

Update (Jan 11, 2025): I’m working on a minimum viable curriculum for ML/AI engineering. Here’s the interest form if you want to test out the curriculum.

A collection of materials from introductory to advanced. This is roughly the path I’d follow if I were to start my MLOps journey again.

Table of contents

  • ML + engineering fundamentals
  • MLOps
  • …. Overview
  • …. Intermediate
  • …. Advanced
  • Career
  • Case studies
  • Bonus

ML + engineering fundamentals

While it’s tempting to want to get straight to ChatGPT, it’s important to have a good grasp of machine learning, deep learning, NLP, and reinforcement learning fundamentals.

  • 10 free ML courses: make sure to take those classes in order.
  • [Book] Machine Learning: A Probabilistic Perspective (Kevin P. Murphy). A draft PDF link can be found here.
  • [Book] Information Theory, Inference, and Learning Algorithms (David MacKay). Free online version here.
  • [Book] Deep Learning (Ian Goodfellow, Yoshua Bengio, and Aaron Courville). Free online version.
  • [Book] Introduction to Information Retrieval (Christopher D. Manning, Prabhakar Raghavan, and Hinrich Schütze). Essential for anyone interested in Natural Language Processing. Free online version.
  • [Book] Reinforcement Learning: An Introduction (Richard S. Sutton and Andrew G. Barto). Essential for reinforcement learning. Free online version.
  • [Tutorials] OpenAI’s Spinning up in Deep Reinforcement Learning: A collection of articles that give great intuition for many RL algorithms. Highly recommended for anyone interested in RL.
  • [Video] Andrej Karpathy’s Zero to Hero series
  • Tools and concepts I’d prioritize learning
  • A survivor’s guide to AI courses at Stanford (Updated Feb 2020)

MLOps

What’s MLOps?

Ops in MLOps comes from DevOps, short for Developments and Operations. To operationalize something means to bring it into production, which includes deploying, monitoring, and maintaining it.

Currently, this section contains a lot of my writing, certainly because of my bias and because when I set out to learn about MLOps, there wasn’t a lot of resources about it yet. I’ll add more materials soon!

  • [Book] Designing Machine Learning Systems (O’Reilly, 2022)
  • [Community] Some of the best discussions I have had are on our MLOps Discord server [15k+ members]. You’re welcome to ask questions and join us in our monthly talks/discussions!

Overview

Overview of ML in production.

  • [Video] Machine learning production myths (Stanford’s MLSys Seminars)
  • [Lecture note] Introduction to machine learning in production
  • Rules of Machine Learning: Best Practices for ML Engineering (Martin Zinkevich, 2019)
  • What I learned from looking at 200 machine learning tools [Jun 2020]
  • Machine Learning Tools Landscape v2 (+84 new tools) [Dec 2020]
  • The ML Test Score: A Rubric for ML Production Readiness and Technical Debt Reduction (Breck et al., 2017)
  • Building LLM applications for production

Intermediate

Deep dives into different aspects of ML production.

  • [Lecture note] Creating training data: sampling, labeling, handling class imbalance, data augmentation
  • [Lecture note] Feature engineering
  • [Book excerpt] Data Distribution Shifts and Monitoring
  • Instrumentation, Observability & Monitoring of Machine Learning Models (Josh Wills, 2019)
  • RLHF: Reinforcement Learning from Human Feedback

Advanced

Build the best MLOps platform for your organization!

  • Real-time machine learning: challenges and solutions
  • [Lecture note] Data system fundamentals for data scientists
  • A friendly introduction to machine learning compilers and optimizers
  • Why data scientists shouldn’t need to know Kubernetes
  • Self-serve feature platforms: architectures and APIs

Career

  • [Free book] Machine Learning Interviews Book
  • [Twitter thread] The ML interviews process
  • Career advice for recent Computer Science graduates
  • Four lessons I learned after my first full-time job after college
  • 7 reasons not to join a startup and 1 reason to
  • Analysis of compensation, level, and experience details of 19k tech workers
  • What Glassdoor interview reviews reveal about tech hiring cultures
  • What we look for in a resume

Case studies

To get a sense of the challenges of machine learning production, it’s helpful to learn from companies who are doing it.

  1. Using Machine Learning to Predict Value of Homes On Airbnb (Robert Chang, Airbnb Engineering & Data Science, 2017)

    In this detailed and well-written blog post, Chang described how Airbnb used machine learning to predict an important business metric: the value of homes on Airbnb. It walks you through the entire workflow: feature engineering, model selection, prototyping, moving prototypes to production. It’s completed with lessons learned, tools used, and code snippets too.

  2. Using Machine Learning to Improve Streaming Quality at Netflix (Chaitanya Ekanadham, Netflix Technology Blog, 2018)

    As of 2018, Netflix streams to over 117M members worldwide, half of those living outside the US. This blog post describes some of their technical challenges and how they use machine learning to overcome these challenges, including to predict the network quality, detect device anomaly, and allocate resources for predictive caching.
    To understand Netflix’s infrastructure for machine learning, check out Ville Tuulos’s talk Human-Centric Machine Learning Infrastructure @Netflix.

  3. 150 Successful Machine Learning Models: 6 Lessons Learned at Booking.com (Bernardi et al., KDD, 2019)

    As of 2019, Booking.com has around 150 machine learning models in production. These models solve a wide range of prediction problems (e.g. predicting users’ travel preferences and how many people they travel with) and optimization problems (e.g.optimizing the background images and reviews to show for each user). Adrian Colyer gave a good summary of the six lessons learned here:
    • Machine learned models deliver strong business value.
    • Model performance is not the same as business performance.
    • Be clear about the problem you’re trying to solve.
    • Prediction serving latency matters.
    • Get early feedback on model quality.
    • Test the business impact of your models using randomized controlled trials.

  4. Machine Learning-Powered Search Ranking of Airbnb Experiences (Mihajlo Grbovic, Airbnb Engineering & Data Science, 2019)

    This article walks you step by step through a canonical example of the ranking and recommendation problem. The four main steps are system design, personalization, online scoring, and business aspect. The article explains which features to use, how to collect data and label it, why they chose Gradient Boosted Decision Tree, which testing metrics to use, what heuristics to take into account while ranking results, how to do A/B testing during deployment. Another wonderful thing about this post is that it also covers personalization to rank results differently for different users.

  5. From shallow to deep learning in fraud (Hao Yi Ong, Lyft Engineering, 2018)

    Fraud detection is one of the earliest use cases of machine learning in the industry. This article explores the evolution of fraud detection algorithms used at Lyft. At first, an algorithm as simple as logistic regression with engineered features was enough to catch most fraud cases. Its simplicity allowed the team to understand the importance of different features. Later, when fraud techniques have become too sophisticated, more complex models are required. This article explores the tradeoff between complexity and interpretability, performance and ease of deployment.

  6. Space, Time and Groceries (Jeremy Stanley, Tech at Instacart, 2017)

    Instacart uses machine learning to solve the task of path optimization: how to most efficiently assign tasks for multiple shoppers and find the optimal paths for them. The article explains the entire process of system design, from framing the problem, collecting data, algorithm and metric selection, topped with a tutorial for beautiful visualization.

  7. Creating a Modern OCR Pipeline Using Computer Vision and Deep Learning (Brad Neuberg, Dropbox Engineering, 2017)

    An application as simple as a document scanner has two distinct components: optical character recognition and word detector. Each requires its own production pipeline, and the end-to-end system requires additional steps for training and tuning. This article also goes into detail the team’s effort to collect data, which includes building their own data annotation platform.

  8. Scaling Machine Learning at Uber with Michelangelo (Jeremy Hermann and Mike Del Balso, Uber Engineering, 2019)

    Uber uses extensive machine learning in their production, and this article gives an impressive overview of their end-to-end workflow, where machine learning is being applied at Uber, and how their teams are organized.

  9. How we grew from 0 to 4 million women on our fashion app, with a vertical machine learning approach (Gabriel Aldamiz, HackerNoon, 2018)

    To offer automated outfit advice, Chicisimo tried to qualify people’s fashion taste using machine learning. Due to the ambiguous nature of the task, the biggest challenges are framing the problem and collecting the data for it, both challenges are addressed by the article. It also covers the problem that every consumer app struggles with: user retention.

Bonus

Some stuff I did that don’t quite fit into any section above, but I want to share anyway :P

  • [Code] Python-is-cool: Cool Python features that I used to be too afraid to use
  • [Code] just-pandas-things: Pandas quirks that used to traumatize me
  • [Code] Coding exercises and solutions for coding interviews
  • [Video] Switching From a Batch to Streaming Mindset w/ Chip Huyen
  • [VentureBeat] 4 AI and ML job hunting tips from Chip Huyen
  • [Booklet] Machine learning systems design (2019): My initial notes on ML systems back. This 8000-word booklet gave ideas for the book Designing Machine Learning Systems in 2022.

OntoUML/UFO Catalog

Mike's Notes

Alex told me about OntoML. Another great resource that can be used in future. Pipi uses Ontologies as constraints.

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library >
  • Home > Handbook > 

Last Updated

31/12/2025

OntoUML/UFO Catalog

By: 
GitHub: 31/12/2025

OntoUML Meta Model

The FAIR Model Catalog for Ontology-Driven Conceptual Modeling Research, commonly referred to as OntoUML/UFO Catalog, is a structured and open-source catalog that contains OntoUML and UFO ontology models. It was conceived to allow collaborative work and to be easily accessible to all its users.

The goal of the OntoUML/UFO Catalog is to support empirical research in OntoUML and UFO, as well as for the general conceptual modeling area, by providing high-quality curated, structured, and machine-processable data on why, where, and how different modeling approaches are used.

The catalog offers a diverse collection of models, created by modelers with varying modeling skills, for a range of domains and different purposes. The models are available in machine-readable formats (JSON and Turtle) and are accessible via permanent identifiers.

The catalog has two data services through which we store and publish its content: this Git repository for data storage, and a FAIR Data Point (FDP) for data discovery. While we outline the FDP in this document, the focus of this documentation is on the catalog’s repository.

An overview of the catalog is provided by a dashboard at the persistent URL http://w3id.org/ontouml-models/dashboard.

Table of Contents

  • OntoUML/UFO Catalog
    • Table of Contents
    • Catalog’s Content
      • Data Organization
      • Catalog Releases
      • Data Schemas
        • OntoUML Metamodel
        • OntoUML Schema
        • Models in Linked Data
      • Metadata
      • FAIR Data Point: The Data Discovery Service
    • Catalog's Persistent URLs
    • How to Contribute
      • Contribute by Submitting an Ontology
      • Other Ways to Contribute
    • Relevant Associated Works
    • Catalog administration
    • How to Cite this Catalog
    • Acknowledgements
    • License disclaimer

Catalog’s Content

Data Organization

This repository contains OntoUML and UFO models and all their distributions, serving as our de facto data storage service. We describe below the catalog's repository structure and the files it contains:

/ontouml-models
|--- catalog.ttl
+--- /models
|     +--- /"model-directory-1"
|          |--- ontology.vpp
|          |--- ontology.json
|          |--- ontology.ttl
|          +--- /original-diagrams
|          |    |--- "diagram-1".png
|          +--- /new diagrams
|          |    |--- "diagram-1".png
|          |--- metadata.ttl
|          |--- metadata-vpp.ttl
|          |--- metadata-json.ttl
|          |--- metadata-turtle.ttl
|          |--- metadata-png-o-"diagram-1".ttl
|          |--- metadata-png-n-"diagram-1".ttl
+--- /shapes
     |--- Resource-shape.ttl
     |--- Dataset-shape.ttl
     |--- Catalog-shape.ttl
     |--- SemanticArtefact-shape.ttl
     |--- Distribution-shape.ttl

  • catalog.ttl: the Turtle file that contains all metadata about the catalog in linked data format.
  • /models: the directory containing all cataloged models.
  • /"model-directory-1": a directory containing a single model and distributions that materialize it. Most model directories' names are composed of information about the model itself, such as the name of the first author, the year of publication, or the name of the model.
  • ontology.*: the file generated by the modeling tool used to create or reproduce the model. The modeling tool in question must be able to serialize the model in JSON format in conformance with the Ontouml Schema (e.g., the Visual Paradigm UML CASE, .vpp extension, with the OntoUML Plugin for Visual Paradigm).
  • ontology.json: the JSON serialization of the model in conformance with the Ontouml Schema.
  • ontology.ttl: the Turtle serialization of the model in linked data format described with the OntoUML Vocabulary. This file is automatically generated after the JSON serialization.
  • /original-diagrams: the directory containing all diagrams of the model in PNG format. These diagrams are either (i) created from the original file generated by the modeling used, or (ii) extracted from the source where the model was published (e.g., screenshots from the original publication).
  • /new-diagrams: the directory containing all diagrams of the model in PNG format.
  • metadata.ttl: the Turtle file that contains all metadata about the model in linked data format.
  • metadata-vpp.ttl: the Turtle file that contains all metadata about the model file, the ontology.vpp distribution, in linked data format. This file is automatically generated.
  • metadata-json.ttl: the Turtle file that contains all metadata about the model's JSON serialization file, the ontology.json distribution, in linked data format. This file is automatically generated.
  • metadata-turtle.ttl: the Turtle file that contains all metadata about the model's Turtle serialization file, the ontology.ttl distribution, in linked data format. This file is automatically generated.
  • metadata-png-o-"diagram-1".ttl: a Turtle file that contains all metadata about one of the model's original diagrams, a /original-diagrams/"diagram-1".png distribution, in linked data format. A file is automatically generated for each original diagram.
  • metadata-png-n-"diagram-1".ttl: a Turtle file that contains all metadata about one of the model's new diagrams, a /new-diagrams/"diagram-1".png distribution, in linked data format. A file is automatically generated for each new diagram.
  • /shapes: the directory containing the SHACL shapes used in the validation of metadata schemas.
  • Resource-shape.ttl: the Turtle file that contains the SHACL shape used to validate metadata about resources of type dcat:Resource.
  • Dataset-shape.ttl: the Turtle file that contains the SHACL shape used to validate metadata about resources of type dcat:Dataset.
  • Catalog-shape.ttl: the Turtle file that contains the SHACL shape used to validate metadata about resources of type dcat:Catalog.
  • SemanticArtefact-shape.ttl: the Turtle file that contains the SHACL shape used to validate metadata about resources of type mod:SemanticArtefact.
  • Distribution-shape.ttl: the Turtle file that contains the SHACL shape used to validate metadata about resources of type dcat:Distribution.

Catalog Releases

The catalog also offers releases comprising all its data and metadata compiled into a single Turtle file. Releases are tagged after the following nomenclature <YYYY><MM><DD> and can be accessed via the permanent identifier https://w3id.org/ontouml-models/release/<release_tag>.

Data Schemas

The cataloged OntoUML and UFO models are documented in two different formats, referred to as data schemas: the OntoUML Schema and the OntoUML Vocabulary. Both formats are build upon an implementation-independent metamodel, the OntoUML Metamodel, and are equivalent in terms of the content being represented and are automatically generated by software, but tailored for their individual use cases.

OntoUML Metamodel

The OntoUML Metamodel allows its specialization on implementation-specific metamodels to be used as manipulation and exchange of OntoUML models by software agents focused on the UML features relevant to OntoUML. It covers several features of the UML metamodel related to its class diagram language, however, simplified to meet the needs of OntoUML.

OntoUML Schema

Designed to support the development of model intelligence services in OntoUML, the Ontouml Schema specializes the OntoUML Metamodel to specify how to serialize OntoUML models in JSON. In this format, OntoUML can be easily exchanged between clients and servers communicating over HTTP, with extensive support from all major tech stacks, including easy processing within browser applications.

The JSON is a format better suited for manipulation within software code than linked data formats. It supports the exchange of models between modeling tools and the OntoUML server, providing model intelligent services (e.g., model verification and transformation).

Models in Linked Data

While JSON offers a suitable solution for exchanging and manipulating models with software, the ability to query models is extremely useful for analyzing them. This is even more pronounced in the context of a catalog of models, where the significant size of the catalog enables, for example, the generation of statistical reports and the detection of recurrent patterns. The serialization of OntoUML models in a linked data format allows us to feed them to a knowledge graph and perform complex analysis using the SPARQL querying language, all with no need for additional software.

Metadata

metadata-schema

The catalog’s schema, depicted in the image above, reuses classes and properties from the following RDF/OWL vocabularies:

  • Data Catalog Vocabulary (DCAT): The central vocabulary in our metadata schema, DCAT was “designed to facilitate interoperability between data catalogs published on the Web”.
  • Dublin Core Terms (DCT): A vocabulary that defines properties to describe basic metadata of resources on the web.
  • Friend of a Friend (FOAF): A vocabulary that offers terms to describe people, groups, companies, and other types of agents.
  • Metadata for Ontology Description and Publication (MOD): A vocabulary that defines properties to describe the metadata of ontologies and other semantic artefacts.
  • Simple Knowledge Organization System (SKOS): A vocabulary for representing and linking knowledge organization systems.
  • vCard: A vocabulary to describe contact information (e.g., email, phone number).

As we could not satisfy the metadata needs of our stakeholders using the existing vocabularies alone, we complemented them with one of our own authorship, the OntoUML/UFO Catalog Metadata Vocabulary.

The OntoUML/UFO Catalog Metadata Vocabulary was created to satisfy the metadata needs of the OntoUML/UFO Catalog, complementing the catalog's schema with properties to improve the findability and reusability of the catalog and its models. The vocabulary's content can be accessed thgrough the following links:

  • Vocabulary's complete textual specification
  • Vocabulary's GitHub repository
  • Vocabulary's formal specification in Turtle syntax

The OntoUML/UFO Catalog Metamodel Vocabulary's elements are identified below by the prefix ocmv.

FAIR Data Point: The Data Discovery Service

The OntoUML FAIR Data Point is a deployment of the FAIR Data Point (FDP) reference implementation, which is a FAIR-compliant platform designed to expose semantically rich metadata of FAIR digital objects. Deployed as a web server, the FDP provides important features to the catalog, including the generation of global unique IDs, the generation of webpages for each resource in the catalog based on their semantic annotations, and the search of resources based on textual information or user-defined SPARQL queries. The FDP is automatically synchronized with the data storage, service serving as the data discovery service for the catalog.

Catalog's Persistent URLs

  • We created persistent URLs for the following resources:
  • FDP Catalog page: https://w3id.org/ontouml-models
  • GitHub repository: https://w3id.org/ontouml-models/git
  • OntoUML vocabulary: https://w3id.org/ontouml

Catalog's releases:

  • Latest release: https://w3id.org/ontouml-models/release
  • Specific release: https://w3id.org/ontouml-models/release/<release_tag>
  • <release_tag> must be substituted by a release tag string (e.g., '20230602')

Catalog Vocabulary TTL file: https://w3id.org/ontouml-models/vocabulary

Shape TTL files:

  • https://w3id.org/ontouml-models/shape/Catalog
  • https://w3id.org/ontouml-models/shape/Dataset
  • https://w3id.org/ontouml-models/shape/Distribution
  • https://w3id.org/ontouml-models/shape/Resource
  • https://w3id.org/ontouml-models/shape/SemanticArtefact

How to Contribute

Your contribution is fundamental to the catalog's success. We highly encourage authors to submit their models and tools to this catalog. With that, you will be supporting research in (ontology-driven) conceptual modeling, ontology engineering, software design, and several others.

We greatly appreciate your contribution to this project!

Contribute by Submitting an Ontology

The easiest way to contribute to this catalog is to simply send us the following:

  1. your ontology model project;
  2. the model's metadata information; and
  3. the model's associated bibliography (when available).

If you wish to contribute to this initiative by submitting your ontology, use the catalog's contribution form.

Note that anonymous ontologies are allowed in the catalog. So, if you do not want your name to be displayed in your ontology’s metadata, you just have to inform us and we will keep the model’s authorship anonymous. It is important that, in such case, you must be the owner of the ontology’s legal rights.

If you wish to contribute by submitting someone else's ontology, please chose one entry from the "Not Started" or "Started" sheets from the List of UFO and OntoUML Ontology Models. Ontologies in the Started sheet already have files available in a branch (informed in the spreadsheet), simplifying the collaboration process.

For providing high-quality data, submissions are required to comply with the defined rules to be accepted as part of the catalog. If you have any questions about submitting new models or reusing those available in this catalog, please create an issue.

Other Ways to Contribute

If you wish to contribute to this initiative by creating and reporting an application for the catalog, please inform us through the catalog's contribution form or create an issue.

If you find any problems in the repository or have ideas for its improvement, please let us know through the catalog's contribution form or by creating an issue.

Relevant Associated Works

The list of works that use the data provided by the OntoUML/UFO Catalog to test algorithms and perform other tasks grows over time. Instead of keeping a manual list in this document, we recommend you access its Google Scholar and ResearchGate citation lists to access an updated information.

Catalog administration

The OntoUML/UFO Catalog is maintained by the Semantics, Cybersecurity & Services (SCS) Group of the University of Twente, in The Netherlands. Its principal administrators are:

  • Pedro Paulo F. Barcelos [GitHub] [LinkedIn]
  • Tiago Prince Sales [GitHub] [LinkedIn]
  • Mattia Fummagali [GitHub] [LinkedIn]
  • Claudenir M. Fonseca [GitHub] [LinkedIn]

Feel free to get in contact with the administrators using the links provided. For questions, contributions, or to report any problem, you can open an issue at this repository.

How to Cite this Catalog

Please cite the OntoUML/UFO Catalog as:

  • Prince Sales, T., Barcelos, P. P. F., Fonseca, C. M., Souza, I. V., Romanenko, E., Bernabé, C. H., Bonino da Silva Santos, L. O., Fumagalli, M., Kritz, J., Almeida, J. P. A., & Guizzardi, G. (2023). A FAIR catalog of ontology-driven conceptual models. Data & Knowledge Engineering, 147, 102210. https://doi.org/10.1016/j.datak.2023.102210. Permanent URL: https://w3id.org/ontouml-models/.

For creating citations using different formats, refer to the webpage of the paper's publisher for getting the paper's complete information.

For obtaining the paper's complete BibTeX record, we recommend downloading this information on the same webpage or accessing it on the DBLP BibTeX record.

This paper reflects the state of the catalog as of June 2022.

Acknowledgements

We would like to thank all the contributors to the OntoUML/UFO Catalog, as well as all the modelers who shared their work and allowed us to include it here.

License disclaimer

The OntoUML/UFO Catalog is licensed under the Creative Commons Attribution-ShareAlike 4.0 International Public License.

Although the OntoUML/UFO Catalog is an open project with a permissive license, special attention must be given to the following licensing clauses:

  • The OntoUML/UFO Catalog is a noncommercial work created strictly for academic research purposes.
  • This license only applies to the catalog structure itself, not to the models included in the repository.
  • Information about licensing of individual ontologies included in the catalog can be found on their related metadata.yaml file.
  • The models included in the repository were obtained directly from the authors or academic sources using open or valid licensed access.
  • This license by no means overwrites the license of the models included in the repository, which maintain their original license.
  • All catalog ontologies that are without explicit licensing information on their associated metadata.yaml file must be interpreted as being private and having a restrictive license.
  • License holders sending their models to the OntoUML/UFO Catalog expressly agree that the sent content is going to be hosted and made available for other users in the terms of this license.
  • Whoever uses the OntoUML/UFO Catalog expressly understands and agrees with its licensing information.

Ontologies are going to be immediately removed from the catalog in case of a request by the original license holders. For content removal, please create an issue or report it through the catalog's contribution form.

Introducing Code Wiki: Accelerating your code understanding

Mike's Notes

"Documentation always was a cache, a proxy for the understanding of the code. A cache that could get stale. With AI most documentation can go away. If I want to know something about the code base, I ask Claude Code - which answers in a more direct, more applicable way to my problem than any documentation. Then there is Code Wiki: “Gemini-generated documentation, always up-to-date.” Code Wiki draws some nice graphs for code too!"

- Amazing CTO

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library > Subscriptions > Amazing CTO
  • Home > Handbook > 

Last Updated

30/12/2025

Introducing Code Wiki: Accelerating your code understanding

By: Fergus Hurley, Pedro Rodriguez, Rafael Marques. Omar Shams.
Google for Developers: 13/11/2025

Reading existing code is the one of the biggest, most expensive bottlenecks in software development.

To address this issue and improve your productivity, we're introducing Code Wiki, a platform that maintains a continuously updated, structured wiki for code repositories.

A new way to understand code

At Google, our mission is to organize the world's information and make it universally accessible and useful. For developers, that means unlocking the vital knowledge currently buried in complex source code.

We built a system that fulfills this mission by keeping documentation alive. Instead of static files, it maintains a continuously updated, structured wiki for every repository.

  1. Automated & always up-to-date: Code Wiki scans the full codebase and regenerates the documentation after each change. The docs evolve with the code.
  2. Intelligent & context-aware: The entire, always-current wiki serves as the knowledge base for an integrated chat. You’re not talking to a generic model, but to one that knows your repo end-to-end.
  3. Integrated & actionable: Every wiki section and chat answer is hyper-linked directly to the relevant code files and definitions. Reading and exploring merge into one workflow.

The Code Wiki website

Today, we're launching the Code Wiki website in public preview, our first product built on this new system. It ingests public repositories and generates, hosts, and maintains comprehensive and interactive documentation for each one.

Instead of reading static text, you can navigate interactively, jumping directly from high-level concept explanations to the exact code files, classes, and functions they reference. If you get stuck on a complex module, you can ask the Gemini-powered chat agent that uses the always-up-to-date wiki as context to answer highly specific questions about your repository, instantly bridging the gap between learning about the code and actually exploring it. For times when text isn't enough, Code Wiki automatically generates always-current architecture, class, and sequence diagrams, ensuring you can visualize complex relationships that match the exact current state of the code.

Gemini CLI Code Wiki v2

This AI-powered, automated, intelligent, and integrated approach is the key to solving this bottleneck. New contributors can make their first commit on Day 1, while senior developers can understand new libraries in minutes, not days.

Coming soon: the Code Wiki Gemini CLI extension

While the open-source ecosystem hosts massive repositories, it’s often our own private repos that are the hardest to document effectively. Especially in companies where the original code author might not even be available anymore, understanding legacy code is a massive hurdle. We see this technology as a game-changer for these internal environments, ensuring everyone has the ability to deeply understand the code they’re working on.

We’re building a Gemini CLI extension for Code Wiki so teams can run the same system locally and securely on internal repositories. Join the waitlist for the Gemini CLI extension.

The future of development is here

Developers should spend their time building, not deciphering. The era of manual, outdated documentation and endless code-reading is over. The future of development is about instant understanding.

Workspaces for Agents

Mike's Notes

This is where I will keep detailed working notes on creating Workspaces for Agents. Eventually, these will become permanent, better-written documentation stored elsewhere. Hopefully, someone will come up with a better name than this working title.

This replaces the coverage in Industry Workspace dated 13/10/2025.

Testing

The current online mockup is version 3 and will be updated frequently.If you are helping with testing, please remember to delete your browser cache so you see the daily changes. Eventually, a live demo version will be available for field trials.

Learning

(To come)

Why

(To come)

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library >
  • Home > Handbook > 

Last Updated

2/01/2026

Workspaces for Agents

By: Mike Peters
On a Sandy Beach: 29/12/2025

Mike is the inventor and architect of Pipi and the founder of Ajabbi.

Open-source

This open-source SaaS cloud system will be shared on GitHub and GitLab.

Dedication

This workspace is dedicated to the life and work of ??.

Person

Source:

" - Wikipedia


Change Log

Ver 3 includes config and tools.

Existing products

Features

This is a basic comparison of features in alternative software.

[TABLE]

Data Model

words

Database Entities

  • Facility
  • Party
  • etc

Standards

The workspace must comply with all applicable international standards.

  • (To come)

Data Centre Variables

Source: Krobar.ai simulation model (beta)

Node Name Type Estimates / Formula
Potential Customers Input Variable discrete_normal distribution
Server density per rack Input Variable discrete_normal distribution
Agreement conversion rate Input Variable beta distribution
Racks per agreement Input Variable discrete_normal distribution
Customer provisions virtual servers Calculation Step binomial(round(max(0,average(Market demand,Potential Customers))),average(Provider evaluation rate,Evaluation Rate,Evaluation rate))
Total revenue Calculation Step Server lease cost
Networking revenue per server Input Variable Normal(μ=200.0, σ=60.790273556231)
Evaluation Rate Input Variable beta distribution
Agreement Conversion Rate Input Variable beta distribution
Average Servers per Rack Input Variable discrete_normal distribution
Racks per Agreement Input Variable discrete_normal distribution
Monitoring & support Calculation Step Servers installed * Monitoring hours per server
Lease agreement conversion rate Input Variable beta distribution
Networking cost per server Input Variable Normal(μ=65.0, σ=21.27659574468085)
Average Racks per Agreement Input Variable discrete_normal distribution
Market demand Input Variable Normal(μ=2750.0, σ=3335.8549916376046)
Servers per Rack Input Variable discrete_normal distribution
Power costs Calculation Step Servers installed * Power cost per server + Fixed power costs
Storage revenue per server Input Variable Normal(μ=175.0, σ=75.98784194528875)
Evaluation rate Input Variable beta distribution
Servers per rack Input Variable discrete_normal distribution
Space and power provisioned Calculation Step round(max(0, Lease agreement signed) * average(Racks per agreement,Average Racks per Agreement,Racks per Agreement))
Lease agreement signed Calculation Step binomial(round(max(0, Customer evaluates providers)), average(Lease agreement conversion rate,Agreement Conversion Rate,Agreement conversion rate))
Cooling costs Calculation Step Servers installed * Cooling cost per server + Fixed cooling costs
Provider evaluation rate Input Variable beta distribution
Storage cost per server Input Variable Normal(μ=70.0, σ=30.3951367781155)
Total operating cost Calculation Step Power costs+Cooling costs+Monitoring & support+Server lease cost
Customer evaluates providers Calculation Step binomial(round(max(0, average(Market demand,Potential Customers))), average(Provider evaluation rate,Evaluation Rate,Evaluation rate))
Networking revenue Calculation Step Customer provisions virtual servers*Networking revenue per server
Server lease cost Calculation Step Servers installed * Depreciation cost per server
Networking cost Calculation Step Customer provisions virtual servers*Networking cost per server
Profit (pre-tax) Calculation Step Total revenue-Total operating cost
Storage revenue Calculation Step Customer provisions virtual servers*Storage revenue per server
Storage cost Calculation Step Customer provisions virtual servers*Storage cost per server
Fixed power costs Input Variable Normal(μ=12500.0, σ=11119.516638792014)
Fixed cooling costs Input Variable Normal(μ=9000.0, σ=8895.613311033612)
Backup revenue per server Input Variable Normal(μ=175.0, σ=185.32527731320025)
Backup cost per server Input Variable Normal(μ=27.5, σ=33.35854991637604)
DR revenue per server Input Variable Normal(μ=350.0, σ=370.6505546264005)
DR cost per server Input Variable Normal(μ=85.0, σ=96.36914420286412)
Average Power Consumption per Server Input Variable Normal(μ=0.425, σ=0.2594553882384803)
Power Cost per kWh Input Variable Normal(μ=0.13, σ=0.07413011092528009)
Hours per Period Input Variable discrete_normal distribution
Average Cooling Cost per Server per Period Input Variable Normal(μ=25.0, σ=22.239033277584028)
Server Purchase Cost Input Variable Normal(μ=5000.0, σ=4447.806655516806)
Server Useful Life (Periods) Input Variable discrete_normal distribution
Monitoring Hours per Server per Period Input Variable Normal(μ=2.25, σ=2.5945538823848033)
Renewal Rate Input Variable beta distribution
Lease cost per server per period Input Variable Normal(μ=1250.0, σ=1111.9516638792015)
Depreciation cost per server Input Variable Normal(μ=1100.0, σ=1334.3419966550418)
Monitoring hours per server Input Variable Normal(μ=55.0, σ=66.71709983275208)
Renewal rate Input Variable beta distribution
Power cost per server Input Variable Normal(μ=1100.0, σ=1334.3419966550418)
Cooling cost per server Input Variable Normal(μ=550.0, σ=667.1709983275209)
Servers installed Input Variable discrete_normal distribution
Depreciation Cost per Server Input Variable Normal(μ=1900.0, σ=1630.862440356162)
Monitoring Hours per Server Input Variable Normal(μ=55.0, σ=66.71709983275208)
Power Cost per Server Input Variable Normal(μ=800.0, σ=593.0408874022407)
Fixed Power Costs Input Variable Normal(μ=30000.0, σ=29652.04437011204)
Cooling Cost per Server Input Variable Normal(μ=400.0, σ=296.52044370112037)
Fixed Cooling Costs Input Variable Normal(μ=17500.0, σ=18532.527731320024)
Backup revenue Calculation Step Customer provisions virtual servers*Backup revenue per server
Backup cost Calculation Step Customer provisions virtual servers*Backup cost per server
Disaster recovery revenue Calculation Step Customer provisions virtual servers*DR revenue per server
Disaster recovery cost Calculation Step Customer provisions virtual servers*DR cost per server
Review and renew/cancel Calculation Step binomial(round(max(0, Lease agreement signed)), Renewal rate)

Simulation notes


Support

(To come)

Workspace navigation menu

This default outline needs significant work. The outline can be easily customised by future users via drag-and-drop and tick boxes to toggle features on and off.

  • Agent Account
    • Applications
      • Agent
        • ajx
        • alg
        • api
        • apl
        • aui
        • bor
        • brs
        • cde
        • cfg
        • cgi
        • cmd
        • cms
        • cnd
        • cnf
        • cny
        • cor
        • cpt
        • cpx
        • css
        • cte
        • ctx
        • cui
        • dao
        • dmn
        • dob
        • doc
        • dom
        • dpl
        • dsg
        • dta
        • dvp
        • eml
        • eng
        • fac
        • ffg
        • fil
        • fld
        • fnt
        • ftp
        • fui
        • int
        • iot
        • ips
        • kwd
        • lng
        • lnk
        • lob
        • loc
        • log
        • lop
        • lui
        • mim
        • mle
        • mod
        • mpg
        • msg
        • mta
        • mtr
        • nde
        • nsp
        • nte
        • obj
        • ont
        • oop
        • par
        • pge
        • phl
        • pkg
        • pln
        • plt
        • plu
        • plw
        • prm
        • pub
        • pui
        • rbn
        • rgn
        • rle
        • rls
        • rnd
        • scl
        • scr
        • sgp
        • spt
        • ssn
        • sta
        • sys
        • tem
        • tra
        • trn
        • tsk
        • udt
        • usa
        • usi
        • usp
        • usr
        • var
        • vct
        • ver
        • vfy
        • wai
        • wbs
        • wfl
        • wki
        • wsp
      • As a Platform
        • Cloud Platform
          • Alibaba Cloud
          • AWS
          • Azure
          • Cloudflare
          • Container Hosting Service
          • Couchbase
          • DigitalOcean
          • Google Cloud
          • Hetzner Cloud
          • IBM Cloud
          • JFrog
          • Linode
          • Netlify
          • OpenShift
          • Oracle Cloud
          • OVHcloud
          • Render
          • Salesforce
          • Tencent Cloud
          • Vercel
          • Wasabi
          • Zeabur
      • Data Centre (v2)
        • Cooling
        • Fire
        • Power
          • Supply
          • UPS
        • Security
      • Mission Control
        • Status
    • Customer (v2)
      • Bookmarks
        • (To come)
      • Support
        • Contact
        • Forum
        • Live Chat
        • Office Hours
        • Requests
        • Tickets
      • (To come)
        • Feature Vote
        • Feedback
        • Surveys
      • Learning
        • Explanation
        • How to Guide
        • Reference
        • Tutorial
    • Settings (v3)
      • Account
      • Billing
      • Deployments
        • Workspaces
          • Modules
          • Plugins
          • Templates
            • Mission Control
            • Researcher
            • Librarian
            • Training
          • Users