Skip to content

julianmendez/tiles

Repository files navigation

<script src="https://cdnjs.cloudflare.com/ajax/libs/mermaid/9.4.3/mermaid.min.js"> </script>

License build

Tiles is a framework to create formal configurations of constraints. Its classes are written in Soda and grouped in packages translated to Scala.

The fairness tiles are defined in package tile (Scala translation) and they use entities and other tools defined in package tool (Scala translation).

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

Example

This project includes an executable example of Child Care Subsidy 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. For more details, see the Child Care Subsidy example.

Resource Allocation Scenarios

These are some of the implemented fairness tiles for resource allocation scenarios:

Tile Class
all-actor (a) AllActorTile
(a) received (m) ReceivedSigmaPTile
(m) all-equal b AllEqualTile
(a) needed (m) NeededPTile
(m0), (m1) all-at-least b AllAtLeastTile
equality b EqualityPipeline
equity b EquityPipeline

A specific scenario is given as an example in ResourceAllocationScenarioExample. This scenario is used to test the equality tile with EqualityPipelineSpec and the equity tile with EquityPipelineSpec.

Example of Equality

graph LR
  all-actor(all-actor) --> received
  received(received) --> all-equal(all-equal)
Loading

Example of Equity

graph LR
  all-actor(all-actor) --> received
  all-actor --> needed
  received(received) --> all-at-least(all-at-least)
  needed(needed) -->  all-at-least
Loading

Auxiliary Tiles

The auxiliary tiles are used in the construction of other tiles. Some of the auxiliary tiles are:

Tile Class
(a) attribute (m) AttributePTile
(m0), (m1) σ (m) SigmaTile
(α0),(α1) zip (α0, α1) ZipTile
(α0, α1) unzip-0 (α0) UnzipPairFstTile
(α0, α1) unzip-1 (α1) UnzipPairSndTile

More examples

Author

Julian Alfredo Mendez

<script> window.mermaid.init(undefined, document.querySelectorAll('.language-mermaid')); </script>

Releases

No releases published

Packages

No packages published