Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doc: Add software architecture diagram and design considerations #43

Merged
merged 1 commit into from
Oct 8, 2021

Conversation

elsalahy
Copy link
Contributor

@elsalahy elsalahy commented Oct 8, 2021

Summary

Added SW architecture diagram, with explanations and design considerations.

Screenshots

Screen Shot 2021-10-08 at 13 58 32

Changes

  • Add SW architecture diagram
  • Add explanations to the different SW layers

Notes for Reviewers

...

Checklist

  • Scope: The referenced issue is addressed, there are no unrelated changes.
  • Run Locally: Verified that the docs build using make server, posted screenshots, verified external links.
  • New Features Marked: Documentation for new features is marked using the new-in-version shortcode, according to the guidelines in CONTRIBUTING.
  • Style Guidelines: Documentation obeys style guidelines in CONTRIBUTING.
  • Commits: Commit messages follow guidelines in CONTRIBUTING, there are no fixup commits left.

@elsalahy elsalahy self-assigned this Oct 8, 2021
@elsalahy
Copy link
Contributor Author

elsalahy commented Oct 8, 2021

Closes #43

nejraselimovic
nejraselimovic previously approved these changes Oct 8, 2021

The {{% gnse %}} software contains multiple applications, libraries and drivers.

The {{% gnse %}} software architecture observed below depicts three main layers
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The {{% gnse %}} software architecture observed below depicts three main layers
The {{% gnse %}} software architecture observed below depicts three main layers:


Different applications use different libraries depending on the application desired functionality.

For example, an application that samples sensors and sends the data using LoRaWAN, will utilize the Sensors, GNSE APIs, bare-metal scheduler and LoRaWAN libraries.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
For example, an application that samples sensors and sends the data using LoRaWAN, will utilize the Sensors, GNSE APIs, bare-metal scheduler and LoRaWAN libraries.
For example, an application that samples sensors and sends the data using LoRaWAN will utilize the Sensors, GNSE APIs, bare-metal scheduler and LoRaWAN libraries.

Comment on lines 43 to 45
The application layer contains sample boilerplate applications that can be used as a starting point.
The example applications are developed to be as energy efficient as possible and can be used for production testing and deployments.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The application layer contains sample boilerplate applications that can be used as a starting point.
The example applications are developed to be as energy efficient as possible and can be used for production testing and deployments.
The application layer contains sample boilerplate applications that can be used as a starting point.
The example applications are developed to be as energy efficient as possible and can be used for production testing and deployments.

The application layer contains sample boilerplate applications that can be used as a starting point.
The example applications are developed to be as energy efficient as possible and can be used for production testing and deployments.

Examples in the application layer should invoke the library layer functions/APIs and shouldn't directly invoke target layer functionalities unless that is the only way to achieve the desired functionality.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Examples in the application layer should invoke the library layer functions/APIs and shouldn't directly invoke target layer functionalities unless that is the only way to achieve the desired functionality.
Examples in the application layer should invoke the library layer functions/APIs and should not directly invoke target layer functionalities unless that is the only way to achieve the desired functionality.

@elsalahy
Copy link
Contributor Author

elsalahy commented Oct 8, 2021

Thanks @nejraselimovic for the helpful feedback, can you please have another final review, thanks!

Copy link
Contributor

@nejraselimovic nejraselimovic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great!

@elsalahy elsalahy merged commit 5b2b13c into master Oct 8, 2021
@adriansmares adriansmares deleted the docs/sw-arch branch August 12, 2022 12:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants