Browse Source
			
			
			support for transient assignments in locations, changed assignment to jani::variable, notice that (already broken) prism-to-jani is disabled as long as we reshape jani code
			
				
		support for transient assignments in locations, changed assignment to jani::variable, notice that (already broken) prism-to-jani is disabled as long as we reshape jani code
	
		
	
			
				Former-commit-id:main9bf2f68c7c[formerly2a1181a603] Former-commit-id:d487b0fc74
				 6 changed files with 84 additions and 12 deletions
			
			
		- 
					26src/parser/JaniParser.cpp
 - 
					14src/storage/jani/Assignment.cpp
 - 
					18src/storage/jani/Assignment.h
 - 
					15src/storage/jani/Location.cpp
 - 
					19src/storage/jani/Location.h
 - 
					4src/storage/prism/Program.cpp
 
@ -1,25 +1,42 @@ | 
				
			|||
#pragma once | 
				
			|||
 | 
				
			|||
#include <string> | 
				
			|||
#include <vector> | 
				
			|||
#include "src/storage/jani/Assignment.h" | 
				
			|||
 | 
				
			|||
namespace storm { | 
				
			|||
    namespace jani { | 
				
			|||
         | 
				
			|||
        /** | 
				
			|||
         * Jani Location: | 
				
			|||
         *  | 
				
			|||
         * Whereas Jani Locations also support invariants, we do not have support for them (as we do not support any of the allowed model types) | 
				
			|||
         */ | 
				
			|||
        class Location { | 
				
			|||
        public: | 
				
			|||
            /*! | 
				
			|||
             * Creates a new location. | 
				
			|||
             */ | 
				
			|||
            Location(std::string const& name); | 
				
			|||
            Location(std::string const& name, std::vector<Assignment> const& transientAssignments = {}); | 
				
			|||
             | 
				
			|||
            /*! | 
				
			|||
             * Retrieves the name of the location. | 
				
			|||
             */ | 
				
			|||
            std::string const& getName() const; | 
				
			|||
             | 
				
			|||
            /*! | 
				
			|||
             * | 
				
			|||
             */ | 
				
			|||
            std::vector<Assignment> const& getTransientAssignments() const; | 
				
			|||
             | 
				
			|||
            /*! | 
				
			|||
             * Checks whether the location is valid, that is, whether the assignments are indeed all transient assignments. | 
				
			|||
             */ | 
				
			|||
            void checkValid() const; | 
				
			|||
        private: | 
				
			|||
            // The name of the location. | 
				
			|||
            std::string name; | 
				
			|||
            std::vector<Assignment> transientAssignments; | 
				
			|||
        }; | 
				
			|||
         | 
				
			|||
    } | 
				
			|||
						Write
						Preview
					
					
					Loading…
					
					Cancel
						Save
					
		Reference in new issue