Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

53 changes: 53 additions & 0 deletions requirements/specifications/extnSDK/CertificationExtensionSDK.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
53 changes: 53 additions & 0 deletions requirements/specifications/extnSDK/CertificationExtensionSDK.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
title Firebolt Extension for Certification

participant DeveloperTools #lightpink
note over DeveloperTools: e.g. FCS

participantgroup #lightgreen <wordwrap:20>**Firebolt Implementation**
participant FireboltExtn
end

participantgroup #lightblue <wordwrap:10>**Firebolt Compatible Provider**
participant Plugin
end

note over Plugin: e.g. \nWindow Manager \nScreenshot Capture



group Firebolt compatible provider command and control
DeveloperTools -> FireboltExtn: {"jsonrpc": "2.0", "method": "commandAndControl", \n"params": [<intent>], "id": "1"}
FireboltExtn -> Plugin: Request fullfil
Plugin -> FireboltExtn: {id:0, "jsonrpc": "2.0", result: "true"}
FireboltExtn -> DeveloperTools : {id:0, "jsonrpc": "2.0", result: "true"}

end

group Firebolt compatible provider screen capture

DeveloperTools -> FireboltExtn: {"jsonrpc": "2.0",\n "method": "captureScreenshot", "id": "1"}
FireboltExtn -> Plugin: Request fullfil
Plugin -> FireboltExtn: {id:0, "jsonrpc": "2.0", result: "true"}
FireboltExtn -> DeveloperTools : {id:0, "jsonrpc": "2.0", result: "true"}
end

group Health Check
DeveloperTools -> FireboltExtn: {"jsonrpc": "2.0",\n "method": "platformHealthCheck","id": "1"}

note over FireboltExtn: Healthcheck snapshot includes \nprocess memory usage, load, \nlive connections etc.

FireboltExtn -> DeveloperTools: {id:0, "jsonrpc": "2.0", result: {healthCheckData}}

end

group App performance snapshot
DeveloperTools -> FireboltExtn: {"jsonrpc": "2.0", \n"method": "appHealthCheck",\n"params":<appId>, "id": "1"}

note over FireboltExtn: App performance snapshot \nincludes memory usage, load etc.

FireboltExtn -> Plugin: Request fullfil
Plugin -> FireboltExtn: {id:0, "jsonrpc": "2.0", result: {appPerformanceData}}

FireboltExtn -> DeveloperTools: {id:0, "jsonrpc": "2.0", result: {appPerformanceData}}

end
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
title Firebolt Extension on Ripple for Certification

participant DeveloperTools #lightpink
note over DeveloperTools: e.g. FCS

participantgroup #lightgreen **Ripple**

participant Communication
note over Communication: e.g. \nBolt-Linchpin \nWebsocket

participant FireboltExtn
participant Core
participant Rules Engine
end

participantgroup #lightblue **Thunder**
participant Thunder Plugin
end

participantgroup #lightyellow **Gateway**
participant App Service
end

note over Rules Engine: e.g. \nSystem, Applications

note over Thunder Plugin: e.g. \nWindow Manager


group communication subscription
DeveloperTools -> Communication: Establish communication
note over DeveloperTools, Communication: subscribe linchpin or \nwebsocket connection

Communication -> DeveloperTools: acknowledgement
Communication -> FireboltExtn: {"jsonrpc":"2.0","method":"onFireboltInterections", \n"params":{"listen":true},"id":1}
FireboltExtn -> Communication: {"jsonrpc":"2.0", "id":1,"result":{"listening":true,\n"event":"onFireboltInterections"}}
end

group Firebolt Interactions
FireboltExtn -> Core: request forward
Core -> FireboltExtn: Interactions
FireboltExtn -> Communication: {id:0, "jsonrpc": "2.0", result: {interactions}}
Communication -> DeveloperTools: {id:0, "jsonrpc": "2.0", result: {interactions}}
end

group Thunder call for Command and Control
DeveloperTools -> Communication: Instructions to execute thunder call \nfor command and control
Communication -> FireboltExtn: {"jsonrpc": "2.0", "method": "commandAndControl", \n"params": [<intent>], "id": "1"}
FireboltExtn -> Rules Engine: request forward
Rules Engine -> Thunder Plugin: Request fullfil and respond back

