Skip to content

The Metadata System is an internal domain-specific language to map requirements to code.

Notifications You must be signed in to change notification settings

Apodini/MetadataSystem

Repository files navigation

Metadata System

Build codecov

The Metadata System introduces an internal domain-specific language for mapping requirements into the implementation.

MetadataDefinitions are declared inside Metadata Declaration Blocks, mapping information which is required for the realization and enforcement of a requirement into the implementation.

This package can be used to integrate the metadata declaration language into your own system.

Integration

The Metadata System uses the Swift Package Manager for dependency management.

Add it to your project's list of dependencies and to the list of dependencies of your target:

dependencies: [
    .package(url: "https://github.com/Apodini/MetadataSystem.git", from: "X.X.X")
],

targets: [
    .target(
        name: "Your Target",
        dependencies: [
            .product(name: "MetadataSystem", "MetadataSystem")
        ]
    )
]

Usage

Have a look at the ExampleMetadataSystem target which implements an exemplary system building upon the Metadata System. Further, MetadataSystemTests.swift shows how this example metadata system might be used.

Contributing

Contributions to this project are welcome. Please make sure to read the contribution guidelines and the contributor covenant code of conduct first.

License

This project is licensed under the MIT License. See License for more information.

About

The Metadata System is an internal domain-specific language to map requirements to code.

Resources

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages