Metal Plating Models

Having looked at the variegated and vitalizing challenges of modeling, it is time to explore our approaches to solve them.

Metals - A Meta Programming Library for Modeling Composable Systems

Metals is a meta programming library that extends the existing programming environments to provide powerful modeling and schema management capabilities.

At a very high level, Metals provides the following:

  • A meta model: At the core of Metals is a composable model definition language that is easy to use, effective to communicate and mathematically accurate at the same time.
  • Programming Language Extensions: In order to build models using the standard programming tools and making them executable (able to convert them to working applications), Metals extends programming languages such as Rust, Typescript and Python. It is our goal to support as many of the popular programming languages as possible by making this process easy and by working with respective programming language communities.
  • A Schema Repository - Schemer: A repository to store and retrieve meta models.
  • Schema Federation - Xborder (pronounced cross-border): Ability to import and integrate models from external schemas sources such as GraphQL as well as to export schema from programs to repository.
  • A Runtime - Aprun (/ˈeɪ.prən/ pronounced like apron): The runtime guarantees interoperability of models across distributed, heterogeneous environments.

We will revisit our toy example and see how we can metal plate our problems in the coming sections. Please refer to the modeling guide for detailed model development and the reference for technical and mathematical details behind Metals.

THIS SECTION IS STILL WORK IN PROGRESS

Copyright 2022 Weavers @ Eternal Loom. All rights reserved.