diff --git a/.github/workflows/validate_metadata.yml b/.github/workflows/validate_metadata.yml new file mode 100644 index 0000000..d72abd3 --- /dev/null +++ b/.github/workflows/validate_metadata.yml @@ -0,0 +1,36 @@ +# Validate all metadata + +name: Validate Metadata + +# Controls when the workflow will run +on: + pull_request: + branches: [ "main" ] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +jobs: + check: + + # For debugging. Only run from "spec" branch for now + if: github.head_ref == 'spec' + + # The type of runner that the job will run on + runs-on: ubuntu-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: '3.x' + + #- name: Install dependencies + # run: | + # python -m pip install --upgrade pip + # if [ -f Scripts/requirements.txt ]; then pip install -r requirements.txt; fi + + - name: Run metadata validation script + run: ./Scripts/manager.py validate diff --git a/Scripts/downloader.py b/Scripts/downloader.py new file mode 100755 index 0000000..aa09eb7 --- /dev/null +++ b/Scripts/downloader.py @@ -0,0 +1,6 @@ +#!/usr/bin/env python3 + +import sys + +print("This script is currently under development") +sys.exit(1) diff --git a/Scripts/indexer.py b/Scripts/indexer.py new file mode 100755 index 0000000..da8d571 --- /dev/null +++ b/Scripts/indexer.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python3 + +import os + +class Formats: + PRISM = 0 + IVY = 1 + SBML = 2 + JANI = 3 + UNKNOWN = 4 + formatNames = ["Prism", "IVy", "SBML", "JANI", "Unknown"] + +o = '{' +c = '}' + +def getTags(fullPath): + return [] # TODO + +def getFormat(fileName): + if fileName.endswith(".prism") or fileName.endswith(".sm"): + return Formats.PRISM + elif fileName.endswith(".ivy"): + return Formats.IVY + elif fileName.endswith(".sbml") or fileName.endswith(".xml"): + return Formats.SBML + elif fileName.endswith(".jani"): + return Formats.JANI + return Formats.UNKNOWN + +def createJSONFromFolder(folder, indentationLevel = 0): + json = "[" + tabs = "\t" * indentationLevel + tabsExtra = f"{tabs}\t" + for f in os.listdir(folder): + if os.path.isdir(folder + '/' + f) and not f.startswith('.'): + json += f"\n{tabs}{o}\n{tabsExtra}\"name\":\"{f}\"\n{tabsExtra}, \"type\":\"folder\"\n{tabsExtra}, \"contents\":{createJSONFromFolder(folder + '/' + f, indentationLevel + 1)} \n{tabs}{c}" + elif os.path.isfile(folder + '/' + f): + tags = "" + for tag in getTags(folder + '/' + f): + tags += f"\"tag\"," + tags = f"[{tags[:len(tags) - 1]}]" + fileFormatName = Formats.formatNames[getFormat(f)] + json += f"\n{tabs}, {o}\n{tabsExtra}\"name\":\"{f}\"\n{tabsExtra}, \"type\":\"file\"\n{tabsExtra}, \"tags\":{tags}" + json += f"\n{tabsExtra}, \"format\":\"{fileFormatName}\"\n{tabs}{c}" + json += f"\n{tabs}]" + return json + +if __name__=='__main__': + print(createJSONFromFolder(os.getcwd())) + diff --git a/Scripts/manager.py b/Scripts/manager.py new file mode 100755 index 0000000..aa09eb7 --- /dev/null +++ b/Scripts/manager.py @@ -0,0 +1,6 @@ +#!/usr/bin/env python3 + +import sys + +print("This script is currently under development") +sys.exit(1) diff --git a/indexing/index.json b/indexing/index.json new file mode 100644 index 0000000..2489196 --- /dev/null +++ b/indexing/index.json @@ -0,0 +1,3788 @@ +[ +{ + "name":"crn" + , "type":"folder" + , "contents":[ + { + "name":"KuwaharaEnzyme" + , "type":"folder" + , "contents":[ + , { + "name":"simple_enzyme.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"simple_enzyme.modest" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"simple_enzyme.jani" + , "type":"file" + , "tags":[] + , "format":"JANI" + } + , { + "name":"simple_enzyme.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"simple_enzyme_11.ivy" + , "type":"file" + , "tags":[] + , "format":"IVy" + } + ] + } + { + "name":"DonovanYeastPolarization" + , "type":"folder" + , "contents":[ + , { + "name":"layered_yeast_variant2.ivy" + , "type":"file" + , "tags":[] + , "format":"IVy" + } + , { + "name":"yeastPolarization.modest" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"yeastPolarization.dot" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"controlled_model_short_v4.ivy" + , "type":"file" + , "tags":[] + , "format":"IVy" + } + , { + "name":"layered_yeast_v2.ivy" + , "type":"file" + , "tags":[] + , "format":"IVy" + } + , { + "name":"controlled_model_short_3and5_v3.ivy" + , "type":"file" + , "tags":[] + , "format":"IVy" + } + , { + "name":"controlled_model_short_v2.ivy" + , "type":"file" + , "tags":[] + , "format":"IVy" + } + , { + "name":"yeastPolarization.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"bank.ivy" + , "type":"file" + , "tags":[] + , "format":"IVy" + } + , { + "name":"layered_yeast_variant3.ivy" + , "type":"file" + , "tags":[] + , "format":"IVy" + } + , { + "name":"yeastPolarization.jani" + , "type":"file" + , "tags":[] + , "format":"JANI" + } + , { + "name":"yeastPolarization.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"controlled_model_short_v3.ivy" + , "type":"file" + , "tags":[] + , "format":"IVy" + } + , { + "name":"fifth_other.ivy" + , "type":"file" + , "tags":[] + , "format":"IVy" + } + , { + "name":"assertion_test_yeast1.ivy" + , "type":"file" + , "tags":[] + , "format":"IVy" + } + , { + "name":"controlled_model_short_3and5_v03.ivy" + , "type":"file" + , "tags":[] + , "format":"IVy" + } + , { + "name":"controlled_model.ivy" + , "type":"file" + , "tags":[] + , "format":"IVy" + } + , { + "name":"chem_obj_fifth_iso_variant.ivy" + , "type":"file" + , "tags":[] + , "format":"IVy" + } + , { + "name":"yeastPolarization.png" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"yeastPolarization_1.modest" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"chem_obj_fifth_iso.ivy" + , "type":"file" + , "tags":[] + , "format":"IVy" + } + , { + "name":"controlled_model_variant1.ivy" + , "type":"file" + , "tags":[] + , "format":"IVy" + } + , { + "name":"yeast1.ivy" + , "type":"file" + , "tags":[] + , "format":"IVy" + } + , { + "name":"controlled_model_short_v5.ivy" + , "type":"file" + , "tags":[] + , "format":"IVy" + } + , { + "name":"controlled_model_short_v03.ivy" + , "type":"file" + , "tags":[] + , "format":"IVy" + } + , { + "name":"layered_yeast_variant.ivy" + , "type":"file" + , "tags":[] + , "format":"IVy" + } + , { + "name":"layered_yeast.ivy" + , "type":"file" + , "tags":[] + , "format":"IVy" + } + , { + "name":"fifth_reaction_isolate.ivy" + , "type":"file" + , "tags":[] + , "format":"IVy" + } + , { + "name":"controlled_model_short_3and5_v02.ivy" + , "type":"file" + , "tags":[] + , "format":"IVy" + } + , { + "name":"controlled_model_short_v02.ivy" + , "type":"file" + , "tags":[] + , "format":"IVy" + } + , { + "name":"controlled_model_short_3and5_v2.ivy" + , "type":"file" + , "tags":[] + , "format":"IVy" + } + , { + "name":"test_fifth_isolate_yeast1.ivy" + , "type":"file" + , "tags":[] + , "format":"IVy" + } + , { + "name":"fifth_reaction_isolate_variant.ivy" + , "type":"file" + , "tags":[] + , "format":"IVy" + } + , { + "name":"controlled_model_separated.ivy" + , "type":"file" + , "tags":[] + , "format":"IVy" + } + ] + } + ] +} +, { + "name":".gitignore" + , "type":"file" + , "tags":[] + , "format":"Unknown" +} +{ + "name":"SBML" + , "type":"folder" + , "contents":[ + , { + "name":"Repressilator.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + { + "name":"Circuit_0x8E" + , "type":"folder" + , "contents":[ + , { + "name":"Circuit0x8E_100to010_G0_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_LHF_111to100_G0_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_LHF_011to101_G1_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_TI_100to010_G0_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_000to101_G1_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_011to101_G1_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_LHF_101to000_G1_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_TI_101to011_G1_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_TI_111to010_G0_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_LHF_101to011_G1_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_TI_101to000_G1_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_TI_010to100_G0_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_TI_011to101_G1_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_LHF_100to111_G0_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_000to011_G1_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_TI_010to111_G0_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_010to111_G0_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_TI_000to101_G1_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_LHF_010to100_G0_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_101to000_G1_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_TI_111to100_G0_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_LHF_011to000_G1_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_LHF_111to010_G0_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_011to000_G1_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_010to100_G0_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_TI_011to000_G1_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_LHF_000to011_G1_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_LHF_100to010_G0_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_TI_100to111_G0_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_101to011_G1_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_LHF_010to111_G0_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_100to111_G0_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_111to100_G0_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_TI_000to011_G1_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_LHF_000to101_G1_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_111to010_G0_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + ] + } + , { + "name":"Toggle_Switch_RBA.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Dual_Feedback_Oscillator.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Toggle_Switch.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + { + "name":"Muller_C_Element" + , "type":"folder" + , "contents":[ + , { + "name":"Majority_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Majority.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Speed_Independent_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Speed_Independent.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Toggle_10_10.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Toggle.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + ] + } + ] +} +{ + "name":"Figures" + , "type":"folder" + , "contents":[ + , { + "name":"ToggleSwitch.png" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Majority.png" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Repressilator.PNG" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Speed_Independent.png" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"0x8E_LogicHazardFree.png" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"0x8E_TwoInverter.png" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"DualFeedback.png" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"0x8E_Original.png" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Toggle.png" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + ] +} +, { + "name":"README.md" + , "type":"file" + , "tags":[] + , "format":"Unknown" +} +{ + "name":"indexing" + , "type":"folder" + , "contents":[ + , { + "name":"indexer.py" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + { + "name":"webpage" + , "type":"folder" + , "contents":[ + { + "name":"scripts" + , "type":"folder" + , "contents":[ + , { + "name":"scripts.js" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"indexReader.js" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + ] + } + , { + "name":"index.html" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + { + "name":"styles" + , "type":"folder" + , "contents":[ + , { + "name":"styles.css" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + ] + } + ] + } + , { + "name":"index.json" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + ] +} +{ + "name":"prism" + , "type":"folder" + , "contents":[ + { + "name":"HazardCct" + , "type":"folder" + , "contents":[ + { + "name":"Circuit0x8E_Two_Inverter" + , "type":"folder" + , "contents":[ + { + "name":"Glitch Zero" + , "type":"folder" + , "contents":[ + , { + "name":"Circuit0x8E_TI_111to010.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"pro.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_TI_111to010.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_TI_100to111.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_010to100.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_TI_100to010.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_100to111.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_TI_100to010.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_TI_010to111.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_010to111.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + { + "name":"Unbounded" + , "type":"folder" + , "contents":[ + , { + "name":"pro.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_TI_010to100_unbounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_100to010_unbounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + { + "name":"FinalResults" + , "type":"folder" + , "contents":[ + , { + "name":"Circuit0x8E_TI_100to010_unbounded.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_TI_111to100_unbounded.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_TI_010to100_unbounded.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_TI_010to111_unbounded.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_TI_111to010_unbounded.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_TI_100to111_unbounded.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + ] + } + , { + "name":"Circuit0x8E_TI_111to010_unbounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_111to100_unbounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_100to111_unbounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_010to111_unbounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + ] + } + , { + "name":"Circuit0x8E_TI_010to100.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"results.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_TI_111to100.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_TI_111to100.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + ] + } + { + "name":"Glitch One" + , "type":"folder" + , "contents":[ + , { + "name":"Circuit0x8E_TI_011to101.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_101to011.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_TI_000to101.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_TI_011to000.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_TI_000to011.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_011to101.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_TI_101to000.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_TI_101to000.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_000to011.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_TI_011to000.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + { + "name":"Unbounded" + , "type":"folder" + , "contents":[ + , { + "name":"Circuit0x8E_TI_000to101_unbounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_011to000_unbounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_101to011_unbounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_011to101_unbounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + { + "name":"FinalResults" + , "type":"folder" + , "contents":[ + , { + "name":"Circuit0x8E_TI_011to101_unbounded.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_TI_101to000_unbounded.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_TI_000to011_unbounded.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_TI_011to000_unbounded.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_TI_101to011_unbounded.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_TI_000to101_unbounded.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + ] + } + , { + "name":"Circuit0x8E_TI_000to011_unbounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_101to000_unbounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"pro1.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + ] + } + , { + "name":"Circuit0x8E_TI_000to101.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"pro1.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"results.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_TI_101to011.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + ] + } + ] + } + { + "name":"Circuit0x8E_original" + , "type":"folder" + , "contents":[ + { + "name":"Reaction_based_abstraction" + , "type":"folder" + , "contents":[ + , { + "name":"Circuit0x8E_flat_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"hazard.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + { + "name":"deprecated" + , "type":"folder" + , "contents":[ + , { + "name":"degradeBy10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Top.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0xE8_no_abs.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0xE8_max50_no_abs.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + ] + } + , { + "name":"README.md" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + { + "name":"Glitch-One" + , "type":"folder" + , "contents":[ + , { + "name":"Circuit0x8E_flat_10_011to000_unbounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_flat_10_011to101_bounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_flat_10_011to101_unbounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_flat_10_000to011_bounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_flat_10_000to011_unbounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_flat_10_000to101_bounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_flat_10_101to000_unbounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_flat_10_101to000_bounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_flat_10_101to011_unbounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_flat_10_011to000_bounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_flat_10_000to101_unbounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_flat_10_101to011_bounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"hazard_glitch_one.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + { + "name":"stamina_results" + , "type":"folder" + , "contents":[ + , { + "name":"stamina_results_101to000.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"stamina_results_101to011.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"stamina_results_000to011_greater_eq_30.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"stamina_results_000to011_less_eq_30.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"stamina_results_000to011.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"stamina_results_000to101.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"stamina_results_011to101.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"stamina_results_011to000.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + ] + } + ] + } + { + "name":"Glitch-Zero" + , "type":"folder" + , "contents":[ + , { + "name":"Circuit0x8E_flat_10_111to100_unbounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_flat_10_100to111_bounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_flat_10_010to100_bounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_flat_10_010to111_bounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"hazard_glitch_zero_invertUntil.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_flat_10_010to111_unbounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_flat_10_100to010_unbounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_flat_10_100to010_bounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_flat_10_111to010_unbounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"hazard_glitch_zero.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_flat_10_111to100_bounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"test.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"results.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_flat_10_100to111_unbounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_flat_10_010to100_unbounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_flat_10_111to010_bounded.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + { + "name":"stamina_results" + , "type":"folder" + , "contents":[ + , { + "name":"stamina_results_010to100.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"stamina_results_111to010.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + { + "name":"incomplete" + , "type":"folder" + , "contents":[ + , { + "name":"stamina_results_100to111.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"stamina_results_010to111.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + ] + } + , { + "name":"stamina_results_111to100.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"stamina_results_100to010.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"stamina_results_010to111_errPminPmax.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"stamina_results_010to111.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + ] + } + ] + } + ] + } + { + "name":"No_abstraction" + , "type":"folder" + , "contents":[ + { + "name":"Glitch_Zero" + , "type":"folder" + , "contents":[ + , { + "name":"pro.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_111to010.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_100to010.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_100to010.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_010to100.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_Zero_Glitches" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_010to111.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_111to100.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_100to111.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_010to111.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + { + "name":"Unbounded" + , "type":"folder" + , "contents":[ + , { + "name":"pro.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_111to100_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_100to010_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + { + "name":"FinalResults" + , "type":"folder" + , "contents":[ + , { + "name":"Circuit0x8E_100to111_unb.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_111to010_unb.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_100to010_unb.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_111to100_unb.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"010to111.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_010to100_unb.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + ] + } + , { + "name":"Circuit0x8E_010to111_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_100to111_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"results.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_111to010_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_010to100_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + ] + } + , { + "name":"Circuit0x8E_010to100.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_111to100.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_100to111.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_111to010.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + ] + } + { + "name":"Glitch_One" + , "type":"folder" + , "contents":[ + , { + "name":"Circuit0x8E_101to011.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + { + "name":"Unbound" + , "type":"folder" + , "contents":[ + , { + "name":"000to011_combined" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_011to000_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_011to101_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_000to011_unb_test.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + { + "name":"FinalResults" + , "type":"folder" + , "contents":[ + , { + "name":"Circuit0x8E_101to000_unb.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_000to101_unb.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_011to000_unb.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_101to011_unb.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_000to011_unb.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_011to101_unb.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + ] + } + , { + "name":"Circuit0x8E_101to011_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_000to101_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_101to000_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"pro1.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_000to011_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"results.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"000to011_merged.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + ] + } + , { + "name":"Circuit0x8E_000to101.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_101to000.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_011to000.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_101to011.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_101to000.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_011to000.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_011to101.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_000to011.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_000to011_test.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_000to101.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_000to011.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"pro1.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_011to101.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"results.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + ] + } + ] + } + ] + } + , { + "name":"README.md" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + { + "name":"Circuit0x8E_LogicHazardFree" + , "type":"folder" + , "contents":[ + { + "name":"Glitch Zero" + , "type":"folder" + , "contents":[ + , { + "name":"pro.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_LHF_111to100.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"err.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_LHF_010to100.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_010to100.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_LHF_010to111.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + { + "name":"Unbounded" + , "type":"folder" + , "contents":[ + , { + "name":"pro.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_LHF_111to010_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_010to100_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + { + "name":"FinalResults" + , "type":"folder" + , "contents":[ + , { + "name":"Circuit0x8E_LHF_010to111_unb.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_LHF_111to100_unb.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_LHF_100to010_unb.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_LHF_010to100_unb.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_LHF_100to111_unb.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_LHF_111to010_unb.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + ] + } + , { + "name":"Circuit0x8E_LHF_100to111_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_010to111_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_100to010_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_111to100_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + ] + } + , { + "name":"Circuit0x8E_LHF_111to100.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_111to010.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_LHF_100to111.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_LHF_100to010.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_100to010.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_LHF_100to111.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_010to111.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_LHF_111to010.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + ] + } + { + "name":"Glitch One" + , "type":"folder" + , "contents":[ + , { + "name":"Circuit0x8E_LHF_000to101.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_LHF_011to101.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_LHF_000to011.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_011to000.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_LHF_000to101.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_000to011.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_LHF_101to000.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_011to000.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + { + "name":"Unbounded" + , "type":"folder" + , "contents":[ + , { + "name":"Circuit0x8E_LHF_000to011_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_101to011_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + { + "name":"FinalResults" + , "type":"folder" + , "contents":[ + , { + "name":"Circuit0x8E_LHF_101to011_unb.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_LHF_101to000_unb.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_LHF_000to101_unb.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_LHF_000to011_unb.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_LHF_011to000_unb.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_LHF_011to101_unb.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + ] + } + , { + "name":"Circuit0x8E_LHF_101to000_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_011to101_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_011to000_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"pro1.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_LHF_000to101_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + ] + } + , { + "name":"Circuit0x8E_LHF_101to011.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"Circuit0x8E_LHF_101to011.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_011to101.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_101to000.xml" + , "type":"file" + , "tags":[] + , "format":"SBML" + } + , { + "name":"pro1.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + ] + } + ] + } + ] + } + { + "name":"Circuit0x8E" + , "type":"folder" + , "contents":[ + , { + "name":"Circuit0x8E_LHF_G1.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_010to100_G0_10_10_RBA.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_101to000_G1_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_000to101_G1_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_011to101_G1_10_10_RBA.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_011to101_G1_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_100to010_G0_10_10_RBA_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_111to100_G0_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_000to101_G1_10_10_RBA.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_010to111_G0_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_011to101_G1_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_100to010_G0_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_111to010_G0_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_101to000_G1_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_010to100_G0_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_010to100_G0_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_100to111_G0_10_10_RBA.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_111to010_G0_10_10_RBA.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_G1_unb.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_000to101_G1_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_G0csl.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_LHF_100to111_G0_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_011to000_G1_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_100to010_G0_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_101to011_G1_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_101to011_G1_10_10_RBA.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_101to000_G1_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_010to111_G0_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_100to111_G0_10_10_RBA_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_000to011_G1_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_000to101_G1_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_000to011_G1_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_G0_unb.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_LHF_100to111_G0_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_010to111_G0_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_010to111_G0_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_011to101_G1_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_011to000_G1_10_10_RBA.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_101to011_G1_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_100to010_G0_10_10_RBA.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_101to000_G1_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_G1_RBA.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_101to000_G1_10_10_RBA_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_000to101_G1_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_101to011_G1_10_10_RBA_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_000to011_G1_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_100to111_G0_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_G1_unb.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_011to101_G1_10_10_RBA_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_011to000_G1_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_111to010_G0_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_100to111_G0_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_101to000_G1_10_10_RBA.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_011to000_G1_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_111to010_G0_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_010to111_G0_10_10_RBA.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_000to011_G1_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_011to000_G1_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_101to000_G1_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_100to010_G0_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_G1.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_LHF_011to000_G1_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_111to100_G0_10_10_RBA_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_011to000_G1_10_10_RBA_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_010to100_G0_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_000to011_G1_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_011to101_G1_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_011to101_G1_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_011to000_G1_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_G0_RBA.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_TI_101to000_G1_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_000to011_G1_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_111to100_G0_10_10_RBA.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_111to100_G0_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_000to011_G1_10_10_RBA.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_000to101_G1_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_010to100_G0_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_111to100_G0_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_G1.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_TI_010to100_G0_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_111to010_G0_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_111to010_G0_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_G0.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_100to010_G0_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_101to011_G1_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_100to010_G0_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_G0_unb.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_111to010_G0_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_101to011_G1_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_010to111_G0_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_G1_unb.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_000to011_G1_10_10_RBA_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_G0_unb.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_TI_100to010_G0_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_111to100_G0_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_011to101_G1_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_111to100_G0_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_010to100_G0_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_100to111_G0_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_101to011_G1_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_000to101_G1_10_10_RBA_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_010to111_G0_10_10_RBA_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_LHF_111to100_G0_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_000to101_G1_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_100to111_G0_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_010to111_G0_10_10_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_111to010_G0_10_10_RBA_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_TI_101to011_G1_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Circuit0x8E_G0.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Circuit0x8E_010to100_G0_10_10_RBA_unb.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + ] + } + { + "name":"RobotWorld" + , "type":"folder" + , "contents":[ + , { + "name":"robot_n_32.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"robot_n_32.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"robot_n_64.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"robot_n_64.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + ] + } + { + "name":"Jackson" + , "type":"folder" + , "contents":[ + , { + "name":"jackson_lambda_5_N_5.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"jackson_lambda_5_N_4.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"jackson_lambda_5_N_5.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"jackson_lambda_5_N_4.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + ] + } + { + "name":"toy" + , "type":"folder" + , "contents":[ + , { + "name":"toy2_combined4.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"toy.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"toy1_separate.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"toy2_separate.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"toy1_combined.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"toy2_combined3.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"toy2_combined2.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"toy2_combined.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + ] + } + { + "name":"Tandem" + , "type":"folder" + , "contents":[ + , { + "name":"tandem_c_2047_T_0.25.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"tandem_c_2047_T_0.25.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"tandem_c_4095_T_0.25.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"tandem_c_4095_T_0.25.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + ] + } + , { + "name":"Dual_Feedback_Oscillator.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"README.md" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + { + "name":"Polling" + , "type":"folder" + , "contents":[ + , { + "name":"polling_T_10_N_20.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"polling_T_10_N_20.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"polling_T_10_N_16.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"polling_T_10_N_16.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"polling_T_10_N_12.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"polling_T_10_N_12.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + ] + } + , { + "name":"Toggle_Switch_RBA.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Repressilator.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + { + "name":"Muller_C_Element" + , "type":"folder" + , "contents":[ + , { + "name":"Speed_Independent_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Toggle_10_10.props" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Majority.props" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Majority.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Speed_Independent.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Majority_10_10.props" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + { + "name":"C-Element_w_Tolerances" + , "type":"folder" + , "contents":[ + { + "name":"OldStyle" + , "type":"folder" + , "contents":[ + { + "name":"majority" + , "type":"folder" + , "contents":[ + , { + "name":"majority0.50.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"majority0.15.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"majority0.20.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"majority0.65.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"majority0.85.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"majority0.25.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"majority0.75.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"majority0.30.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"majority0.35.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"majority0.95.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"majority0.55.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"majority0.10.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"majority0.60.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"majority0.80.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"majority0.70.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"majority0.05.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"majority0.90.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"majority0.40.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"majority0.00.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"majority1.00.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"majority0.45.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + ] + } + { + "name":"toggle" + , "type":"folder" + , "contents":[ + , { + "name":"toggle0.55.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"toggle0.70.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"toggle0.45.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"toggle0.35.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"toggle0.75.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"toggle0.20.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"toggle0.40.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"toggle0.50.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"toggle0.60.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"toggle0.85.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"toggle0.95.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"toggle0.00.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"toggle0.15.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"toggle0.80.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"toggle0.05.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"toggle0.65.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"toggle1.00.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"toggle0.90.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"toggle0.30.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"toggle0.10.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"toggle0.25.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + ] + } + { + "name":"speed-ind" + , "type":"folder" + , "contents":[ + , { + "name":"speed0.20.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"speed0.90.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"speed0.00.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"speed0.65.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"speed0.45.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"speed0.05.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"speed0.50.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"speed0.60.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"speed0.70.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"speed0.55.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"speed0.25.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"speed0.30.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"speed1.00.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"speed0.85.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"speed0.10.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"speed0.15.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"speed0.40.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"speed0.35.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"speed0.95.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"speed0.75.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"speed0.80.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + ] + } + ] + } + { + "name":"SynchronizedStyle" + , "type":"folder" + , "contents":[ + { + "name":"Majority" + , "type":"folder" + , "contents":[ + , { + "name":"Majority_0p10.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Majority_0p20.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Majority_0p40.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Majority_0p90.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Majority_0p80.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Majority_0p60.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Majority_0p70.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Majority_1p00.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Majority_0p50.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Majority_0p30.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + ] + } + { + "name":"Speed-ind" + , "type":"folder" + , "contents":[ + , { + "name":"Speed-Ind_1p00.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Speed-Ind_0p70.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Speed-Ind_0p40.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Speed-Ind_0p20.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Speed-Ind_0p50.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Speed-Ind_0p90.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Speed-Ind_0p80.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Speed-Ind_0p30.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Speed-Ind_0p10.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Speed-Ind_0p60.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + ] + } + { + "name":"Toggle" + , "type":"folder" + , "contents":[ + , { + "name":"Toggle_0p90.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Toggle_0p80.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Toggle_0p10.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Toggle_0p20.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Toggle_0p30.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Toggle_0p50.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Toggle_1p00.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Toggle_0p70.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Toggle_0p40.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Toggle_0p60.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + ] + } + ] + } + ] + } + , { + "name":"Toggle.props" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Toggle_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Majority_10_10.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Speed_Independent_10_10.props" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"Toggle.sm" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"Speed_Independent.props" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + ] + } + { + "name":"Toggle" + , "type":"folder" + , "contents":[ + , { + "name":"toggle_IPTG_100.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"toggle_IPTG_0.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"toggle_IPTG_0.prism" + , "type":"file" + , "tags":[] + , "format":"Prism" + } + , { + "name":"toggle_IPTG_100.csl" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + , { + "name":"results.txt" + , "type":"file" + , "tags":[] + , "format":"Unknown" + } + ] + } + ] +} +] diff --git a/indexing/webpage/index.html b/indexing/webpage/index.html new file mode 100644 index 0000000..bf93d09 --- /dev/null +++ b/indexing/webpage/index.html @@ -0,0 +1,127 @@ + + + + FLUENT Verification Case Studies + + + + + + + + + +
+
 
