{"id":28489321,"url":"https://github.com/git-afsantos/hpl-specs","last_synced_at":"2025-06-27T19:31:08.816Z","repository":{"id":57698896,"uuid":"331277331","full_name":"git-afsantos/hpl-specs","owner":"git-afsantos","description":"High-Level Property Specification Language","archived":false,"fork":false,"pushed_at":"2025-01-27T08:11:32.000Z","size":256,"stargazers_count":3,"open_issues_count":5,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-09T01:58:49.588Z","etag":null,"topics":["behavior","domain-specific-language","liveness","message-passing","properties","safety","specification","specification-language","specification-pattern"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/git-afsantos.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["git-afsantos"]}},"created_at":"2021-01-20T10:53:12.000Z","updated_at":"2024-12-12T14:22:27.000Z","dependencies_parsed_at":"2022-08-26T16:20:57.983Z","dependency_job_id":"ab2fce13-9725-42bc-b46c-78529a1e9938","html_url":"https://github.com/git-afsantos/hpl-specs","commit_stats":{"total_commits":54,"total_committers":2,"mean_commits":27.0,"dds":0.2777777777777778,"last_synced_commit":"c4b3a676170b4c9663f20f5b304cddb2b539e8d3"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/git-afsantos/hpl-specs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/git-afsantos%2Fhpl-specs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/git-afsantos%2Fhpl-specs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/git-afsantos%2Fhpl-specs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/git-afsantos%2Fhpl-specs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/git-afsantos","download_url":"https://codeload.github.com/git-afsantos/hpl-specs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/git-afsantos%2Fhpl-specs/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262318938,"owners_count":23292976,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["behavior","domain-specific-language","liveness","message-passing","properties","safety","specification","specification-language","specification-pattern"],"created_at":"2025-06-08T06:36:28.404Z","updated_at":"2025-06-27T19:31:08.808Z","avatar_url":"https://github.com/git-afsantos.png","language":"Python","funding_links":["https://github.com/sponsors/git-afsantos"],"categories":[],"sub_categories":[],"readme":"[![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 – 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).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgit-afsantos%2Fhpl-specs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgit-afsantos%2Fhpl-specs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgit-afsantos%2Fhpl-specs/lists"}