> Η μετάφραση παρέχεται για διευκόλυνση. Κανονιστικό είναι το αγγλικό πρωτότυπο. # MMAS-Interchange - Μορφή ανταλλαγής του Μετα-Σύμπαντος (MUIF) **Προδιαγραφή του Μετα-Σύμπαντος** **Αναγνωριστικό εγγράφου:** MU-V2-ARCH-009 **Τίτλος:** Μορφή ανταλλαγής του Μετα-Σύμπαντος (MUIF) και Σημασιολογικό αποτύπωμα **Κατηγορία εγγράφου:** κανονιστικό **Έκδοση:** 2.0 (προσχέδιο) **Κατάσταση:** προσχέδιο εργασίας **Κανονιστικές αναφορές:** [MMAS-Core](../02-architecture/MMAS-Core.md), [Versioning](../02-architecture/Versioning.md), [Naming-Conventions](../02-architecture/Naming-Conventions.md), RFC 8785 (JSON Canonicalization Scheme), RFC 2119 **Πληροφοριακές αναφορές:** [Validation](../02-architecture/Validation.md), [MMAS-Package](../02-architecture/MMAS-Package.md), [Extension-Model](../02-architecture/Extension-Model.md) **Πνευματικά δικαιώματα:** © Orkestron.AI **Άδεια:** Apache-2.0 --- # 1. Σκοπός Το έγγραφο αυτό ορίζει τη **Μορφή ανταλλαγής του Μετα-Σύμπαντος (MUIF)** - την κανονική, μηχανικά αναγνώσιμη σειριοποίηση ενός μετα-μοντέλου - και τον ακριβή **αλγόριθμο κανονικοποίησης** που χρησιμοποιείται για τον υπολογισμό αναπαραγώγιμου **Σημασιολογικού αποτυπώματος**. Το MUIF είναι το συγκεκριμένο πρόσωπο του αφηρημένου μοντέλου που ορίζει το [MMAS-Core](../02-architecture/MMAS-Core.md). Είναι το θεμελιώδες τεχνούργημα από το οποίο εξαρτώνται η επικύρωση, η συσκευασία, η μετάβαση, οι προκαταρκτικοί έλεγχοι ομοσπονδίας και τα εργαλεία: χωρίς μία ενιαία κανονική μορφή, το Σημασιολογικό αποτύπωμα στο οποίο παραπέμπει όλη η προδιαγραφή δεν θα ήταν αναπαραγώγιμο ανάμεσα σε υλοποιήσεις, και οι όροι «εγγενές στην τεχνητή νοημοσύνη» και «μηχανικά αναγνώσιμο» θα παρέμεναν ισχυρισμοί αντί για γεγονότα. --- # 2. Πεδίο εφαρμογής Το έγγραφο αυτό καθορίζει: - το μοντέλο εγγράφου MUIF και τη σειριοποίησή του (JSON, με επιτρεπτό YAML), - τους ορισμούς JSON Schema για κάθε πρωτογενές στοιχείο και για το μανιφέστο, - τον διαχωρισμό **σημασιολογικού** και **μη σημασιολογικού** περιεχομένου, - τον αλγόριθμο κανονικοποίησης και το Σημασιολογικό αποτύπωμα. Δεν ορίζει τη μεταφορά (βλ. [MUFP](../03-federation/MUFP.md)) ούτε τη συσκευασία και την υπογραφή (βλ. [MMAS-Package](../02-architecture/MMAS-Package.md)). --- # 3. Το μοντέλο εγγράφου MUIF Ένα έγγραφο MUIF κωδικοποιεί την **Ιεραρχία σύνθεσης** του MMAS: ```text Meta-Model (manifest) ├── Bundles ── Layers ├── Objects ── Properties ├── Relationships ├── Events ├── Contracts └── Projections ``` Το σημείο εισόδου είναι ένα **μανιφέστο**. Κάθε πρωτογενές στοιχείο φέρει διακριτικό `muifType` (`Object`, `Relationship`, `Event`, `Contract`, `Projection`). Τα κανονιστικά σχήματα JSON (Draft 2020-12) βρίσκονται στο [`/schemas`](../schemas/): | Σχήμα | Πρωτογενές στοιχείο | |--------|-----------| | `manifest.schema.json` | Σημείο εισόδου πακέτου Μετα-Μοντέλου | | `object.schema.json` | Αντικείμενο | | `relationship.schema.json` | Σχέση | | `event.schema.json` | Γεγονός | | `contract.schema.json` | Συμβόλαιο | | `projection.schema.json` | Προβολή | | `common.schema.json` | Κοινοί ορισμοί (CSN, αναγνωριστικό, προέλευση, …) | Ένα έγγραφο MUIF ΟΦΕΙΛΕΙ να επικυρώνεται έναντι του `manifest.schema.json` (που παραπέμπει στα υπόλοιπα). --- # 4. Σειριοποίηση - Η κανονική σειριοποίηση είναι **JSON** (RFC 8259) σε UTF-8. - Το **YAML** 1.2 ΜΠΟΡΕΙ να χρησιμοποιείται για τη συγγραφή· ΟΦΕΙΛΕΙ να μετατρέπεται χωρίς απώλειες στο μοντέλο JSON. Το Σημασιολογικό αποτύπωμα ορίζεται πάνω στο μοντέλο JSON, οπότε η επιλογή JSON ή YAML ΔΕΝ ΠΡΕΠΕΙ να επηρεάζει το αποτύπωμα. - Τα αναγνωριστικά και τα κανονικά σημασιολογικά ονόματα ακολουθούν τα [Naming-Conventions](../02-architecture/Naming-Conventions.md). --- # 5. Σημασιολογικό έναντι μη σημασιολογικού περιεχομένου Το Σημασιολογικό αποτύπωμα υπολογίζεται μόνο πάνω στον **σημασιολογικό πυρήνα**. Τα ακόλουθα είναι **μη σημασιολογικά** και ΟΦΕΙΛΟΥΝ να εξαιρούνται από την κανονικοποίηση: - κλειδιά αντικειμένων: `displayName`, `description`, `documentation`, `comment`, `label`, `labels`, `ui`, `assertedAt`, `assertionTime`, `generatedAt`, `lastModified`, `fingerprint`, `examples`, `$schema`, `$comment`, - κάθε κλειδί που αρχίζει με `_` ή με `x-ui`. Αιτιολόγηση: η αλλαγή μιας ανθρώπινης ετικέτας, μιας περιγραφής, μιας χρονοσήμανσης καταγραφής ή του αυτοδηλωμένου αποτυπώματος ΔΕΝ ΠΡΕΠΕΙ να αλλάζει το νόημα ενός μοντέλου και επομένως ΔΕΝ ΠΡΕΠΕΙ να αλλάζει το αποτύπωμά του. Κάθε σχήμα σημαίνει τέτοια πεδία ως **NON-SEMANTIC** στην περιγραφή του. --- # 6. Αλγόριθμος κανονικοποίησης Δεδομένου ενός εγγράφου MUIF, η κανονική μορφή παράγεται ως εξής. 1. **Ανάλυση** του εγγράφου σε αφηρημένη τιμή (αντικείμενο / πίνακας / συμβολοσειρά / αριθμός / λογική τιμή / null). 2. **Προβολή στον σημασιολογικό πυρήνα.** Αναδρομική αφαίρεση κάθε μη σημασιολογικού κλειδιού (Ενότητα 5). Αφαίρεση κλειδιών των οποίων η τιμή είναι `null`, κενό αντικείμενο ή κενός πίνακας - το *απόν* και το *κενό* αντιμετωπίζονται ως ισοδύναμα. 3. **Κανονικοποίηση τιμών.** - Οι συμβολοσειρές ΟΦΕΙΛΟΥΝ να κανονικοποιούνται σε Unicode **NFC**. - Τα **κλειδιά αντικειμένων** ΟΦΕΙΛΟΥΝ να ταξινομούνται κατά αύξοντα κωδικό σημείο Unicode (τακτική σύγκριση). - Οι **πίνακες ΟΦΕΙΛΟΥΝ να αντιμετωπίζονται ως σύνολα**: κάθε στοιχείο κανονικοποιείται και έπειτα τα στοιχεία ταξινομούνται με τακτική σύγκριση της κανονικής τους συμβολοσειράς. (Ακολουθίες όπου η σειρά έχει σημασία δεν χρησιμοποιούνται από το βασικό μοντέλο της v1.0· μελλοντική αναθεώρηση ΜΠΟΡΕΙ να εισαγάγει ρητή σήμανση διατεταγμένου πίνακα - βλ. Μελλοντικές κατευθύνσεις.) - Οι ακέραιοι ΟΦΕΙΛΟΥΝ να εκπέμπονται στη συντομότερη δεκαδική μορφή, χωρίς μηδενικά στην αρχή και χωρίς αρχικό `+`. Οι υπόλοιποι αριθμοί ακολουθούν τη μορφοποίηση αριθμών του RFC 8785 (JSON Canonicalization Scheme). 4. **Σειριοποίηση** του κανονικοποιημένου δέντρου σε κανονικό JSON: UTF-8, ταξινομημένα κλειδιά, χωρίς ασήμαντα κενά, διαφυγή συμβολοσειρών JSON κατά RFC 8785. 5. **Κατακερματισμός.** Υπολογισμός `SHA-256` πάνω στα byte UTF-8 του κανονικού JSON. Το **Σημασιολογικό αποτύπωμα** είναι: ```text sha256: ``` Δύο έγγραφα MUIF με τον ίδιο σημασιολογικό πυρήνα ΟΦΕΙΛΟΥΝ να δίνουν το ίδιο αποτύπωμα, ανεξάρτητα από μορφή σειριοποίησης, σειρά κλειδιών, σειρά στοιχείων πίνακα-συνόλου, κενά και μη σημασιολογικά πεδία. --- # 7. Λυμένο παράδειγμα Το παράδειγμα αναφοράς [`/examples/minimal-person`](../examples/minimal-person/) περιέχει το ίδιο μοντέλο σε δύο πολύ διαφορετικές σειριοποιήσεις (`person.muif.json` και ένα σκόπιμα αναδιατεταγμένο `person.variant.json` με επιπλέον μη σημασιολογικά πεδία). Και τα δύο παράγουν το ίδιο αποτύπωμα: ```text sha256:a628b2afb96dc673f7e2f9161569e573fc70892d10a6997fad7aaa14b04a639d ``` Αυτό επαληθεύεται από το εργαλείο αναφοράς [`mu-fingerprint`](../tools/): ```text mu-fingerprint examples/minimal-person/person.muif.json mu-fingerprint examples/minimal-person/person.variant.json # → identical sha256:a628b2af...b04a639d ``` --- # 8. Συμμόρφωση Ένα έγγραφο είναι **συμμορφούμενο με το MUIF** όταν: - επικυρώνεται έναντι του `manifest.schema.json` και των σχημάτων στα οποία παραπέμπει, - κάθε πρωτογενές στοιχείο δηλώνει το `muifType`, το `id` και τα υποχρεωτικά πεδία του, - το Σημασιολογικό του αποτύπωμα, όταν αυτοδηλώνεται στο `metaModel.fingerprint`, ισούται με την τιμή που υπολογίζει ο αλγόριθμος κανονικοποίησης της Ενότητας 6. Ένα μετα-μοντέλο ΟΦΕΙΛΕΙ να είναι ανταλλάξιμο ως MUIF για να διεκδικεί συμμόρφωση MMAS στο επίπεδο **A4 Επικυρωμένο** ή ανώτερο (βλ. [MMAS-Conformance](../02-architecture/MMAS-Conformance.md)). --- # 9. Αρχιτεκτονικά αναλλοίωτα - Το Σημασιολογικό αποτύπωμα ΟΦΕΙΛΕΙ να υπολογίζεται μόνο πάνω στον σημασιολογικό πυρήνα. - Το αποτύπωμα ΟΦΕΙΛΕΙ να είναι ανεξάρτητο από σειριοποίηση, σειρά κλειδιών, σειρά συνόλων, κενά και μη σημασιολογικά πεδία. - Αλλαγή στο νόημα ΟΦΕΙΛΕΙ να αλλάζει το αποτύπωμα· αλλαγή στη μορφοποίηση ή στις ετικέτες ΔΕΝ ΠΡΕΠΕΙ. - Το `metaModel.fingerprint` ΟΦΕΙΛΕΙ να εξαιρείται από τον ίδιο του τον υπολογισμό. --- # Μελλοντικές κατευθύνσεις - **Πλήρης συμμόρφωση με το RFC 8785** για όλες τις μορφές αριθμών και σύνολο διανυσμάτων δοκιμής συμμόρφωσης για την κανονικοποίηση (τροφοδοτεί το Σύνολο σημασιολογικών δοκιμών). - **Σήμανση διατεταγμένων πινάκων** για τις σπάνιες περιπτώσεις όπου η σειρά του πίνακα έχει σημασιολογική σημασία. - **Υπογεγραμμένο MUIF / SDP**: αποσπασμένες υπογραφές πάνω στα κανονικά byte, που καθιστούν δυνατό το Σημασιολογικό πακέτο διανομής (βλ. [MMAS-Package](../02-architecture/MMAS-Package.md)). - Τυπικό **μετα-μοντέλο MMAS** (γραμματική) από το οποίο παράγονται τα σχήματα. --- # Τελική δήλωση > Ένα μοντέλο σημαίνει το ίδιο πράγμα ανεξάρτητα από το πώς γράφεται. Το MUIF το κάνει ακριβές: μία κανονική μορφή, ένα αποτύπωμα - ώστε δύο συστήματα να μπορούν να συμφωνήσουν ότι μιλούν για ακριβώς το ίδιο νόημα πριν ανταλλάξουν έστω ένα δεδομένο.