Browse Source
			
			
			fix in getPlace; add capacities, GSPN settings and main file updated
			
				
		fix in getPlace; add capacities, GSPN settings and main file updated
	
		
	
			
				Former-commit-id:main375172b307[formerlyb8c1466633] Former-commit-id:efaeb8b238
				 11 changed files with 289 additions and 146 deletions
			
			
		- 
					5src/builder/JaniGSPNBuilder.h
 - 
					12src/parser/GspnParser.cpp
 - 
					68src/settings/modules/GSPNSettings.cpp
 - 
					59src/settings/modules/GSPNSettings.h
 - 
					45src/storage/gspn/GSPN.cpp
 - 
					21src/storage/gspn/GSPN.h
 - 
					6src/storage/gspn/GspnBuilder.cpp
 - 
					14src/storage/gspn/Place.cpp
 - 
					14src/storage/gspn/Place.h
 - 
					2src/storage/gspn/Transition.cpp
 - 
					189src/storm-gspn.cpp
 
@ -0,0 +1,68 @@ | 
				
			|||
#include "GSPNSettings.h"
 | 
				
			|||
 | 
				
			|||
#include "src/settings/SettingsManager.h"
 | 
				
			|||
#include "src/settings/SettingMemento.h"
 | 
				
			|||
#include "src/settings/Option.h"
 | 
				
			|||
#include "src/settings/OptionBuilder.h"
 | 
				
			|||
#include "src/settings/ArgumentBuilder.h"
 | 
				
			|||
#include "src/settings/Argument.h"
 | 
				
			|||
 | 
				
			|||
#include "src/exceptions/InvalidSettingsException.h"
 | 
				
			|||
 | 
				
			|||
namespace storm { | 
				
			|||
    namespace settings { | 
				
			|||
        namespace modules { | 
				
			|||
            const std::string GSPNSettings::moduleName = "gspn"; | 
				
			|||
             | 
				
			|||
            const std::string GSPNSettings::gspnFileOptionName = "gspnfile"; | 
				
			|||
            const std::string GSPNSettings::gspnFileOptionShortName = "gspn"; | 
				
			|||
            const std::string GSPNSettings::gspnToJaniOptionName = "to-jani"; | 
				
			|||
            const std::string GSPNSettings::gspnToJaniOptionShortName = "tj"; | 
				
			|||
            const std::string GSPNSettings::capacitiesFileOptionName = "capacitiesfile"; | 
				
			|||
            const std::string GSPNSettings::capacitiesFileOptionShortName = "capacities"; | 
				
			|||
             | 
				
			|||
             | 
				
			|||
            GSPNSettings::GSPNSettings() : ModuleSettings(moduleName) { | 
				
			|||
                this->addOption(storm::settings::OptionBuilder(moduleName, gspnFileOptionName, false, "Parses the pgcl program.").setShortName(gspnFileOptionShortName).addArgument(storm::settings::ArgumentBuilder::createStringArgument("filename", "path to file").addValidationFunctionString(storm::settings::ArgumentValidators::existingReadableFileValidator()).build()).build()); | 
				
			|||
                this->addOption(storm::settings::OptionBuilder(moduleName, gspnToJaniOptionName, false, "Transform to JANI.").setShortName(gspnToJaniOptionShortName).build()); | 
				
			|||
                this->addOption(storm::settings::OptionBuilder(moduleName, capacitiesFileOptionName, false, "Restrictions of program variables").setShortName(capacitiesFileOptionShortName).addArgument(storm::settings::ArgumentBuilder::createStringArgument("filename", "path to file").addValidationFunctionString(storm::settings::ArgumentValidators::existingReadableFileValidator()).build()).build()); | 
				
			|||
            } | 
				
			|||
             | 
				
			|||
            bool GSPNSettings::isGspnFileSet() const { | 
				
			|||
                return this->getOption(gspnFileOptionName).getHasOptionBeenSet(); | 
				
			|||
            } | 
				
			|||
             | 
				
			|||
            std::string GSPNSettings::getGspnFilename() const { | 
				
			|||
                return this->getOption(gspnFileOptionName).getArgumentByName("filename").getValueAsString(); | 
				
			|||
            } | 
				