+ +
+
+ Circuit0x8E/hazardFree.prism + Prism + Infinite + Benchmark +
+ Some information about the model here +
+
+
+
+ + + diff --git a/indexing/webpage/scripts/indexReader.js b/indexing/webpage/scripts/indexReader.js new file mode 100644 index 0000000..cf8e635 --- /dev/null +++ b/indexing/webpage/scripts/indexReader.js @@ -0,0 +1,161 @@ +const indexLocation = "../../index.json" + +// Get the index +// let index = require(indexLocation); +let index = []; + +function loadSuggestions() { + let mySuggestions = []; + // Suggestions are all of the names + index.forEach(el => { + mySuggestions[mySuggestions.length] = el["name"]; + }) + return mySuggestions; +} + +function loadTags() { + let tags = []; + index.forEach(el => { + el["tags"].forEach(tag => { + tags[tags.length] = tag; + }); + }); + return tags; +} + +// TODO: this suggestions array needs to be populated with actual suggestions + +let suggestions = [ + "foo" + , "bar" + , "baz" + , "foobar" + , "foobaz" + , "fun" + , "zedd" + , "case" + , "never" + , "gonna" + , "give" + , "you" + , "up" +]; + +let tagSuggestionsArray = [ + "foo" + , "bar" + , "baz" + , "foobar" + , "foobaz" + , "fun" + , "zedd" + , "case" + , "never" + , "gonna" + , "give" + , "you" + , "up" +]; + +const usedTags = new Set(); + +function hideAllSuggestions() { + // console.log("hiding all suggestions"); + let querySuggestions = document.getElementById('query-suggestions'); + let tagSuggestions = document.getElementById('tag-suggestions'); + querySuggestions.innerHTML = ""; + tagSuggestions.innerHTML = ""; + querySuggestions.style.display = "None"; + tagSuggestions.style.display = "None"; +} + +/* Query Suggestions */ + +function showSuggestions() { + let queryText = document.getElementById('query'); + let querySuggestions = document.getElementById('query-suggestions'); + let currentQuery = queryText.value.toLowerCase(); + querySuggestions.innerHTML = ""; + querySuggestions.style.display = "None"; + if (currentQuery.length == 0) { return; } + if (suggestions.length > 0) { querySuggestions.style.display = "Block"; } + suggestions.forEach(s => { + let locationIndex = s.indexOf(currentQuery) + if (locationIndex >= 0 && s != currentQuery) { + querySuggestions.innerHTML += "
" + s + "
"; + // console.log(s); + } + // else { + // console.log("Omitting " + s + " since query is " + currentQuery); + // } + }); +} + +function acceptSuggestion(suggestion) { + let queryText = document.getElementById('query'); + queryText.value = suggestion; + showSuggestions(); +} + +/* Tag suggestions */ + +function showTagSuggestions() { + let tagText = document.getElementById('tags'); + let tagSuggestions = document.getElementById('tag-suggestions'); + let currentTag = tagText.value.toLowerCase(); + tagSuggestions.innerHTML = ""; + tagSuggestions.style.display = "None"; + if (currentTag.length == 0) { return; } + if (suggestions.length > 0) { tagSuggestions.style.display = "Block"; } + tagSuggestionsArray.forEach(s => { + if (usedTags.has(s)) { + return; + } + let locationIndex = s.indexOf(currentTag) + if (locationIndex >= 0 && s != currentTag) { + tagSuggestions.innerHTML += "
" + s + "
"; + } + }); +} + +function tagKeyPressHandler(event) { + if (event.keyCode == 13) { + createTag(document.getElementById('tags').value); + } +} + +function createTag(suggestion) { + let tagText = document.getElementById('tags'); + tagText.value = ""; + if (usedTags.has(suggestion)) { + // alert("Tag '" + suggestion + "' exists!"); + hideAllSuggestions(); + return; + } + usedTags.add(suggestion); + let tagList = document.getElementById('tags-box'); + tagList.innerHTML += "" + suggestion + ""; + showTagSuggestions(); +} + +function deleteTag(tag) { + document.getElementById('tag-' + tag).remove(); + usedTags.delete(tag); +} + +function queryKeyPressHandler(event) { + if (event.keyCode == 13) { + search(); + } +} + +function search() { + alert("Search not implemented yet!"); + // TODO +} + +function clearAllTags() { + let tagList = document.getElementById('tags-box'); + tagList.innerHTML = ""; + usedTags.clear(); +} diff --git a/indexing/webpage/scripts/scripts.js b/indexing/webpage/scripts/scripts.js new file mode 100644 index 0000000..f2c1211 --- /dev/null +++ b/indexing/webpage/scripts/scripts.js @@ -0,0 +1,51 @@ +let advancedVisible = false; +let navExpanded = false; + +function toggleAdvanced() { + if (advancedVisible) { + document.getElementById("advanced").classList.remove("visible"); + document.getElementById("toggle-advanced").classList.remove("toggled"); + } + else { + document.getElementById("advanced").classList.add("visible"); + document.getElementById("toggle-advanced").classList.add("toggled"); + } + advancedVisible = !advancedVisible; +} + +function toggleNavbar() { + if (!navExpanded) { + console.log("Expanding navbar"); + document.querySelectorAll(".navlink").forEach(a => a.classList.add('navlink-expanded')); + document.getElementById("toggle-nav").innerHTML = "×"; + } + else { + console.log("Retracting navbar"); + document.querySelectorAll(".navlink").forEach(a => a.classList.remove('navlink-expanded')); + document.getElementById("toggle-nav").innerHTML = "☰"; + } + navExpanded = !navExpanded; +} + +function setDarkMode() { + var rt = document.querySelector(":root"); + rt.style.setProperty("--color", "#eeeeee"); + rt.style.setProperty("--background", "#212121"); + +} + +function setLightMode() { + var rt = document.querySelector(":root"); + rt.style.setProperty("--color", "#444444"); + rt.style.setProperty("--background", "#ffffff"); +} + +function setDarkOrLightMode() { + var darkMode = document.getElementById("dark-light").checked; + if (darkMode) { + setDarkMode(); + } + else { + setLightMode(); + } +} diff --git a/indexing/webpage/styles/styles.css b/indexing/webpage/styles/styles.css new file mode 100644 index 0000000..a8ab312 --- /dev/null +++ b/indexing/webpage/styles/styles.css @@ -0,0 +1,346 @@ +@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@400;700&display=swap'); + +:root { + --accent: #1370c1; + --accent-light: #40aef3; +} + +@media (prefers-color-scheme: light) { + :root { + --background: #ffffff; + --color: #444444; + } +} + +@media (prefers-color-scheme: dark) { + :root { + --background: #212121; + --color: #eeeeee; + } +} + + +body { + font-family: 'Quicksand', sans-serif; + color: var(--color); + background-color: var(--background); + transition: all 200ms ease; +} + +a { + text-decoration: none; + color: var(--accent); +} + +a:hover { + color: var(--accent-light); +} + +#navbar { + position: fixed; + width: 100%; + display: block; + top: 0px; + left: 0px; + background-color: var(--accent); + color: var(--background);; + z-index: 500; +} + +#navbar a { + color: white; + text-decoration: none; + padding: 15px; + display: inline-block; + border-bottom: 4px solid var(--accent); + border-top: 4px solid var(--accent); + transition: all 200ms ease; +} + +#navbar a:hover { + border-bottom: 4px solid #abe6ff; + color: #abe6ff; +} + +#logo { + font-weight: bold; +} + +#top-buffer { + height: 70px; +} + +#search input[type="text"], #search select { + border: none; + border-bottom: 1px solid #cccccc; + padding: 10px; +/* border-radius: 20px; */ + padding-left: 30px; + padding-right: 30px; + margin-bottom: 20px; + background-color: var(--background);; + color: var(--color); +} + +#search input[type="text"] { + width: calc(100% - 65px); +} + +#contents { + padding-left: 10%; + padding-right: 10%; +} + +#results, .results { +/* border: 1px solid #7d7d7d; */ + display: block; + padding: 10px 0px 10px 0px; + border-radius: 25px; + height: 80%; + position: relative; +} + +.result { + background-color: var(--background); + display: inline-block; + width: calc(100% - 40px); +/* border: 1px solid #7d7d7d; */ +/* border-radius: 25px; */ + padding: 20px; + margin-bottom: 20px; +} + +.result .result-title { + display: inline-block; + width: 100%; + font-weight: bold; + padding-bottom: 10px; + padding-top: 10px; +} + +.result-info { + padding-top: 10px; +} + +.tag { + display: inline-block; +/* border-radius: 20px; */ + background-color: var(--accent); + color: white; + padding: 3px; +/* padding-left: 20px; + padding-right: 20px;*/ + padding-left: 10px; + padding-right: 10px; + transition: all 200ms ease; + cursor: pointer; + font-size: 14px; + margin-right: 5px; +} + +.tag:hover { + color: var(--accent); + border: 1px solid var(--accent); + background-color: var(--background);; +} + +#footer { + background-color: #cccccc22; + position: absolute; + display: block; + left: 0px; + margin: 0px; + margin-top: 30px; + padding: 50px; + padding-left: 20%; + padding-right: 20%; + width: 60%; /*calc(100% - 100px);*/ + font-size: 9pt; +} + +label.hidden { + display: none; +} + +#toggle-advanced { + display: block; +/* width: 100%; */ +/* border-bottom: 2px solid var(--accent); */ + margin-bottom: 10px; +/* margin-left: 20px; */ + padding: 0px 10px 0px 10px; + cursor: pointer; + position: relative; + right: 0px; +} + +#toggle-advanced:before { + content: '\2B9F'; + padding-right: 10px; + color: var(--accent); +} + +#toggle-advanced:hover { + color: var(--accent); +} + +#toggle-advanced.toggled:before { + content: '\2B9D'; +} + +#advanced { + overflow-y: hidden; + height: 0px; + transition: all 400ms ease; +} + +#advanced.visible { + height: auto; +} + +/* Checkbox stuff */ +input[type=checkbox] { + visibility: hidden; +} +.checkbox-styled { + width: 45px; + height: 15px; + border: 1px solid #888888; + margin: 20px 10px; + position: relative; + border-radius: 12px; + display: inline-block; +} +.checkbox-styled label { + display: block; + width: 24px; + height: 24px; + border-radius: 50%; + transition: all .5s ease; + cursor: pointer; + position: absolute; + top: -5px; + left: -3px; + background: #888888; +} +.checkbox-styled input[type=checkbox]:checked + label { + left: 27px; + background: var(--accent); +} + +.check-label { + display: inline-block; + width: calc(100% - 100px); +} + +.column-half { + display: inline-block; + width: 49%; + position: relative; + top: 0px; +} + +/* Search suggestions */ + +.suggestions { + display: none; + border: 1px solid #cccccc; + border-top: 1px solid var(--background); +/* box-shadow: 0px 8px 7px var(--background); ALT: #ebebeb55; */ + padding-left: 30px; + padding-right: 30px; + position: absolute; + background-color: var(--background); + z-index: 5; + width: 70%; +/* border-radius: 0px 0px 20px 20px; */ +} + +.suggestion { + padding: 10px; + cursor: pointer; + color: var(--color); + border-bottom: 1px solid var(--background); +} + +.suggestion:hover { + border-bottom: 1px solid var(--accent); + color: var(--accent); +} + +#query-suggestions { + top: 199px; +} + +#tag-suggestions { + top: 314px; +} + +/*.search-button { + position: absolute; + top: 170px; + left: 200px; +}*/ +.search-button:hover, .icon-overlay:hover { + color: var(--accent); +} + +.icon-overlay, .search-button { + cursor: pointer; + display: block !important; + position: relative; + z-index: 2; + top: -50px; + width: 20px; + margin-left: 5px; +} + +.deletable:before { + content: '\1F5D9'; + padding-right: 10px; +} + +#clear-tags:hover { +/* width: 100px; */ + font-family: 'Quicksand', sans-serif; +/* color: var(--background);; */ +/* color: #c10541; */ +/* padding: 10px; */ +} + +#clear-tags:hover:before { + content: '\1F5D9'; +} + +/* Navbar adaptivity */ + +.navlink, .full-width { + cursor: pointer; + transition: all 300ms ease; + color: var(--color); + text-align: center; +} + +#navbar .full-width { +/* float: right; */ + width: 100%; + display: none; +} + + +@media screen and (max-width: 900px) { + #navbar .navlink { + display: none; + height: 0px; + width: 100%; + } + + #navbar .navlink-expanded { + display: block !important; + height: auto; + } + + #navbar .full-width { + display: inline-block; + } +} diff --git a/spec.md b/spec.md new file mode 100644 index 0000000..67579a4 --- /dev/null +++ b/spec.md @@ -0,0 +1,99 @@ +# Repository Specifications + +## Minimum Information Required In the Annotation of Models [(MIRIAM)](https://en.wikipedia.org/wiki/Minimum_information_required_in_the_annotation_of_models) + +- Model must have a name +- Must identify the author(s), including contact information +- Creation and last modified dates must be included +- Licensing information + +## File Structure + +``` +. +├── README.md # Quick start information +├── spec.md # This file. Repository structure details +├── Tools +| └── README.md # Tools user guide (required) +├── Scripts +| ├── README.md # Scripts user guide (required) +| ├── downloader.py # Download script +| └── manager.py # Management script +├── +| ├── README.md # Category description (required) +| ├── +| | ├── README.md # Model details for all versions (required) +| | ├── meta.json # Model metadata for all versions (required) +| | └── +| | ├── README.md # Version specific model details (optional) +| | ├── meta.json # Version specific model metadata (required) +| | ├── results.txt # Pre-calculated, expected results (required) +| | ├── . # Model file (required) +| | ├── . # Model file in alternate format (optional) +| | └── ... +| └── +| └── ... +└── + └── ... +``` + + + +## File/Directory Naming Conventions + +- All **files** and **directories** shall contain only alphanumeric or underscore characters. +- All words shall be separated by an **underscore**. +- **Model categories** and **model names** + - Shall use title case capitalization. +- **Version directories** + - Shall be of the format `_v`, e.g. `n100_m10_v1.1.3`. + - Should be lowercase, unless there is reasoning otherwise. + +## File Formats + +### Readme + +### meta.json + +Example: +```json +{ + "model": { + "authors": [ + "John Doe": { + "email": "john.doe@example.com", + }, + ], + "created": "2022-12-01", + "modified": "2023-01-12", + "license": "GPLv3", + "tags": [ + "contrived", + "unbounded", + ], + }, +} +``` + +### results.txt + +## Specification Data +```json +{ + "spec": { + "version": { + "major": 0, + "minor": 1, + "patch": 0 + }, + "tags": { + "contrived": "Contrived", + "unbounded": "Unbounded Models/Massive Models", + "bounded": "Bounded Models", + "challenging": "Challenging Models", + "low_prob": "Low probability events", + }, + } +} +``` +