You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: DATABASE_MANAGEMENT.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -100,7 +100,7 @@ A Database-server-per-service pattern helps ensure that the services are lossely
100
100
101
101
The CIM - IEC 61850 service for example get's their own database. If another service wants to get SCD files from this service, use the API of that particular service.
102
102
103
-
### Where do we set the user privelages of Basex?
103
+
### Where do we set the user privileges of Basex?
104
104
Basex has it's own [User Management](https://docs.basex.org/wiki/User_Management).
105
105
106
106
It's pretty straight forward: Basex has Users that can be created. These users can have so-called permissions that can be applied to the user:
@@ -109,7 +109,7 @@ It's pretty straight forward: Basex has Users that can be created. These users c
109
109
In this overview, we see 'Global' permissions and 'Local' permissions.
110
110
In both permission groups, a higher permission includes all lower permissions. So a user with the 'Create' permission also has the 'Read' permission.
111
111
112
-
All permissions are stored in a file called users.xml (which can be editted manually) inside the database directory, and is being parsed once BaseX is started.
112
+
All permissions are stored in a file called users.xml (which can be edited manually) inside the database directory, and is being parsed once BaseX is started.
113
113
114
114
### How do we connect BaseX with a central identity repository/application?
115
115
BaseX doesn't have compatibility with a central identity repository (like Keycloak) out of the box available, but after discussing it with the BaseX community it's pretty comfortable to achieve this with RESTXQ or xQuery. There are examples available for making use of Keycloak:
@@ -141,7 +141,7 @@ This way it's easier to get the cause.
141
141
### W3 PROV
142
142
Provenance is information about entities, activities, and people involved in producing a piece of data or thing, which can be used to form assessments about its quality, reliability or trustworthiness. The PROV Family of Documents defines a model, corresponding serializations and other supporting definitions to enable the inter-operable interchange of provenance information in heterogeneous environments such as the Web. This document provides an overview of this family of documents. (https://www.w3.org/TR/prov-overview/#Abstract)
143
143
144
-
W3C does have a full standard for extending files with provenance information, in such a way that it's standardized and it enables the interchangable of provenance information in environments such as, in our case, XML environments. The design of PROV is based on the recommendations of the [Provenance Incubator Group](https://www.w3.org/2005/Incubator/prov/charter).
144
+
W3C does have a full standard for extending files with provenance information, in such a way that it's standardized and it enables the interchangeable of provenance information in environments such as, in our case, XML environments. The design of PROV is based on the recommendations of the [Provenance Incubator Group](https://www.w3.org/2005/Incubator/prov/charter).
145
145
146
146
### W3 PROV-XML
147
147
One of the documents of W3 PROV is PROV-XML. This document converts the PROV standard to XML definitions, and is what we want.
@@ -162,7 +162,7 @@ This is how we can interpret a edit on a XML file: as an activity.
162
162
163
163
An activity has a start- and endtime. In our case, that can be the period from opening the file to saving the file. It has a type or activity, which will most of the time be an Edit.
164
164
165
-
And a set of extra attributes can be added. In the added example, an hostname is added. In our case that's not very handy, because if CoMPAS is runned locally, the hostname doesn't say that much. What makes the most sense at this point is adding a User attribute which is linked to the future oAuth 2.0 authorisation/authentication module.
165
+
And a set of extra attributes can be added. In the added example, an hostname is added. In our case that's not very handy, because if CoMPAS is ran locally, the hostname doesn't say that much. What makes the most sense at this point is adding a User attribute which is linked to the future oAuth 2.0 authorisation/authentication module.
166
166
167
167
Example of added PROV section. The UserID attribute is a simplified attribute for identifying the entity doing the activity:
This page desribes the functional architecture of CoMPAS. CoMPAS provides software components related to IEC 61850 model implementation, specifically for power system profile management and configuration of a power system Protection Automation and Control System (PACS). It describes the logical decomposition.
10
+
This page describes the functional architecture of CoMPAS. CoMPAS provides software components related to IEC 61850 model implementation, specifically for power system profile management and configuration of a power system Protection Automation and Control System (PACS). It describes the logical decomposition.
11
11
12
12
### The IEC61850 standard
13
-
The IEC61850 series are standards and documents describing the communication protocol between different equipments in a substation. It provides services and requirements for designing and deploying substation automation. It improves power quqlity, operation cost and maintenance activities within a substation.
13
+
The IEC61850 series are standards and documents describing the communication protocol between different equipments in a substation. It provides services and requirements for designing and deploying substation automation. It improves power quality, operation cost and maintenance activities within a substation.
|**Specify IED**| With this process the Utility specifies the required IED in an ISD file. This profile is input for the manufacturer to deliver the required IED |
19
19
|**Specify Substation System**| With this process the Utility specifies the substation system in an SSD file. For example, this specification may be done based on CIM data existing with the Utility |
20
-
|**Configuration Substation System**| With this process the Utility configures the substation. This results in the SCD file. Aditional inputs for this process are the IID file (IED configuration) and SED file (interfacing with other projects) |
21
-
|**Configure IED**| The process of configuring the IED. This results in an instantiated IED IID file. The process is manufacturer specific. It results in either an ICD file or IID file. It is used to convert the SCD to a manufacturer specfic CID file to be sent to the IED |
20
+
|**Configuration Substation System**| With this process the Utility configures the substation. This results in the SCD file. Additional inputs for this process are the IID file (IED configuration) and SED file (interfacing with other projects) |
21
+
|**Configure IED**| The process of configuring the IED. This results in an instantiated IED IID file. The process is manufacturer specific. It results in either an ICD file or IID file. It is used to convert the SCD to a manufacturer specific CID file to be sent to the IED |
22
22
|**Test**| The fully configured IED can be tested against the SCD and SSD files |
23
-
|**Convert CIM/GIS to IEC61850 SLD**| CIM or GIS can te used to convert to 61850 configuration files |
23
+
|**Convert CIM/GIS to IEC61850 SLD**| CIM or GIS can be used to convert to 61850 configuration files |
24
24
25
25
Refer to the [Glossary](GLOSSARY.md) for the abbreviations and various 61850 file types.
26
26
@@ -49,7 +49,7 @@ _**More services to be added**_
49
49
### Microservice architecture
50
50
CoMPAS will consist of a number of microservices that can be used to build substation configuration tools according to IEC61850. In this situation a microservice architecture is chosen because of
51
51
* CoMPAS will provide reusable components
52
-
* The development will be open source, therefore by multiple development teams. Since microservices are loosly coupled and independent this will fit.
52
+
* The development will be open source, therefore by multiple development teams. Since microservices are loosely coupled and independent this will fit.
53
53
* Microservices are independently deployable and testable
For issue management we are using the issue tracker in Github. Issues are created in the repository where there are related to.<br/>
8
+
For issue management we are using the issue tracker in GitHub. Issues are created in the repository where there are related to.<br/>
9
9
Issues that concern the whole CoMPAS project are added as issue in the repository "compas-architecture". Later these maybe be move to the correct repository.
10
10
11
-
To get an overview of all the issues we are using the project board in Github.
11
+
To get an overview of all the issues we are using the project board in GitHub.
12
12
There are two overview board on organisation level to monitor all the issues and pull request in the different repositories.
13
13
One for the issues, CoMPAS Issues Overview Board and one for the pull requests, CoMPAS Pull Request Overview Board.
14
14
Every repository that can contain issues and pull request are linked to these two project boards.
@@ -39,8 +39,8 @@ Now we need to link the new repository to both Project Boards. Repeat the follow
39
39
Don't open the board, but under "..." (end of row) select "Settings". Next go to "Linked repositories" and link the new repository using the button "Link a repository".
40
40
the repository is now shown in the list of linked repositories.Now it's possible to also added issues and pull request to the board.
41
41
42
-
### Add Github Action
43
-
To automatically adding issues and pull request to a project board we add a github action for that.
42
+
### Add GitHub Action
43
+
To automatically adding issues and pull request to a project board we add a GitHub action for that.
44
44
In the repository create a file "automate_projects.yml" in the directory ".github/workflows" containing the following source code:
Copy file name to clipboardExpand all lines: README.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,22 +14,22 @@ This site provides the architectural description of CoMPAS. It describes the [Fu
14
14
General information about CoMPAS can be found [on the wiki at the LFE site](https://wiki.lfenergy.org/display/HOME/CoMPAS).
15
15
16
16
## Open Community Calls
17
-
We hold an open community call on the first Monday of every month (always check the calender). The start time right now is:
17
+
We hold an open community call on the first Monday of every month (always check the calendar). The start time right now is:
18
18
19
19
3:00pm - 4:00pm CET
20
20
21
-
If you wish to participate, please join the [CoMPAS mailing list](https://lists.lfenergy.org/g/CoMPAS). Or contact us in the slack #compas channel on (public/LFEnergy-slack.svg)](http://lfenergy.slack.com/)/
21
+
If you wish to participate, please join the [CoMPAS mailing list](https://lists.lfenergy.org/g/CoMPAS). Or contact us in the slack #compas channel on [publicLFEnergyslack](http://lfenergy.slack.com/)/
22
22
23
23
The schedule for the next calls can be found in the mailing list [calendar](https://lists.lfenergy.org/g/CoMPAS/calendar).
24
24
If you want to subscribe and stay up to date about upcoming events, consider subscribing to the [CoMPAS mailing list](https://lists.lfenergy.org/g/CoMPAS).
25
25
26
26
## Contributing
27
27
Interested in contributing? Please read carefully the [CONTRIBUTING guidelines](https://com-pas.github.io/contributing/).
28
28
29
-
## Github Pages
30
-
This site is provided as a [github pages site](https://com-pas.github.io/compas-architecture/).
31
-
The content is maintained and edited on [Github](https://github.com/com-pas/compas-architecture).
32
-
Contributors are only allowed to contribute by editing the content on Github and must do so by presenting their modifications as *pull-request* to the community.
29
+
## GitHub Pages
30
+
This site is provided as a [gitHub pages site](https://com-pas.github.io/compas-architecture/).
31
+
The content is maintained and edited on [GitHub](https://github.com/com-pas/compas-architecture).
32
+
Contributors are only allowed to contribute by editing the content on GitHub and must do so by presenting their modifications as *pull-request* to the community.
33
33
The diagrams on this page are created using [DrawIO](https://github.com/jgraph/drawio-desktop/releases)
34
34
and follow [Unified Modeling Language (UML)](https://www.omg.org/spec/UML/).
35
35
The drawIO design file is available on this site: [/blob-files/CoMPAS.drawio](blob-files/CoMPAS.drawio).
Copy file name to clipboardExpand all lines: TECHNOLOGY.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,7 +25,7 @@ Microservices are deployed as Linux based Docker container. Advantages of deploy
25
25
26
26
- Deployment is independent of deployment platform/OS
27
27
- Well supported for cloud deployment
28
-
- Tooling readily availabe
28
+
- Tooling readily available
29
29
- Open source
30
30
- Scalable, redundant
31
31
- Images can be distributed easily
@@ -140,17 +140,17 @@ Because CoMPAS is an application which also should run locally, memory usage is
140
140
- Relatively new technology, framework could contain some "rookie mistakes". On the other hand, multiple researches are stating the maturity of the framework it achieved in this short time.
141
141
- Not many developers are acquainted with Quarkus compared to e.g. the [Spring framework](https://spring.io/).
142
142
143
-
## Source control - Github
144
-
We choose github for source control. This is good practice for open source development.
143
+
## Source control - GitHub
144
+
We choose GitHub for source control. This is good practice for open source development.
145
145
The CoMPAS repositories can be found at [https://github.com/com-pas/](https://github.com/com-pas/)
146
146
147
-
## CI/CD - Github actions
148
-
We choose [Github Actions](https://github.com/features/actions) as mechanism for CI/CD.
147
+
## CI/CD - GitHub actions
148
+
We choose [GitHub Actions](https://github.com/features/actions) as mechanism for CI/CD.
149
149
150
150
**Pros**
151
151
- Upcoming tool, really active in developing
152
-
- Free tool for public Github repositories (which CoMPAS is)
153
-
- Integrates perfectly with Github repositories
152
+
- Free tool for public GitHub repositories (which CoMPAS is)
153
+
- Integrates perfectly with GitHub repositories
154
154
155
155
**Cons**
156
156
- Software is proprietary
@@ -159,8 +159,8 @@ We choose [Github Actions](https://github.com/features/actions) as mechanism for
159
159
160
160
161
161
# Tool advise
162
-
This section lists the development tooling that is *advised*. Of course developers are free to use their own developement tooling
162
+
This section lists the development tooling that is *advised*. Of course developers are free to use their own development tooling
163
163
164
164
## SDE - Microsoft Visual Studio Code
165
-
[Microsoft Visual Studio Code](https://code.visualstudio.com/) is a versatile develpment environment supporting many languages.
165
+
[Microsoft Visual Studio Code](https://code.visualstudio.com/) is a versatile development environment supporting many languages.
Copy file name to clipboardExpand all lines: technical/TECHNICAL_ARCHITECTURE.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,15 +18,15 @@ The diagram above shows the deployment view. Blue components are within scope of
18
18
19
19
The result of the CI/CD is a **Container Image** in the Docker Registry. A **Container Image** contains one **CoMPAS microservice**. More than one CoMPAS microservice may be present in the image only if they are closely related and should be deployed and scaled together.
20
20
21
-
As part of the CI/CD proces a security scan is performed on the source code. The **Container Image**s must be signed and are the formal deliveries of the CoMPAS project.
21
+
As part of the CI/CD process a security scan is performed on the source code. The **Container Image**s must be signed and are the formal deliveries of the CoMPAS project.
22
22
23
-
In the deployment proces the **Container image** is deployed together with its dependencies (for example a database) in an **Application**. This deployment takes place using *Docker Compose*. For this a **docker compose yaml** file is supplied that deploys the application using Docker Compose.
23
+
In the deployment process the **Container image** is deployed together with its dependencies (for example a database) in an **Application**. This deployment takes place using *Docker Compose*. For this a **docker compose yaml** file is supplied that deploys the application using Docker Compose.
24
24
25
25
Generally speaking, it is a good idea to deploy one thing per container. Reasons:
26
26
* Independent scaling: APIs scale differently than databases
27
27
* Independent update: update in isolation
28
28
* Supports different environments: a containerized database locally while managed service in production
29
-
* No need for a process magager
29
+
* No need for a process manager
30
30
31
31
32
32
Third party microservices can be incorporated in an end user application or can be required for CoMPAS microservices,
@@ -38,7 +38,7 @@ Deployment is done by the users of CoMPAS and out of scope for the project.
38
38
Below describes the current deployment view of the CoMPAS containers that are available.
39
39
This view will be updated during time to add the new components that are build.
0 commit comments