			|||
             | 
				
			|||
            bool GSPNSettings::isToJaniSet() const { | 
				
			|||
                return this->getOption(gspnToJaniOptionName).getHasOptionBeenSet(); | 
				
			|||
            } | 
				
			|||
             | 
				
			|||
            bool GSPNSettings::isCapacitiesFileSet() const { | 
				
			|||
                return this->getOption(capacitiesFileOptionName).getHasOptionBeenSet(); | 
				
			|||
            } | 
				
			|||
             | 
				
			|||
            std::string GSPNSettings::getCapacitiesFilename() const { | 
				
			|||
                return this->getOption(capacitiesFileOptionName).getArgumentByName("filename").getValueAsString(); | 
				
			|||
            } | 
				
			|||
             | 
				
			|||
            void GSPNSettings::finalize() { | 
				
			|||
                 | 
				
			|||
            } | 
				
			|||
             | 
				
			|||
            bool GSPNSettings::check() const { | 
				
			|||
                if(!isGspnFileSet()) { | 
				
			|||
                    if(isToJaniSet()) { | 
				
			|||
                        return false; | 
				
			|||
                    } | 
				
			|||
                    if(isCapacitiesFileSet()) { | 
				
			|||
                        return false; | 
				
			|||
                    } | 
				
			|||
                } | 
				
			|||
                return true; | 
				
			|||
            } | 
				
			|||
        } | 
				
			|||
    } | 
				
			|||
} | 
				
			|||
@ -0,0 +1,59 @@ | 
				
			|||
#pragma once | 
				
			|||
 | 
				
			|||
#include "storm-config.h" | 
				
			|||
#include "src/settings/modules/ModuleSettings.h" | 
				
			|||
 | 
				
			|||
 | 
				
			|||
namespace storm { | 
				
			|||
    namespace settings { | 
				
			|||
        namespace modules { | 
				
			|||
            class GSPNSettings : public ModuleSettings { | 
				
			|||
            public: | 
				
			|||
                /*! | 
				
			|||
                 * Creates a new PGCL setting | 
				
			|||
                 */ | 
				
			|||
                GSPNSettings(); | 
				
			|||
                 | 
				
			|||
                /** | 
				
			|||
                 * Retrievew whether the pgcl file option was set | 
				
			|||
                 */ | 
				
			|||
                bool isGspnFileSet() const; | 
				
			|||
                 | 
				
			|||
                /** | 
				
			|||
                 * Retrieves the gspn file name | 
				
			|||
                 */ | 
				
			|||
                std::string getGspnFilename() const; | 
				
			|||
                 | 
				
			|||
                /** | 
				
			|||
                 * Whether the gspn should be transformed to Jani | 
				
			|||
                 */ | 
				
			|||
                bool isToJaniSet() const; | 
				
			|||
                 | 
				
			|||
                /** | 
				
			|||
                 * Retrievew whether the pgcl file option was set | 
				
			|||
                 */ | 
				
			|||
                bool isCapacitiesFileSet() const; | 
				
			|||
                 | 
				
			|||
                /** | 
				
			|||
                 * Retrieves the gspn file name | 
				
			|||
                 */ | 
				
			|||
                std::string getCapacitiesFilename() const; | 
				
			|||
                 | 
				
			|||
                 | 
				
			|||
                bool check() const override; | 
				
			|||
                void finalize() override; | 
				
			|||
                 | 
				
			|||
                static const std::string moduleName; | 
				
			|||
                 | 
				
			|||
            private: | 
				
			|||
                static const std::string gspnFileOptionName; | 
				
			|||
                static const std::string gspnFileOptionShortName; | 
				
			|||
                static const std::string gspnToJaniOptionName; | 
				
			|||
                static const std::string gspnToJaniOptionShortName; | 
				
			|||
                static const std::string capacitiesFileOptionName; | 
				
			|||
                static const std::string capacitiesFileOptionShortName; | 
				
			|||
                 | 
				
			|||
            }; | 
				
			|||
        } | 
				
			|||
    } | 
				
			|||
} | 
				
			|||
						Write
						Preview
					
					
					Loading…
					
					Cancel
						Save
					
		Reference in new issue