aboutsummaryrefslogtreecommitdiffstats
path: root/docs/modeling.rst
diff options
context:
space:
mode:
authorRuslan Kashapov <ruslan.kashapov@pantheon.tech>2021-03-02 16:48:41 +0200
committerRuslan Kashapov <ruslan.kashapov@pantheon.tech>2021-03-16 17:26:10 +0200
commit55dc654964942aa67c48f09b0ba56059be8e923b (patch)
treef5191e02b3a29335b541480894dc87863e18ad95 /docs/modeling.rst
parent344434b68c2418c6e901e7acab02886be6e6b1cb (diff)
Docs: overview, architecture, design, modeling
Issue-ID: CPS-268 Change-Id: I31480a9a6186af0ddedae4f0eca06a744a2e2d64 Signed-off-by: Ruslan Kashapov <ruslan.kashapov@pantheon.tech>
Diffstat (limited to 'docs/modeling.rst')
-rw-r--r--docs/modeling.rst47
1 files changed, 47 insertions, 0 deletions
diff --git a/docs/modeling.rst b/docs/modeling.rst
new file mode 100644
index 0000000000..74ee8ec86a
--- /dev/null
+++ b/docs/modeling.rst
@@ -0,0 +1,47 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. Copyright (C) 2021 Pantheon.tech
+.. _modeling:
+
+CPS Modeling
+############
+
+.. toctree::
+ :maxdepth: 1
+
+Basic Concepts
+==============
+
+.. image:: _static/cps-modeling-concepts.png
+ :alt: Basic entities relationship
+
+Administrative entities
+
+- **Dataspace** is a primary logical separation of data.
+
+ Any application can define its own dataspace to store the model(s) and data it owns.
+ Dataspace is uniquely identified by it's name.
+
+- **Schema Set** describes a data model(s).
+
+ Schema Set holds reference(s) to single or multiple YANG modules. Schema Set belongs to dataspace
+ and uniquely identified by its name (within its own dataspace). Same YANG resources (source files) can be
+ referenced by multiple schema sets from different dataspaces.
+
+- **Anchor** identifies the unique data set (data record) within a dataspace
+
+ Anchor always references a schema set within same dataspace which describes a data model of associated data.
+ Multiple anchors may reference same schema set. Anchor is uniquely identified by its name (within own dataspace).
+
+Data
+
+- **Data Node** represents a data fragment.
+
+ Each data node can have zero or more descendants and together they form a data instance tree.
+ The data node tree belongs to an anchor.
+
+ Data node is representing a data fragment described in a YANG model as a *container* and/or a *list*.
+ The data described as a *leaf* and/or a *leaf-list* are stored within a parent data node.
+
+ The data node position within a tree is uniquely identified by the node's unique **xpath** which can be used
+ for partial data query.