https://github.com/git-afsantos/hpl-specs
High-Level Property Specification Language
https://github.com/git-afsantos/hpl-specs
behavior domain-specific-language liveness message-passing properties safety specification specification-language specification-pattern
Last synced: 7 months ago
JSON representation
High-Level Property Specification Language
- Host: GitHub
- URL: https://github.com/git-afsantos/hpl-specs
- Owner: git-afsantos
- License: mit
- Created: 2021-01-20T10:53:12.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2025-01-27T08:11:32.000Z (12 months ago)
- Last Synced: 2025-06-09T01:58:49.588Z (7 months ago)
- Topics: behavior, domain-specific-language, liveness, message-passing, properties, safety, specification, specification-language, specification-pattern
- Language: Python
- Homepage:
- Size: 250 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
[](https://zenodo.org/badge/latestdoi/331277331)
# HPL - The High-Level Property Specification Language
HPL is a minimalistic specification language tailored for behavioural properties of message-based systems.
Although it might be useful in other contexts, it was designed with the message-passing system of the [Robot Operating System](https://www.ros.org/) in mind.
Since properties are message-based, the same language can be used to specify both individual nodes and full applications.
HPL was developed to be an integral part of the [HAROS framework](https://github.com/git-afsantos/haros/).
HAROS is capable of defining and extracting architectural models of ROS systems (the *ROS Computation Graph*).
Such models are, inherently, mostly concerned with the structure of the analysed system.
This language is meant to annotate the architectural models, complementing them with behavioural information.
## What Is In The Box
This repository contains a Python package, and the respective source code, to parse HPL specifications and convert them into *Abstract Syntax Trees* (AST).
## Syntax, Semantics and Use Cases
Check the [documentation](./docs).
## Installing
To install this package, make sure that you have Python 2.7 or greater.
Simply run the command:
```
pip install hpl-specs
```
## Bugs, Questions and Support
Please use the [issue tracker](https://github.com/git-afsantos/hpl-specs/issues).
## Citing
See [CITING](./CITING.md).
## Contributing
See [CONTRIBUTING](./CONTRIBUTING.md).
## Acknowledgment
Until March 2021, this work was financed by the ERDF – European Regional Development Fund through the Operational Programme for Competitiveness and Internationalisation - COMPETE 2020 Programme and by National Funds through the Portuguese funding agency, FCT - Fundação para a Ciência e a Tecnologia within project PTDC/CCI-INF/29583/2017 (POCI-01-0145-FEDER-029583).