note over Rules Engine, Thunder Plugin: Request goes to \nWindowManager or \nrelated plugin

Thunder Plugin -> Rules Engine: response forward
Rules Engine -> FireboltExtn: {id:0, "jsonrpc": "2.0", result: "true"}
FireboltExtn -> Communication: {id:0, "jsonrpc": "2.0", result: "true"}
Communication -> DeveloperTools : {id:0, "jsonrpc": "2.0", result: "true"}
end

group Thunder call for Screen Capture
DeveloperTools -> Communication: Instructions to execute thunder call \nfor Screen Capture
Communication -> FireboltExtn: {"jsonrpc": "2.0", "method": "screenCapture", \n"params": [<uploadPath>], "id": "1"}
FireboltExtn -> Rules Engine: request forward
Rules Engine -> Thunder Plugin: Request fullfil and respond back

note over Rules Engine, Thunder Plugin: Request goes to \nScreenCapture or \nrelated plugin

Thunder Plugin -> Rules Engine: response forward
Rules Engine -> FireboltExtn: {id:0, "jsonrpc": "2.0", result: "true"}
FireboltExtn -> Communication: {id:0, "jsonrpc": "2.0", result: "true"}
Communication -> DeveloperTools : {id:0, "jsonrpc": "2.0", result: "true"}
end

group Health Check
DeveloperTools -> Communication: Instructions to get platform \nhealth check snapshot
Communication -> FireboltExtn: {"jsonrpc": "2.0", "method": "healthCheck","id": "1"}
FireboltExtn -> Core: request forward

note over FireboltExtn: Healthcheck snapshot includes \nRipple process memory, load \nlive connections, etc.


Core -> FireboltExtn: {id:0, "jsonrpc": "2.0", result: {healthCheckData}
FireboltExtn -> Communication: {id:0, "jsonrpc": "2.0", result: {healthCheckData}
Communication -> DeveloperTools : {id:0, "jsonrpc": "2.0", result: {healthCheckData}}
end

group App performance snapshot
DeveloperTools -> FireboltExtn: {"jsonrpc": "2.0", "method": "appPerformance",\n"params":<appId>, "id": "1"}

note over FireboltExtn: App performance snapshot \nincludes memory usage, load etc.

FireboltExtn -> Thunder Plugin: Request fullfil
Thunder Plugin -> App Service: Request fullfil
App Service -> Thunder Plugin: {id:0, "jsonrpc": "2.0", \nresult: {appPerformanceData}}
Thunder Plugin -> Rules Engine: {id:0, "jsonrpc": "2.0", \nresult: {appPerformanceData}}
Rules Engine -> FireboltExtn: {id:0, "jsonrpc": "2.0", \nresult: {appPerformanceData}}
FireboltExtn -> DeveloperTools: {id:0, "jsonrpc": "2.0", \nresult: {appPerformanceData}}

end
34 changes: 34 additions & 0 deletions requirements/specifications/extnSDK/certification-extension-sdk.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Firebolt Extension for Certification

Document Status: Proposed Specification

See [Firebolt Requirements Governance](../../governance.md) for more info.

## 1. Overview
Document contains the details around Firebolt Extension for Certification (will be called as FEC in rest of the document) and HLA for the same.


## 2. Table of Contents
- [Requirements](#requirements)
- [HLA](#hla)

## 3. Requirements
FEC would required below use cases to adhere.

- <b>Platform Health check Statistics</b>
- Statistics from Firebolt-Implementation such as load, memory usage, how many firebolt connections are currently active, and what apps
- Capability: <b>xrn:firebolt:capability:certification:healthcheck</b>
- <b>App Health check Statistics</b>
- Snapshot of the performance for app such as load, and memory
- Capability: <b>xrn:firebolt:capability:certification:healthcheck</b>
- <b>Firebolt compatible provider calls</b>
- <b>Command and Control</b>
- To control the firebolt compatible device e.g. interaction on screen, media playback control
- Capability: <b>xrn:firebolt:capability:certification:commandandcontrol</b>
- <b>Screenshot</b>
- Fetch the screenshot and uploads stores in the device
- Capability: <b>xrn:firebolt:capability:certification:screencapture</b>

## 4. HLA

![Sequence Diagram for Certification Extension SDk](CertificationExtensionSDK.png)
Loading