215 lines
7.2 KiB
JSON
215 lines
7.2 KiB
JSON
|
|
{
|
||
|
|
"schemaVersion": "0.1",
|
||
|
|
"dataspace": {
|
||
|
|
"id": "software-architecture",
|
||
|
|
"title": "Software Architecture",
|
||
|
|
"description": "A small illustrative collection of patterns and ideas in software design"
|
||
|
|
},
|
||
|
|
"kinds": [
|
||
|
|
{
|
||
|
|
"id": "concept",
|
||
|
|
"label": "Concept",
|
||
|
|
"plural": "Concepts"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"id": "pattern",
|
||
|
|
"label": "Pattern",
|
||
|
|
"plural": "Patterns"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"id": "person",
|
||
|
|
"label": "Person",
|
||
|
|
"plural": "Persons"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"id": "artifact",
|
||
|
|
"label": "Artifact",
|
||
|
|
"plural": "Artifacts"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"sources": [
|
||
|
|
{
|
||
|
|
"id": "src:software-architecture:authored-demo",
|
||
|
|
"uri": "https://example.invalid/content-explorer/software-architecture/fixture",
|
||
|
|
"title": "Original illustrative demo fixture written for content-explorer",
|
||
|
|
"license": "CC0-1.0",
|
||
|
|
"attribution": "Content Explorer demo authors; fictional source URI is a fixture placeholder"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"entities": [
|
||
|
|
{
|
||
|
|
"id": "urn:ce:software-architecture:concept:coupling",
|
||
|
|
"kindId": "concept",
|
||
|
|
"title": "Coupling",
|
||
|
|
"tldr": "The degree to which software elements depend on one another.",
|
||
|
|
"summary": "The degree to which software elements depend on one another. This fixture is illustrative and does not constitute a sourced scholarly claim.",
|
||
|
|
"tags": [],
|
||
|
|
"sourceRefs": [
|
||
|
|
"src:software-architecture:authored-demo"
|
||
|
|
],
|
||
|
|
"asOf": "2026-10-12"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"id": "urn:ce:software-architecture:concept:cohesion",
|
||
|
|
"kindId": "concept",
|
||
|
|
"title": "Cohesion",
|
||
|
|
"tldr": "The degree to which a module groups related responsibilities.",
|
||
|
|
"summary": "The degree to which a module groups related responsibilities. This fixture is illustrative and does not constitute a sourced scholarly claim.",
|
||
|
|
"tags": [],
|
||
|
|
"sourceRefs": [
|
||
|
|
"src:software-architecture:authored-demo"
|
||
|
|
],
|
||
|
|
"asOf": "2026-10-12"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"id": "urn:ce:software-architecture:concept:interface",
|
||
|
|
"kindId": "concept",
|
||
|
|
"title": "Interface contract",
|
||
|
|
"tldr": "An agreed description of interaction between components.",
|
||
|
|
"summary": "An agreed description of interaction between components. This fixture is illustrative and does not constitute a sourced scholarly claim.",
|
||
|
|
"tags": [],
|
||
|
|
"sourceRefs": [
|
||
|
|
"src:software-architecture:authored-demo"
|
||
|
|
],
|
||
|
|
"asOf": "2026-10-12"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"id": "urn:ce:software-architecture:pattern:adapter",
|
||
|
|
"kindId": "pattern",
|
||
|
|
"title": "Adapter pattern",
|
||
|
|
"tldr": "An adapter translates between interfaces.",
|
||
|
|
"summary": "An adapter translates between interfaces. This fixture is illustrative and does not constitute a sourced scholarly claim.",
|
||
|
|
"tags": [],
|
||
|
|
"sourceRefs": [
|
||
|
|
"src:software-architecture:authored-demo"
|
||
|
|
],
|
||
|
|
"asOf": "2026-10-12"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"id": "urn:ce:software-architecture:pattern:ports-adapters",
|
||
|
|
"kindId": "pattern",
|
||
|
|
"title": "Ports and adapters",
|
||
|
|
"tldr": "A pattern for isolating core logic from outside systems.",
|
||
|
|
"summary": "A pattern for isolating core logic from outside systems. This fixture is illustrative and does not constitute a sourced scholarly claim.",
|
||
|
|
"tags": [],
|
||
|
|
"sourceRefs": [
|
||
|
|
"src:software-architecture:authored-demo"
|
||
|
|
],
|
||
|
|
"asOf": "2026-10-12"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"id": "urn:ce:software-architecture:pattern:event-driven",
|
||
|
|
"kindId": "pattern",
|
||
|
|
"title": "Event-driven architecture",
|
||
|
|
"tldr": "Software components communicate through events.",
|
||
|
|
"summary": "Software components communicate through events. This fixture is illustrative and does not constitute a sourced scholarly claim.",
|
||
|
|
"tags": [],
|
||
|
|
"sourceRefs": [
|
||
|
|
"src:software-architecture:authored-demo"
|
||
|
|
],
|
||
|
|
"asOf": "2026-10-12"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"id": "urn:ce:software-architecture:person:alexander",
|
||
|
|
"kindId": "person",
|
||
|
|
"title": "Christopher Alexander",
|
||
|
|
"tldr": "Architect whose pattern-language ideas influenced software design.",
|
||
|
|
"summary": "Architect whose pattern-language ideas influenced software design. This fixture is illustrative and does not constitute a sourced scholarly claim.",
|
||
|
|
"tags": [],
|
||
|
|
"sourceRefs": [
|
||
|
|
"src:software-architecture:authored-demo"
|
||
|
|
],
|
||
|
|
"asOf": "2026-10-12"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"id": "urn:ce:software-architecture:artifact:adr",
|
||
|
|
"kindId": "artifact",
|
||
|
|
"title": "Architecture Decision Record",
|
||
|
|
"tldr": "A lightweight record of architectural decisions and rationale.",
|
||
|
|
"summary": "A lightweight record of architectural decisions and rationale. This fixture is illustrative and does not constitute a sourced scholarly claim.",
|
||
|
|
"tags": [],
|
||
|
|
"sourceRefs": [
|
||
|
|
"src:software-architecture:authored-demo"
|
||
|
|
],
|
||
|
|
"asOf": "2026-10-12"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"id": "urn:ce:software-architecture:artifact:c4",
|
||
|
|
"kindId": "artifact",
|
||
|
|
"title": "C4 model diagram",
|
||
|
|
"tldr": "A set of views for communicating software architecture.",
|
||
|
|
"summary": "A set of views for communicating software architecture. This fixture is illustrative and does not constitute a sourced scholarly claim.",
|
||
|
|
"tags": [],
|
||
|
|
"sourceRefs": [
|
||
|
|
"src:software-architecture:authored-demo"
|
||
|
|
],
|
||
|
|
"asOf": "2026-10-12"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"relations": [
|
||
|
|
{
|
||
|
|
"id": "r1",
|
||
|
|
"predicate": "adapts",
|
||
|
|
"from": "urn:ce:software-architecture:pattern:adapter",
|
||
|
|
"to": "urn:ce:software-architecture:concept:interface",
|
||
|
|
"sourceRefs": [
|
||
|
|
"src:software-architecture:authored-demo"
|
||
|
|
]
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"id": "r2",
|
||
|
|
"predicate": "uses",
|
||
|
|
"from": "urn:ce:software-architecture:pattern:ports-adapters",
|
||
|
|
"to": "urn:ce:software-architecture:concept:interface",
|
||
|
|
"sourceRefs": [
|
||
|
|
"src:software-architecture:authored-demo"
|
||
|
|
]
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"id": "r3",
|
||
|
|
"predicate": "addressed-by",
|
||
|
|
"from": "urn:ce:software-architecture:concept:coupling",
|
||
|
|
"to": "urn:ce:software-architecture:pattern:ports-adapters",
|
||
|
|
"sourceRefs": [
|
||
|
|
"src:software-architecture:authored-demo"
|
||
|
|
]
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"id": "r4",
|
||
|
|
"predicate": "related-to",
|
||
|
|
"from": "urn:ce:software-architecture:concept:cohesion",
|
||
|
|
"to": "urn:ce:software-architecture:concept:coupling",
|
||
|
|
"sourceRefs": [
|
||
|
|
"src:software-architecture:authored-demo"
|
||
|
|
]
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"id": "r5",
|
||
|
|
"predicate": "documents",
|
||
|
|
"from": "urn:ce:software-architecture:artifact:adr",
|
||
|
|
"to": "urn:ce:software-architecture:pattern:ports-adapters",
|
||
|
|
"sourceRefs": [
|
||
|
|
"src:software-architecture:authored-demo"
|
||
|
|
]
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"id": "r6",
|
||
|
|
"predicate": "visualizes",
|
||
|
|
"from": "urn:ce:software-architecture:artifact:c4",
|
||
|
|
"to": "urn:ce:software-architecture:concept:interface",
|
||
|
|
"sourceRefs": [
|
||
|
|
"src:software-architecture:authored-demo"
|
||
|
|
]
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"id": "r7",
|
||
|
|
"predicate": "affects",
|
||
|
|
"from": "urn:ce:software-architecture:pattern:event-driven",
|
||
|
|
"to": "urn:ce:software-architecture:concept:coupling",
|
||
|
|
"sourceRefs": [
|
||
|
|
"src:software-architecture:authored-demo"
|
||
|
|
]
|
||
|
|
}
|
||
|
|
]
|
||
|
|
}
|