{"id":15891567,"url":"https://github.com/zpcore/mtl","last_synced_at":"2025-04-02T17:24:57.763Z","repository":{"id":93522352,"uuid":"86938650","full_name":"zpcore/MTL","owner":"zpcore","description":null,"archived":false,"fork":false,"pushed_at":"2017-08-26T22:32:54.000Z","size":315,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-08T08:12:36.944Z","etag":null,"topics":["mtl","r2u2","sensor"],"latest_commit_sha":null,"homepage":"http://temporallogic.org/research/R2U2/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zpcore.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2017-04-01T19:50:53.000Z","updated_at":"2024-02-22T07:27:21.000Z","dependencies_parsed_at":"2023-04-02T12:32:30.375Z","dependency_job_id":null,"html_url":"https://github.com/zpcore/MTL","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zpcore%2FMTL","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zpcore%2FMTL/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zpcore%2FMTL/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zpcore%2FMTL/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zpcore","download_url":"https://codeload.github.com/zpcore/MTL/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246858090,"owners_count":20845238,"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":["mtl","r2u2","sensor"],"created_at":"2024-10-06T07:40:33.313Z","updated_at":"2025-04-02T17:24:57.741Z","avatar_url":"https://github.com/zpcore.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# MTL/LTL C++ Implementation\n#### (Require C++11)\n---\n## Structure Example\n![Alt text](/README/structure.bmp?raw=true \"Object Connection Structure\")\n\n---\n## Description :\n###You can specify using either assembly code or high level MTL formula.\n### 1) Assembly Mode Configuration: \n#### In main file [**MTL.cpp**](/src/MTL.cpp):\n#### 1. Assign the sensor number, simulation time stamps;\n#### 2. Link the sensor to the [.log](src/alt.log) file;\n```c\n//e.g.\nsensor[0]=new Event(\"./src/alt.log\");\nsensor[1]=new Event(\"./src/pitch.log\");\n```\n#### In assembly code file [**test.ftasm**](/src/test.ftasm)\n#### 1. Write the assembly code in test.ftasm\n#### 2. Specify the assembly code file\n```c\nstring asm_file=\"./src/test.ftasm\";\n```\n\n### 2) MTL Mode Configuration: \n#### In main file [**MTL.cpp**](/src/MTL.cpp):\n#### 1. Assign the sensor number, simulation time stamps;\n#### 2. Link the sensor to the [.log](/src/alt.log) file;\n#### 3. Write your MTL formula as a string in **MTL.cpp**. For MTL format, see [Notes](#notes);\n```c\nstring formula=\"AND{AND{S[0],S[1]},ALW[3,5]{S[0]}}\";\n```\n---\n### How to run:\n#### In terminal:\n#### 1. run setup.sh to compile the project\n#### 2. type ./Debug/MTL to running MTL\n```bash\n./setup.sh\n./Debug/MTL\n```\n---\n## Notes\n### Meaning the MTL String:\n### Relationship with TACAS14---\u003e\n#### Algorithm 1: \"!\" = \"NOT{}\"\n#### Algorithm 2: \"G[2]\" = \"KEP[2]{}\"\n#### Algorithm 3: \"\u0026\" = \"AND{,}\"\n#### Algorithm 4: \"G[2,5]\" = \"ALW[2,5]{}\"\n#### Algorithm 5: \"F[1,2]\" = \"UNT[1,2]{,}\"\n```c\n//e.g.\nstring formula=\"NOT{S[0]}\";\nstring formula=\"NOT{NOT{S[0]}}\";\nstring formula=\"KEP[5]{S[1]}\";\nstring formula=\"NOT{KEP[2]{NOT{S[1]}}}\";\nstring formula=\"AND{KEP[2]{S[0]},S[1]}\";\nstring formula=\"ALW[5,10]{S[1]}\";\nstring formula=\"NOT{AND{ALW[5,10]{S[0]},KEP[2]{S[1]}}}\";\nstring formula=\"AND{KEP[2]{NOT{NOT{S[0]}}},S[0]}\";\nstring formula=\"AND{S[1],ALW[0,8]{S[0]}}\";\nstring formula=\"AND{S[1],KEP[8]{S[0]}}\";\nstring formula=\"AND{ALW[5,10]{S[0]},KEP[2]{S[1]}}\";\nstring formula=\"KEP[2]{S[1]}\";\nstring formula=\"AND{AND{S[0],S[1]},ALW[3,5]{S[0]}}\";\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzpcore%2Fmtl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzpcore%2Fmtl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzpcore%2Fmtl/lists"}