π πΈπ»π΄π
Tiles is a framework to create formal configurations of constraints. Its classes are written in Soda and grouped in packages translated to Scala.
This is an example of a pipeline to detect equality.

The meaning is: for all agents (all-agent), compute how much each agent accumulates (accumulates),
and ensure that all of them received the same amount (all-equal).
The notation (a) denotes a sequence of agents, (m) denotes a sequence of quantities, and b denotes a single
Boolean value.
Publications
- Julian Alfredo Mendez, Timotheus Kampik, Andrea Aler Tubella, and Virginia Dignum. A Clearer View on Fairness: Visual and Formal Representation for Comparative Analysis. In Florian Westphal, Einav Peretz-Andersson, Maria Riveiro, Kerstin Bach, and Fredrik Heintz, editors, 14th Scandinavian Conference on Artificial Intelligence, SCAI 2024, pages 112-120. Swedish Artificial Intelligence Society, June 2024. Β DOI:10.3384/ecp208013 Β Abstract Β BibTeX Β PDF Β Implementation
- Julian Alfredo Mendez. Soda: An Object-Oriented Functional Language for Specifying Human-Centered Problems. arXiv Β DOI:10.48550/arXiv.2310.01961 Β Abstract Β BibTeX Β PDF Β Implementation
Examples
| Example | Description |
|---|---|
| Β | Β |
| Equality | Determines whether every agent receives the same amount of resources. |
| Β | Β |
| Equity | Determines whether all agents receive resources according to their needs. |
| Β | Β |
| Envy-Freeness | Determines whether the distribution is envy-free. |
| Β | Β |
| Group Fairness | Determines whether the distribution preserves fairness across groups. |
| Β | Β |
| Individual Fairness | Determines whether the distribution preserves fairness for individuals. |
| Β | Β |
| Scoring | Measures the correlation between false positives and a protected attribute. |
| Β | Β |
| Jainβs Index | Measures fairness according to the Jainβs index. |
| Β | Β |
| Complement of the Gini Index | Measures fairness using the complement of the Gini index. |
| Β | Β |
| Child Care Subsidy | Represents a collection of possible pipelines for child care subsidies. |
| Β | Β |
How it works
See a small explanation of how Tiles works.
Executable
This project includes an executable for the example pipelines.
The script makeall.sh creates the file tiles, which is an executable JAR file that can be
directly executed in Linux. Its input is a YAML configuration file, like the
configuration file provided for the unit tests.
Other configuration files are also available here.