blob: 22c4b0ba3271cf9e0d42f7ce9d70924c80b0ce66 [file] [log] [blame]
Ruslan Kashapov55dc6542021-03-02 16:48:41 +02001.. This work is licensed under a Creative Commons Attribution 4.0 International License.
2.. http://creativecommons.org/licenses/by/4.0
3.. Copyright (C) 2021 Pantheon.tech
4.. _modeling:
5
6CPS Modeling
7############
8
shivasubedi44beaa32021-09-13 15:16:30 +01009.. warning:: draft
10
Ruslan Kashapov55dc6542021-03-02 16:48:41 +020011.. toctree::
12 :maxdepth: 1
13
14Basic Concepts
15==============
16
17.. image:: _static/cps-modeling-concepts.png
18 :alt: Basic entities relationship
19
20Administrative entities
21
22- **Dataspace** is a primary logical separation of data.
23
24 Any application can define its own dataspace to store the model(s) and data it owns.
25 Dataspace is uniquely identified by it's name.
26
27- **Schema Set** describes a data model(s).
28
29 Schema Set holds reference(s) to single or multiple YANG modules. Schema Set belongs to dataspace
30 and uniquely identified by its name (within its own dataspace). Same YANG resources (source files) can be
31 referenced by multiple schema sets from different dataspaces.
32
33- **Anchor** identifies the unique data set (data record) within a dataspace
34
35 Anchor always references a schema set within same dataspace which describes a data model of associated data.
36 Multiple anchors may reference same schema set. Anchor is uniquely identified by its name (within own dataspace).
37
38Data
39
40- **Data Node** represents a data fragment.
41
42 Each data node can have zero or more descendants and together they form a data instance tree.
43 The data node tree belongs to an anchor.
44
45 Data node is representing a data fragment described in a YANG model as a *container* and/or a *list*.
46 The data described as a *leaf* and/or a *leaf-list* are stored within a parent data node.
47
48 The data node position within a tree is uniquely identified by the node's unique **xpath** which can be used
49 for partial data query.
ToineSiebelink98c07872021-04-20 17:33:09 +010050
51Querying
52
lukegleeson209c3852021-09-28 16:07:25 +010053- **CPS Path** is used to query data nodes. The CPS Path is described in detail in the :doc:`cps-path` sub-page.
54
55CPS Path
56========
57
58.. toctree::
59 :maxdepth: 1
60
61 cps-path.rst
62