Esempio n. 1
0
    model_libraries = [cyphy_model_dir]
    for directory in os.listdir(cyphy_model_dir):
        if os.path.isdir(os.path.join(cyphy_model_dir,directory)):
            model_libraries.append(os.path.abspath(os.path.join(cyphy_model_dir,directory)))
    """

    model_libraries = [os.path.abspath(os.path.join(script_dir, "../CyPhy/"))]
    for directory in os.listdir(library_dir):
        if os.path.isdir(os.path.join(library_dir, directory)):
            model_libraries.append(
                os.path.abspath(os.path.join(library_dir, directory)))
    print model_libraries

    get_fame_toolbox_modelica_libraries()

    results = PARC_FAME_Toolkit.fault_analyze_testbench(
        testbench_name, model_libraries)

except:
    sys.stderr.write("Can't list faults:\n%s\n" % traceback.format_exc())
    # more complicated error handling can be added here, if desired
else:
    # now render it as JSON
    with open(os.path.join(script_dir, 'possibleFault.json'), 'w') as outfile:
        jsondata = json.dumps(results, indent=4)
        outfile.write(jsondata)
    faultCnt = 0
    for i in range(len(results)):
        try:
            faultCnt = faultCnt + len(results[i]["modes"])
        except:
            pass
Esempio n. 2
0
    
    fame_cyphy_directory = os.path.join(tools['FAME']['InstallLocation']
    #os.environ['PATH'] += str(os.pathsep + os.path.join(tools['FAME']['InstallLocation'], 'bin'))

# TODO: model_config.json file
#this_file_path = os.path.dirname(os.path.abspath(__file__))
#cwd = os.getcwd()
#os.chdir(os.path.join(this_file_path, '..', 'CyPhy'))
#print 'current dir {0}'.format(os.getcwd())
#with open('model_config.json') as f_p:
#    model_config = json.load(f_p)
#for directory in model_config.get("lib_package_paths"):
#    libraries = [os.getcwd()+'\\']
#    for file in os.listdir(directory):
#        if not file.startswith(".") and (file.endswith(".mo") or (os.path.isdir(file) and os.path.isdir(os.path.join(file, "package.mo")))):
#            libraries.append(os.path.join(directory, file))

#model_name = model_config.get('model_name')
#print libraries
try:
    model_libraries = [os.path.abspath("/local/fame/v4x0lpvw/CyPhy"),
                       os.path.abspath("/local/fame/v4x0lpvw/Libraries/ModifiedMass")]
    results = PARC_FAME_Toolkit.fault_analyze_testbench(
        "CyPhy.TestBenches.MassSpringDamper_cfg2", model_libraries)
except:
    sys.stderr.write("Can't list faults:\n%s\n" % traceback.format_exc())
    # more complicated error handling can be added here, if desired
else:
    # now render it as JSON
    print json.dumps(results, indent=4)
Esempio n. 3
0
    # was in CyPhy folder.
    model_libraries = [cyphy_model_dir]
    for directory in os.listdir(cyphy_model_dir):
        if os.path.isdir(os.path.join(cyphy_model_dir,directory)):
            model_libraries.append(os.path.abspath(os.path.join(cyphy_model_dir,directory)))
    """
            
    model_libraries = [os.path.abspath(os.path.join(script_dir,"../CyPhy/"))]
    for directory in os.listdir(library_dir):
        if os.path.isdir(os.path.join(library_dir,directory)):
            model_libraries.append(os.path.abspath(os.path.join(library_dir,directory)))
    print model_libraries

    get_fame_toolbox_modelica_libraries()
    
    results = PARC_FAME_Toolkit.fault_analyze_testbench(
        testbench_name, model_libraries)
        
except:
    sys.stderr.write("Can't list faults:\n%s\n" % traceback.format_exc())
    # more complicated error handling can be added here, if desired
else:
    # now render it as JSON
    with open(os.path.join(script_dir,'possibleFault.json'),'w') as outfile:
        jsondata = json.dumps(results, indent=4)
        outfile.write(jsondata)
    faultCnt = 0
    for i in range(len(results)):
        try:
            faultCnt = faultCnt + len(results[i]["modes"])
        except:
            pass