Skip to content

Commit

Permalink
Release/2.0.1 (#95)
Browse files Browse the repository at this point in the history
* Master (#71)

* v1.9.0 (#46)

* Delete .npmrc

* remove .npmrc from dockerfiles

Signed-off-by: Markus Graube <[email protected]>

* a long journey from Frankfurt

Signed-off-by: Markus Graube <[email protected]>

* more tests and lintings

Signed-off-by: Markus Graube <[email protected]>

* refactoring: linting

Signed-off-by: Markus Graube <[email protected]>

* refactoring: linting

Signed-off-by: Markus Graube <[email protected]>

* Linting DataAssemblies

Signed-off-by: Markus Graube <[email protected]>

* Linting Module.ts

Signed-off-by: Markus Graube <[email protected]>

* split condition into multiple files

Signed-off-by: Markus Graube <[email protected]>

* reformat Module.ts

Signed-off-by: Markus Graube <[email protected]>

* add codecov

Signed-off-by: Markus Graube <[email protected]>

* Revert: add codecov

Signed-off-by: Markus Graube <[email protected]>

* lint index.ts

Signed-off-by: Markus Graube <[email protected]>

* continue linting

Signed-off-by: Markus Graube <[email protected]>

* reorder stuff in RecipeRun

Signed-off-by: Markus Graube <[email protected]>

* Add setOperationMode to setting parameters

Signed-off-by: Markus Graube <[email protected]>

* correct casting of strategy id

Signed-off-by: Markus Graube <[email protected]>

* fix circular json

Signed-off-by: Markus Graube <[email protected]>

* fix options.json()

Signed-off-by: Markus Graube <[email protected]>

* Greenkeeper/node opcua 0.7.4 (#11)

* chore(package): update node-opcua to version 0.7.4

* chore(package): update lockfile package-lock.json

* use advanced version of typedoc-plantuml with UML class diagrams in typedoc (#9)

Signed-off-by: Markus Graube <[email protected]>

* Feature/puml documentation (#10)

* add documentation

Signed-off-by: Markus Graube <[email protected]>

* add UML diagrams

Signed-off-by: Markus Graube <[email protected]>

* Greenkeeper/@types/node 12.0.10 (#12)

* chore(package): update @types/node to version 12.0.10

* chore(package): update lockfile package-lock.json

* fix petrinet diagrams

Signed-off-by: Markus Graube <[email protected]>

* Update command-line-usage to the latest version 🚀 (#13)

* fix(package): update command-line-usage to version 6.0.0

* chore(package): update lockfile package-lock.json

* update uml diagrams

Signed-off-by: Markus Graube <[email protected]>

* lint Manager.ts

Signed-off-by: Markus Graube <[email protected]>

* remove 'rm' from package.json scripts

Signed-off-by: Markus Graube <[email protected]>

* update polaris-interface to 1.25.0

Signed-off-by: Markus Graube <[email protected]>

* Feature/code cov (#16)

* add codecov

Signed-off-by: Markus Graube <[email protected]>

* use npm version on nyc

Signed-off-by: Markus Graube <[email protected]>

* try secret token

Signed-off-by: Markus Graube <[email protected]>

* other version of token

Signed-off-by: Markus Graube <[email protected]>

* add badge

Signed-off-by: Markus Graube <[email protected]>

* sign drone.yml

Signed-off-by: Markus Graube <[email protected]>

* remove debugging flag

Signed-off-by: Markus Graube <[email protected]>

* use options from polaris-interface

Signed-off-by: Markus Graube <[email protected]>

* remove nodemon

Signed-off-by: Markus Graube <[email protected]>

* Greenkeeper/@types/node 12.6.1 (#17)

* chore(package): update @types/node to version 12.6.1

* chore(package): update lockfile package-lock.json

* sign done.yml

Signed-off-by: Markus Graube <[email protected]>

* WIP: VirtualServices (#15)

* first version of virtualservice
* timer
* storage
* pid controller
* aggregatedservice

* handle lint warnings

Signed-off-by: Markus Graube <[email protected]>

(cherry picked from commit d5b7a78)
Signed-off-by: Markus Graube <[email protected]>

* add tests for module router

Signed-off-by: Markus Graube <[email protected]>

* move uml diagram

Signed-off-by: Markus Graube <[email protected]>

* Update node-opcua to the latest version 🚀 (#18)

* fix(package): update node-opcua to version 2.1.0

* chore(package): update lockfile package-lock.json

* fix API changes of node-opcua

Signed-off-by: Markus Graube <[email protected]>

* fix lint warnings

Signed-off-by: Markus Graube <[email protected]>

* more time for test

Signed-off-by: Markus Graube <[email protected]>

* fix test shutdown

Signed-off-by: Markus Graube <[email protected]>

* Bump lodash from 4.17.11 to 4.17.14 (#19)

Bumps [lodash](https://github.com/lodash/lodash) from 4.17.11 to 4.17.14.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](lodash/lodash@4.17.11...4.17.14)

Signed-off-by: dependabot[bot] <[email protected]>

* repair command line usage and document the test server

Signed-off-by: Markus Graube <[email protected]>

* Update issue templates

* add logging for removing a module

Signed-off-by: Markus Graube <[email protected]>

* harden module connection

Signed-off-by: Markus Graube <[email protected]>

* unskip test for not existing endpoint and provide more precise test name

Signed-off-by: Markus Graube <[email protected]>

* make tests more aggresive

Signed-off-by: Markus Graube <[email protected]>

* Update typedoc to the latest version 🚀 (#22)

* chore(package): update typedoc to version 0.15.0

* chore(package): update lockfile package-lock.json

* update node opcua to 2.1.5 (#28)

* chore(package): update node-opcua to version 2.1.5

* chore(package): update lockfile package-lock.json

* add logging for removing a module

Signed-off-by: Markus Graube <[email protected]>

* harden module connection

Signed-off-by: Markus Graube <[email protected]>

* unskip test for not existing endpoint and provide more precise test name

Signed-off-by: Markus Graube <[email protected]>

* make tests more aggresive

Signed-off-by: Markus Graube <[email protected]>

* Add dockerfile for test pea, drone script and update readme (#29)

* Add dockerfile for test pea, drone script and update readme

Signed-off-by: Markus Graube <[email protected]>

* sign drone file

Signed-off-by: Markus Graube <[email protected]>

* Advanced module test server (#32)

* advance ModulTestServer

* create abstract Variable class and reuse functionality for NumericVariable
  and StringVaribale
* add StatusCode for setting OPC UA values
* add some more types

Signed-off-by: Markus Graube <[email protected]>

* adapt tests to changes in ModuleTestServer

Signed-off-by: Markus Graube <[email protected]>

* correct HTTP status code for missing module

Signed-off-by: Markus Graube <[email protected]>

* add missing statuscode for Strategy variable

Signed-off-by: Markus Graube <[email protected]>

* [CodeFactor] Apply fixes

* fix tests

Signed-off-by: Markus Graube <[email protected]>

* Bump assign-deep from 1.0.0 to 1.0.1 (#33)

Bumps [assign-deep](https://github.com/jonschlinkert/assign-deep) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/jonschlinkert/assign-deep/releases)
- [Commits](https://github.com/jonschlinkert/assign-deep/commits/1.0.1)

Signed-off-by: dependabot[bot] <[email protected]>

* Data Assemblies constructed with mixins

Signed-off-by: Markus Graube <[email protected]>

* change MTP files to new names

Signed-off-by: Markus Graube <[email protected]>

* new structure

Signed-off-by: Markus Graube <[email protected]>

* add logging category for data assembly

Signed-off-by: Markus Graube <[email protected]>

* tidy up data assemblies

Signed-off-by: Markus Graube <[email protected]>

* a lot of work

Signed-off-by: Markus Graube <[email protected]>

* clean up packages

Signed-off-by: Markus Graube <[email protected]>

* make listenToOpcUaNode async

* resolves when subscription is ready
* not necessary to wait for first event 'changed'

Signed-off-by: Markus Graube <[email protected]>

* make tests working again

Signed-off-by: Markus Graube <[email protected]>

* update packages

Signed-off-by: Markus Graube <[email protected]>

* Update README.md

* Update README.md

* wait in test until specific change has been arrived

Signed-off-by: Markus Graube <[email protected]>

* update package-lock.json

Signed-off-by: Markus Graube <[email protected]>

* split mixins in different files

Signed-off-by: Markus Graube <[email protected]>

* restructure ScopeItem

Signed-off-by: Markus Graube <[email protected]>

* refactoring

Signed-off-by: Markus Graube <[email protected]>

* refactoring: extract fix reactor for achema demonstrator

Signed-off-by: Markus Graube <[email protected]>

* advance tests

Signed-off-by: Markus Graube <[email protected]>

* refactoring

* extract opcuaconnection from module
* rename methods according to dataitems

Signed-off-by: Markus Graube <[email protected]>

* refactoring

Signed-off-by: Markus Graube <[email protected]>

* let tests run smoothly

Signed-off-by: Markus Graube <[email protected]>

* fix condition tests

Signed-off-by: Markus Graube <[email protected]>

* reduce error logging

Signed-off-by: Markus Graube <[email protected]>

* Refactoring (#36)

* reduce error logging

Signed-off-by: Markus Graube <[email protected]>

* refactoring

Signed-off-by: Markus Graube <[email protected]>

* fix test

Signed-off-by: Markus Graube <[email protected]>

* add ServiceControl for DataAssemblyFactory

Signed-off-by: Markus Graube <[email protected]>

* further tests

Signed-off-by: Markus Graube <[email protected]>

* fix test

Signed-off-by: Markus Graube <[email protected]>

* work more

Signed-off-by: Markus Graube <[email protected]>

* fix codefactor issues

Signed-off-by: Markus Graube <[email protected]>

* add username & password authentication for OPC UA connection (#38)

Signed-off-by: Markus Graube <[email protected]>

* Feature/unsubscribe (#40)

* extend logging in notifyclients

Signed-off-by: Markus Graube <[email protected]>

* add logging when module is disconnected

Signed-off-by: Markus Graube <[email protected]>

* add unsubscribe for dataassemblies

Signed-off-by: Markus Graube <[email protected]>

* Add files via upload

* fix reactor fix

Signed-off-by: Markus Graube <[email protected]>

* restructure MTPs in assets

Signed-off-by: Markus Graube <[email protected]>

* fix file names in tests

Signed-off-by: Markus Graube <[email protected]>

* Greenkeeper/expr eval 2.0.1 (#43)

* fix(package): update expr-eval to version 2.0.1

Closes #39
* chore(package): update lockfile package-lock.json

* Greenkeeper/@types/node 12.7.5 (#44)

* chore(package): update @types/node to version 12.7.5

* chore(package): update lockfile package-lock.json

closes #42

* Update package.json (#45)

* Fix/src int act (#52)

* fix srcIntAct vs srcExtAct
* update to 1.9.1
* fix testserver
* fix opModeTojson

Signed-off-by: Markus Graube <[email protected]>

* chore: npm audit fix (#73)

* fix: allow instantiation of aggregated services via manager (#76)

* test(virtualService): add test
* fix #75
* empty virtual service array as default parameter
* Add notification about newly instantiated virtual service
* fix order of changing and notifying
* unify json methods of Service and VirtualService

* feature: prepare recipe and aggregated service for virtual services (#77)

* prepare Operation to execute VirtualService
* remove unused method executeCommandWithStrategyAndParameter
* prepare statecondition for virtualservices

* Greenkeeper/@types/node 12.11.2 (#79)

* chore(package): update @types/node to version 12.11.2

* chore(package): update lockfile package-lock.json

* feat: remove automaticMode (#80)

* POL has to use external access -> automaticMode is always false

* feat: add WritableOpmode (#78)

* feat: add WritableOpmode
* refactor: notification in manager

* refactor: restructure logging directories and server middleware (#83)

Signed-off-by: Markus Graube <[email protected]>

* Chore/update packages (#82)

* chore: add emtpy line at end of file

Signed-off-by: Markus Graube <[email protected]>

* chore: update packages

Signed-off-by: Markus Graube <[email protected]>

* chore: update tslint

Signed-off-by: Markus Graube <[email protected]>

* chore: update command-line-usage

Signed-off-by: Markus Graube <[email protected]>

* chore: update further packages

Signed-off-by: Markus Graube <[email protected]>

* adapt to new node-opc exports

Signed-off-by: Markus Graube <[email protected]>

* Delete cif.integration.ts (#84)

* feature: add backwards compatibilty for dataassemblies (#85)

* chore: remove empty directory

* feature: add backwards compatibilty for dataassemblies

- allow also old data item names

* remove obsolete test

* add documentation (#91)

* Update README.md (#90)

* Update componentdiagram.puml (#93)

* Greenkeeper/node opcua 2.2.0 (#89)

* chore(package): update node-opcua to version 2.2.0

* chore(package): update lockfile package-lock.json

* update node-opcua and fix test

* Update Readme.md (#94)

* bump version number
  • Loading branch information
markusgraube authored Oct 29, 2019
1 parent 2d45c16 commit 8f34c6c
Show file tree
Hide file tree
Showing 89 changed files with 1,836 additions and 2,331 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ A HTML user interface for this project is provided via the [polaris-frontend](ht
[![codecov](https://codecov.io/gh/p2o-lab/polaris-backend/branch/develop/graph/badge.svg)](https://codecov.io/gh/p2o-lab/polaris-backend)


![Polaris component diagram](http://www.plantuml.com/plantuml/proxy?src=https://raw.githubusercontent.com/p2o-lab/polaris-backend/develop/doc/componentdiagram.puml)

## Installation and Deployment
### Dependencies
All dependencies are installed via NPM
Expand Down
2 changes: 1 addition & 1 deletion bin/polaris-backend
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/usr/bin/env node

require("../build/src/index");
require("../build/src/index");
28 changes: 16 additions & 12 deletions doc/componentdiagram.puml
Original file line number Diff line number Diff line change
@@ -1,31 +1,35 @@
@startuml
skinparam monochrome true

package "Module (PEA)" {
[Services] -- [OPC UA Server]
package "Module (PEA)" as PEA {
[Services] - [OPC UA Server]
}

node "Process Orchestation Layer (POL)" {
package "polaris-backend" {
[Express] - [Manager/Module/Service]
[Manager/Module/Service] - [OPC UA Client]
package "polaris-backend" as backend {
[NodeJs]
}

package "polaris-frontend" {
[Angular] -right- [Express] : HTTP, Websocket
package "polaris-frontend" as frontend {
[Angular] <-> [NodeJs] : HTTP, Websocket
}

package "polaris-interface" {
() interface as if
}

package "mtp-converter" {
[NodeJs/Python]
}
}

if .. [Express] : import

if .. [NodeJs] : import
if .. [Angular] : import

[OPC UA Server] <-left-> [OPC UA Client] : OPC UA
[OPC UA Server] <--> [NodeJs] : OPC UA

(MTP) <.. [Services]
(MTP) ..> [Manager/Module/Service]
[Services] .> [NodeJs/Python]: MTP
[NodeJs/Python] .> [NodeJs] : JSON

@enduml
@enduml
21 changes: 21 additions & 0 deletions doc/virtualService/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
Virtual Services / POL Services
===============================

*Virtual Services* or *POL services* are services which run on the POL level and not on the PEA level. They can be configured at runtime in order to provide a mechanism to dynamically add functionality beyond the predefined services of the PEA manufacturers.



## Aggregated Services
*Aggregated Services* can be called like any other service. They can control several other services (both PEA services and POL services) from several PEAs. However, they cannot control the field devices inside the PEAs.


| | (PEA-)Service | Aggregated Service |
|----------------------------------|--------------------------------------------|--------------------------------------------------------|
| Place of Execution | PEA | POL |
| Creator | PEA manufacturer | plant operator |
| Adaptability | predefined by service paramaters | can be freely configured at runtime |
| External runtime interface | State machine according to VDI/VDE 2658-4 | State machine according to VDI/VDE 2658-4 |
| Control | PEA internal field devices or PEA-services | PEA-services from different PEAs or other POL-Services |
| Static description/configuration | MTP | Polaris specific solution |

![Polaris component diagram](http://www.plantuml.com/plantuml/proxy?src=https://raw.githubusercontent.com/p2o-lab/polaris-backend/develop/doc/virtualService/aggregated-service-context.puml)
File renamed without changes.
45 changes: 45 additions & 0 deletions doc/virtualService/aggregated-service-context.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
@startuml
skinparam monochrome true

frame POL {
node Polaris-VirtualServices {
card "CombinedDoseFill (AggregatedService)" as AggregatedService1
card "SpecialRecipe (AggregatedService)" as AggregatedService2
card Timer1
}
}

AggregatedService2 ..> AggregatedService1
AggregatedService2 ..> Timer1

frame PEA-layer {

node PEA2 {
card "Service Fill" as PEA2S1
card "Service 2" as PEA2S2
entity V2.1
entity "T2.1"
}

node PEA1 {
card "Service Dose" as PEA1S1
card "Service 2" as PEA1S2
entity "P1.1"
entity "V1.1"
}

}

AggregatedService1 ..> PEA1S1
AggregatedService1 ..> PEA2S1

PEA1S1 ..> P1.1
PEA1S1 ..> V1.1

PEA2S1 ..> V2.1

P1.1 ->> V1.1
V1.1 ->> V2.1
V2.1 ->> T2.1

@enduml
File renamed without changes
File renamed without changes.
File renamed without changes
File renamed without changes.
File renamed without changes
File renamed without changes.
File renamed without changes
File renamed without changes.
Loading

0 comments on commit 8f34c6c

Please sign in to comment.