From ab26f8ed20c963c18328f50de755b3cbe7eb0e44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joan=20Cipri=C3=A0?= Date: Mon, 13 Oct 2025 10:26:26 +0200 Subject: [PATCH 1/3] Refactor CSS for figure and SVG responsiveness --- docs/stylesheets/extra.css | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css index 767139bb..1d00243e 100644 --- a/docs/stylesheets/extra.css +++ b/docs/stylesheets/extra.css @@ -52,3 +52,13 @@ footer .footer-tagline p { margin: 0; padding: 0; } + +figure { + max-width: 100% !important; + width: auto !important; +} + +figure > svg { + width: 100% !important; + height: auto !important; +} From f88d20e6b456cd5d79d58f9bd5dc0591daf2bc10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joan=20Cipri=C3=A0?= Date: Mon, 13 Oct 2025 10:27:17 +0200 Subject: [PATCH 2/3] Adapt MIAIS documentation to interoperability levels --- docs/services/waste_collection.md | 284 +++++++++++++++++++----------- 1 file changed, 179 insertions(+), 105 deletions(-) diff --git a/docs/services/waste_collection.md b/docs/services/waste_collection.md index 7cad477d..a247bf82 100644 --- a/docs/services/waste_collection.md +++ b/docs/services/waste_collection.md @@ -6,45 +6,30 @@ ## Introduction -This guide shows how to deploy an AI-based service to optimize city waste collection using context information and the [Openroute](https://openrouteservice.org/) optimization service. As a limited example and possible starting point to build your own, it illustrates a **Minimal Interoperable AI Service (MIAIS)** that follows [MIMs embraced by the CitCom.ai project](https://oasc.gitbook.io/mims-2024). - -!!! abstract "Scenario" - Different sensors are deployed throughout the city to monitor the fill levels of waste containers. These sensors periodically collect data on the fill levels and send it to the TEF site data platform. The goal is to use this context information to create optimal truck waste collection routes. The solution will only consider the current waste container filling level, their location, available trucks, and start and end location. - -Do not worry if your TEF site lacks some components from the described scenario. As a demo, we offer a docker instance with all the necessary components to quickly test the service, including some dummy data. Further sections explain how to adapt and deploy the service on your TEF site. To successfully deploy the service in a real environment, **you must meet the minimum requirements** below or at least be close to them. +The **MAIS** is a conceptual and technical demonstration of how AI can be deployed across heterogeneous smart city platforms. Its purpose is to validate AI integration under [different levels of interoperability maturity](./../getting_started/interoperability.md/#interoperability-levels). +Below, we outline how the MAIS, a waste collection route optimization service, can be deployed in environments adhering to **Level 1** and **Level 2** interoperability models. ### Minimal requirements -Below are the minimum requirements for deploying the service on your TEF site. Please remember that you can always [test the service via the demo](#deploying-the-demo) if you still need to meet them. -#### NGSI-LD for Context Information (MIM1) -```mermaid -graph LR - A["🏛️ TEF site data platform"] ---|NGSI-LD| B["🤖 AI service"]; - B --- C["📈 Dashboard"]; - C["📈 Dashboard"] --- D["👥 Users"]; -``` +In Level 0 environments, the MAIS can not be deployed. However, as an example, it includes a Docker instance with all the necessary components to easily simulate a Level 1 environment, including some dummy data. -The above image shows the overall architecture: The AI service gets the necessary information from the TEF site data platform using the **NGSI-LD** specification compliant with MIM1. In the future, once [the data space connector](./../documentation/data_space_connectors/fiware/index.md) is deployed, the AI service will get the data through it. +At Level 1, interoperability is established by adopting **shared data standards and APIs**. The foundational components include **NGSI-LD (MIM1)** as the standard interface for context information exchange and **Smart Data Models (MIM2)** as a shared vocabulary for entities and attributes (e.g., [WasteContainer](https://github.com/smart-data-models/dataModel.WasteManagement/tree/master/WasteContainer), [Vehicle](https://github.com/smart-data-models/dataModel.Transportation/tree/master/Vehicle)). -An intermediary adapter may be required in cases where the city data platform does not comply with the proposed NGSI-LD standard. If your current data platform uses the NGSIv2 specification, check the [documentation section](./../documentation/index.md) for more details about using [Lepus](../documentation/data_federation/ngsiv2_to_ld/lepus.md) or [connecting an NGSI-V2 broker with an NGSI-LD broker through subscriptions](../documentation/data_federation/ngsiv2_to_ld/iot_agent.md). +Level 2 enhances the Level 1 foundation by introducing **secure, governed, and federated data exchange mechanisms through a [data space connector](./../documentation/data_space_connectors/index.md)**. -The AI service will use the gathered information to offer an interactive service through a web dashboard. Once the user provides a desired config the AI service will produce an optimal solution. -#### SmartDataModels for entities (MIM2) -The following entities are retrieved from the TEF site data platform and used in the service: [WasteContainer](https://github.com/smart-data-models/dataModel.WasteManagement/tree/master/WasteContainer) and [Vehicle](https://github.com/smart-data-models/dataModel.Transportation/tree/master/Vehicle). Feel free to click on them and explore their corresponding [Smart Data Model](https://smartdatamodels.org) specifications. - -#### Openroute API key +### Openroute API key [Openroute](https://openrouteservice.org/) offers a free vehicle routing optimization service based on the [Vroom](https://github.com/VROOM-Project/vroom) project. The MIAIS uses this service to provide and optimal solution. To access the service you will need a valid API key, so go over to [openrouteservice.org](https://openrouteservice.org) and get one; you will need it later. If you want to learn more, the API and parameters specification are explained [on the Vroom repository](https://github.com/VROOM-Project/vroom/blob/master/docs/API.md). -## Deploying the demo -As mentioned, a demo example with some dummy data has been provided so partners can quickly test the service without worrying about the minimal requirements. Below, you will find step-by-step instructions on deploying the minimal interoperable service for waste collection using docker. +## Running MIAIS locally +As mentioned, a demo example with some dummy data has been provided so partners can quickly test the service without worrying about the interoperability level. Below, you will find step-by-step instructions on deploying the MIAIS: 1. Clone the repository and navigate to its root folder: ```bash git clone https://github.com/CitComAI-Hub/waste-collection-demo.git && cd waste-collection-demo ``` -2. Init git submodules with the following command. This will clone and install a dead simple [ngsi-ld client library](https://github.com/CitComAI-Hub/ngsild-client) in `lib` folder. Please note that the library is for testing purposes only and lacks most functionality. However, it quickly allows you to implement your own methods to interact with the context broker. +2. Init git submodules with the following command. This will clone and install a dead simple [ngsi-ld client library](https://github.com/CitComAI-Hub/ngsild-client) in `lib` folder. Please **note that the library is for testing purposes only and lacks most functionality**. However, it quickly allows you to implement your own methods to interact with the context broker. ```bash git submodule init && git submodule update ``` @@ -91,8 +76,171 @@ python3 upsert_fake_data.py flask --app server run ``` -## Deploying in your TEF -If your TEF site meets all minimum requirements, you can go over deploying the MIAIS in your city. Start by changing your `.env` variables so they point to your real data platform. However, some changes, such as implementing an authentication method, may be required. The Minimal Interoperable AI Service is a starting point; therefore, feel free to explore and edit the project to start building it up on your own. Here are some tips that can help you adapt this example to your needs: +## Running MIAIS in Level 1 +As described above, the MIAIS gets the necessary information from the TEF site data platform using NGSI-LD (MIM1) as the standard interface for context information exchange and Smart Data Models (MIM2) as a shared vocabulary for entities and attributes. An intermediary adapter may be required in cases where the city data platform does not comply with the latest NGSI specification. If your current data platform uses the NGSIv2 specification, check the [documentation section](./../documentation/index.md) for more details about using [Lepus](../documentation/data_federation/ngsiv2_to_ld/lepus.md) or [connecting an NGSI-V2 broker with an NGSI-LD broker through subscriptions](../documentation/data_federation/ngsiv2_to_ld/iot_agent.md). + +
+```mermaid +graph LR + A["**TEF Context Broker**"] ---|NGSI-LD| B["🤖 **AI Service**"]; +``` +
Figure 1: MIAIS integration in Level 1
+
+ + +If your TEF site meets all minimum requirements, you can proceed with deploying the MIAIS in your city. Follow [previous instructions](#running-miais-locally) to get it up and running (except for the commands aimed at creating the context broker and inserting dummy data). Just remember that you must update the `.env` variables file so they point to the TEF data platform. If everything goes well, the example should work. Of course, some `WasteContainer` and `Vehicle` **entities must be available in your context broker**. Otherwise, use and adapt the `upsert_fake_data.py`script to your needs. + +### Authentication +When working with brokers in a production state, authentication is often required. The [`ngsild-client`](https://github.com/CitComAI-Hub/ngsild-client) library included in the example does not come with authentication support. However, it is quite straightforward to extend it to meet authentication requirements. + +As an example, check the following code of the [Valencia TEF site](./../tef/south_connect/valencia.md) implementation, which integrates [authentication for their NGSIv2 context broker](https://github.com/CitComAI-Hub/ngsild-client/blob/master/Authv2.py). + +```python +from lib.ngsildclient.Auth import Authv2 +from lib.ngsildclient.Client import Client + + +# Define service & subservice +service = "tef_city" +subservice = "/containers" + +# Authenticate +auth = Authv2() +token = auth.get_auth_token_subservice(service, subservice) + +# Ngsi-ld broker client +client = Client() + +# Fetch WasteContainer entities +context = os.environ.get("WASTECONTAINERS_CONTEXT") +containers = client.get_all_entities_by_type("WasteContainer", context, 100, 0, service, subservice, token).json() +``` + +Environment variables in `.env` file: + +```bash +AUTH_PROTOCOL="https" +ENDPOINT_KEYSTONE="auth.tef.com:15000" +AUTH_USER="xxxxx" +AUTH_PASSWORD="xxxxx" +``` + +## Running MIAIS in Level 2 +At Level 2, deploying the MAIS requires integration with the **data space infrastructure**. The AI service no longer connects directly to raw NGSI-LD endpoints; instead, it accesses data via the standardized interface provided by the connector. This approximation guarantees that all data exchanges are **traceable, governed, and policy-compliant**. + +
+```mermaid +graph TD + %% Top-level box for Participants + subgraph DSP["**Data Space**"] + + %% Single Trust Anchor box + TA["**Trust Anchor**"] + + %% Consumer is the DSC itself + subgraph C["**Consumer (DSC)**"] + KC["Keycloak"] + end + + %% Provider is the DSC itself + subgraph P["**Provider (DSC)**"] + APISIX["Data Service Endpoint (APISIX)"] + end + + end + + %% AI Service (declared first so it appears above) + AI["🤖 **AI Service**"] + + %% Wallet Identity (declared after AI to force lower position) + WI["🪪 **Wallet Identity**"]:::wallet + + %% Credential flow + AI -->|Gets credentials| KC + + %% Data access flow (direct) + AI -->|Requests data with credentials| APISIX + + %% Undirected visual connection (no arrow) + AI --- WI + + %% Trust triangle (dotted lines) + TA -.-> C + TA -.-> P + C -.->|Consumer is registered into Provider| P + + %% Style for Wallet Identity box + classDef wallet fill:#dcdcdc,stroke:#a1a1a1; +``` +
Figure 2: MIAIS integration at Level 2
+
+ +To illustrate the case (see Figure 2), a simple data space structure is assumed, composed of a **trust anchor, a data space connector in the provider role, and another in the role of consumer**. The data provider and the consumer are **registered in the trust anchor**, establishing a trust relationship. Moreover, the **consumer is registered in the provider's Trusted Issuer List**, which allows the consumer to issue credentials to third parties with permissions to access the provider's data. + +In addition, the AI service has a **wallet identity** consisting of a **Decentralized Identifier (DID)** and its associated private key, enabling the service to authenticate itself and sign verifiable credentials. Finally, the AI service must authenticate against the consumer's **Keycloak** identity server to get the corresponding access token. + +This authentication process leverages the **OpenID for Verifiable Presentations (OID4VP)** protocol, allowing the AI service to obtain a verifiable credential from the consumer's identity provider and present it as cryptographic proof of authorization. As a wallet, the service generates a verifiable presentation signed with its private key and submits it to the identity server. After successful verification, the service receives an access token, enabling secure and trusted interaction with the provider. For more details about this process, refer to the [Data Space Connectors documentation](./../documentation/data_space_connectors/index.md). + + +Below, you will find step-by-step instructions on deploying the MIAIS: + +1. Clone the repository and navigate to its root folder: +```bash +git clone https://github.com/CitComAI-Hub/waste-collection-demo.git && cd waste-collection-demo +``` + +2. Switch the branch to `mvds`: +```bash +git checkout mvds +``` + +3. Prepare wallet-identity: +```bash +mkdir wallet-identity +chmod o+rw wallet-identity +docker run -v $(pwd)/wallet-identity:/cert quay.io/wi_stefan/did-helper:0.1.1 +# unsecure, only do that for testing +sudo chmod -R o+rw wallet-identity/private-key.pem +``` + +4. Create wallet identity secret +```bash +kubectl create secret generic wallet-identity-secret \ + --from-file=did.json=wallet-identity/did.json \ + --from-file=private-key.pem=wallet-identity/private-key.pem \ + -n consumer + +# Check +kubectl get secrets -n consumer +kubectl describe secret wallet-identity-secret -n consumer +``` + +5. Create ORS API key secret +```bash +kubectl create secret generic ors-api-key --from-literal=OPENROUTESERVICE_API_KEY=your_api_key -n consumer +``` + +6. Create keycloak login secret +```bash +kubectl create secret generic keycloak-credentials \ + --from-literal=KEYCLOAK_USER='test-user' \ + --from-literal=KEYCLOAK_PASSWORD='test' \ + --from-literal=KEYCLOAK_CLIENT_ID='admin-cli' \ + -n consumer + +# Check +kubectl get secrets -n consumer +kubectl describe secret keycloak-credentials -n consumer +``` + +7. Deploy the MIAIS in your Kubernetes cluster: +```bash +kubectl apply -f flask-app.yaml -n consumer +kubectl get pods -n consumer +``` + +## Extending MIAIS +The Minimal Interoperable AI Service is a starting point; therefore, feel free to explore and edit the project to start building it up on your own. ??? tip "Project structure" - `static/`: Frontend folder. @@ -109,83 +257,9 @@ If your TEF site meets all minimum requirements, you can go over deploying the M Moreover, maybe your situation needs to consider some time restrictions or priorities. Check out the [Openroute service API specification](https://github.com/VROOM-Project/vroom/blob/master/docs/API.md), which is powerful and includes many parameters to fit your optimization needs. To change/add additional query parameters, go over [`Optimization.py`](https://github.com/CitComAI-Hub/waste-collection-demo/blob/mvs-orionld/services/Optimization.py) and [`Optimizer.js`](https://github.com/CitComAI-Hub/waste-collection-demo/blob/mvs-orionld/static/modules/Optimizer.js) files. -??? tip "Level 1: Authentication" - When working with brokers in a production state, authentication is often required. The [`ngsild-client`](https://github.com/CitComAI-Hub/ngsild-client) library included in the example does not come with authentication support. However, it is quite straightforward to extend it to meet authentication requirements. As an example, see the following code from the [Valencia](https://github.com/CitComAI-Hub/waste-collection-demo/tree/valencia) TEF site implementation, which implementes [authentication for their NGSIv2 setup](https://github.com/CitComAI-Hub/ngsild-client/blob/master/Authv2.py). - - ```python - from lib.ngsildclient.Auth import Authv2 - from lib.ngsildclient.Client import Client - - - # Define service & subservice - service = "tef_city" - subservice = "/containers" - - # Authenticate - auth = Authv2() - token = auth.get_auth_token_subservice(service, subservice) - - # Ngsi-ld broker client - client = Client() - - # Fetch WasteContainer entities - context = os.environ.get("WASTECONTAINERS_CONTEXT") - containers = client.get_all_entities_by_type("WasteContainer", context, 100, 0, service, subservice, token).json() - ``` - - Environment variables in `.env` file: - - ```bash - AUTH_PROTOCOL="https" - ENDPOINT_KEYSTONE="auth.tef.com:15000" - AUTH_USER="xxxxx" - AUTH_PASSWORD="xxxxx" - ``` - -??? tip "Level 2: Data Space Connector Authentication" - If your TEF has a data space connector deployed, you can use the `fdsauth` python library to authenticate and retrieve the corresponding token. To install `fdsauth`, simply use `pip`: - ```bash - pip install fdsauth - ``` - Next, a DID (Decentralized Identifier) and the corresponding key-material is required. You can create such via: - ```bash - mkdir certs && cd certs - docker run -v $(pwd):/cert quay.io/wi_stefan/did-helper:0.1.1 - ``` - - Then, use the following example code to obtain your authentication token: - ```python - from fdsauth import Consumer - import requests - - consumer = Consumer( - keycloak_protocol="http", - keycloak_endpoint="keycloak.consumer-a.local", - keycloak_realm_path="realms/test-realm/protocol", - keycloak_user_name="test-user", - keycloak_user_password="test", - apisix_protocol="http", - apisix_endpoint="apisix-proxy.provider-a.local", - certs_path="./certs", - ) - - token = consumer.get_data_service_access_token() - - try: - # Attempt to access data using the obtained service token. Get entities of type EnergyReport. - url = f"http://apisix-proxy.provider-a.local/ngsi-ld/v1/entities?type=EnergyReport" - headers = { - "Accept": "application/json", - "Authorization": f"Bearer {token}", - } - response = requests.get(url, headers=headers) - response.raise_for_status() - print(response.json()) - except Exception as req_err: - print(f"Request error occurred: {req_err}") - ``` - For more details, check out the [fdsauth repository](https://github.com/CitComAI-Hub/fdsauth/). - -## Track and status of known problems +## Issues +Did you find any problem? [Create a new issue](https://github.com/CitComAI-Hub/waste-collection-demo/issues/new). + +### Track and status of known problems - [X] Openroute optimization service has a maximum limit of 70 locations. This can be solved by [deploying your own Openroute instance](https://giscience.github.io/openrouteservice/getting-started). -- [ ] Solutions offered by the AI service should also be provided following MIM1 and MIM2 recommendations. Eg: using Smart data models format like ([FleetVehicle](), [FleetVehicleOperation](), [Road]() and [RoadSegment]()). \ No newline at end of file +- [ ] Output from MIAIS service should be provided following MIM1 and MIM2 recommendations. Eg: using Smart data models format like ([FleetVehicle](), [FleetVehicleOperation](), [Road]() and [RoadSegment]()). \ No newline at end of file From 69eb1ab072f556060dc58b81d8b86ac8d31497d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joan=20Cipri=C3=A0?= Date: Mon, 13 Oct 2025 18:03:46 +0200 Subject: [PATCH 3/3] Replace Level 2 MIAIS integration image --- docs/services/img/level2_miais.png | Bin 0 -> 121231 bytes docs/services/waste_collection.md | 48 ++--------------------------- 2 files changed, 3 insertions(+), 45 deletions(-) create mode 100644 docs/services/img/level2_miais.png diff --git a/docs/services/img/level2_miais.png b/docs/services/img/level2_miais.png new file mode 100644 index 0000000000000000000000000000000000000000..21b6c7ea0d507ce15377d8dccad196f5444a5967 GIT binary patch literal 121231 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 hgTY`{q1|!?W^%K5X7 -```mermaid -graph TD - %% Top-level box for Participants - subgraph DSP["**Data Space**"] - - %% Single Trust Anchor box - TA["**Trust Anchor**"] - - %% Consumer is the DSC itself - subgraph C["**Consumer (DSC)**"] - KC["Keycloak"] - end - - %% Provider is the DSC itself - subgraph P["**Provider (DSC)**"] - APISIX["Data Service Endpoint (APISIX)"] - end - - end - - %% AI Service (declared first so it appears above) - AI["🤖 **AI Service**"] - - %% Wallet Identity (declared after AI to force lower position) - WI["🪪 **Wallet Identity**"]:::wallet - - %% Credential flow - AI -->|Gets credentials| KC - - %% Data access flow (direct) - AI -->|Requests data with credentials| APISIX - - %% Undirected visual connection (no arrow) - AI --- WI - - %% Trust triangle (dotted lines) - TA -.-> C - TA -.-> P - C -.->|Consumer is registered into Provider| P - - %% Style for Wallet Identity box - classDef wallet fill:#dcdcdc,stroke:#a1a1a1; -``` -
Figure 2: MIAIS integration at Level 2
+
+ ![Level 2 MIAIS](img/level2_miais.png){ loading=lazy } +
Figure 2: MIAIS integration at Level 2
To illustrate the case (see Figure 2), a simple data space structure is assumed, composed of a **trust anchor, a data space connector in the provider role, and another in the role of consumer**. The data provider and the consumer are **registered in the trust anchor**, establishing a trust relationship. Moreover, the **consumer is registered in the provider's Trusted Issuer List**, which allows the consumer to issue credentials to third parties with permissions to access the provider's data.