Awesome
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 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. 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.
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.
Citing
See CITING.
Contributing
See CONTRIBUTING.
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).