[![DOI](https://zenodo.org/badge/331277331.svg)](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).
Raw data
{
"_id": null,
"home_page": "https://github.com/git-afsantos/hpl-specs",
"name": "hpl-specs",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8, <4",
"maintainer_email": "",
"keywords": "safety,liveness,property specification,specification language,parser,parsing,ast",
"author": "Andr\u00e9 Santos",
"author_email": "haros.framework@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/0e/81/2f47305d15428916dae04e7b062b8bc6b8905bd0efc0f682ff945ebd31cc/hpl-specs-1.4.0.tar.gz",
"platform": null,
"description": "[![DOI](https://zenodo.org/badge/331277331.svg)](https://zenodo.org/badge/latestdoi/331277331)\n\n# HPL - The High-Level Property Specification Language\n\nHPL is a minimalistic specification language tailored for behavioural properties of message-based systems.\nAlthough 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.\nSince properties are message-based, the same language can be used to specify both individual nodes and full applications.\n\nHPL was developed to be an integral part of the [HAROS framework](https://github.com/git-afsantos/haros/).\nHAROS is capable of defining and extracting architectural models of ROS systems (the *ROS Computation Graph*).\nSuch models are, inherently, mostly concerned with the structure of the analysed system.\nThis language is meant to annotate the architectural models, complementing them with behavioural information.\n\n## What Is In The Box\n\nThis repository contains a Python package, and the respective source code, to parse HPL specifications and convert them into *Abstract Syntax Trees* (AST).\n\n## Syntax, Semantics and Use Cases\n\nCheck the [documentation](./docs).\n\n## Installing\n\nTo install this package, make sure that you have Python 2.7 or greater.\nSimply run the command:\n\n```\npip install hpl-specs\n```\n\n## Bugs, Questions and Support\n\nPlease use the [issue tracker](https://github.com/git-afsantos/hpl-specs/issues).\n\n## Citing\n\nSee [CITING](./CITING.md).\n\n## Contributing\n\nSee [CONTRIBUTING](./CONTRIBUTING.md).\n\n## Acknowledgment\n\nUntil March 2021, this work was financed by the ERDF \u2013 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\u00e7\u00e3o para a Ci\u00eancia e a Tecnologia within project PTDC/CCI-INF/29583/2017 (POCI-01-0145-FEDER-029583).\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "High-level Property Specification Language",
"version": "1.4.0",
"project_urls": {
"Homepage": "https://github.com/git-afsantos/hpl-specs",
"Source": "https://github.com/git-afsantos/hpl-specs/",
"Tracker": "https://github.com/git-afsantos/hpl-specs/issues"
},
"split_keywords": [
"safety",
"liveness",
"property specification",
"specification language",
"parser",
"parsing",
"ast"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "789289576139804f0ef45163d706fbf669ff14cba1c5e75750cf208fe9176080",
"md5": "ed99ba445e436a07fadee079ff06ecda",
"sha256": "359b0d269c61b3d40069cbc418e07e590dcb33e87ecf01138daefdb3dc2903c5"
},
"downloads": -1,
"filename": "hpl_specs-1.4.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ed99ba445e436a07fadee079ff06ecda",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8, <4",
"size": 42891,
"upload_time": "2023-11-20T10:44:12",
"upload_time_iso_8601": "2023-11-20T10:44:12.704237Z",
"url": "https://files.pythonhosted.org/packages/78/92/89576139804f0ef45163d706fbf669ff14cba1c5e75750cf208fe9176080/hpl_specs-1.4.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0e812f47305d15428916dae04e7b062b8bc6b8905bd0efc0f682ff945ebd31cc",
"md5": "7744d798bc0da98a2f82e50f551e44ac",
"sha256": "a1d231a9f9be22d135feec107d5df960380ca3b9ca98014918c78ddfcc56dd6b"
},
"downloads": -1,
"filename": "hpl-specs-1.4.0.tar.gz",
"has_sig": false,
"md5_digest": "7744d798bc0da98a2f82e50f551e44ac",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8, <4",
"size": 70087,
"upload_time": "2023-11-20T10:44:14",
"upload_time_iso_8601": "2023-11-20T10:44:14.298054Z",
"url": "https://files.pythonhosted.org/packages/0e/81/2f47305d15428916dae04e7b062b8bc6b8905bd0efc0f682ff945ebd31cc/hpl-specs-1.4.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-20 10:44:14",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "git-afsantos",
"github_project": "hpl-specs",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "hpl-specs"
}