Пример #1
0
 def __linearise(self, log):
     '''Linearises self.spec1 and self.spec2 and applies lpssuminst to the 
    resulting LPSs.'''
     log.info('Linearising LPSs for {0}'.format(self))
     result1 = tools.mcrl22lps('-fnD',
                               stdin=self.spec1,
                               memlimit=LPSTOOLS_MEMLIMIT,
                               timeout=LPSTOOLS_TIMEOUT)['out']
     result2 = tools.mcrl22lps('-fnD',
                               stdin=self.spec2,
                               memlimit=LPSTOOLS_MEMLIMIT,
                               timeout=LPSTOOLS_TIMEOUT)['out']
     log.info('Applying lpssuminst to LPSs for {0}'.format(self))
     result1 = tools.lpssuminst('-f',
                                stdin=result1,
                                memlimit=LPSTOOLS_MEMLIMIT,
                                timeout=LPSTOOLS_TIMEOUT)['out']
     result2 = tools.lpssuminst('-f',
                                stdin=result2,
                                memlimit=LPSTOOLS_MEMLIMIT,
                                timeout=LPSTOOLS_TIMEOUT)['out']
     lpsfile1 = self._newTempFile('lps', ".spec1")
     lpsfile1.write(result1)
     lpsfile1.close()
     lpsfile2 = self._newTempFile('lps', ".spec2")
     lpsfile2.write(result2)
     lpsfile2.close()
     return lpsfile1.name, lpsfile2.name
Пример #2
0
 def _makeLPS(self, log):
     '''Linearises the specification in self._mcrl2 and applies lpssuminst,
 lpsparunfold and lpsconstelm to the result.'''
     log.debug('Linearising {0}'.format(self))
     result = tools.mcrl22lps('-vnf',
                              stdin=self._mcrl2,
                              memlimit=LPSTOOLS_MEMLIMIT,
                              timeout=LPSTOOLS_TIMEOUT)['out']
     log.debug('Applying suminst on LPS of {0}'.format(self))
     result = tools.lpssuminst(stdin=result,
                               memlimit=LPSTOOLS_MEMLIMIT,
                               timeout=LPSTOOLS_TIMEOUT)['out']
     log.debug('Applying parunfold (for Board) on LPS of {0}'.format(self))
     result = tools.lpsparunfold('-lv',
                                 '-n{0}'.format(self.__boardheight),
                                 '-sBoard',
                                 stdin=result,
                                 memlimit=LPSTOOLS_MEMLIMIT,
                                 timeout=LPSTOOLS_TIMEOUT)['out']
     log.debug('Applying parunfold (for Row) on LPS of {0}'.format(self))
     result = tools.lpsparunfold('-lv',
                                 '-n{0}'.format(self.__boardwidth),
                                 '-sRow',
                                 stdin=result,
                                 memlimit=LPSTOOLS_MEMLIMIT,
                                 timeout=LPSTOOLS_TIMEOUT)['out']
     log.debug('Applying constelm on LPS of {0}'.format(self))
     result = tools.lpsconstelm(
         '-ctvrjittyc' if self.__use_compiled_constelm else '-ctv',
         stdin=result,
         memlimit=LPSTOOLS_MEMLIMIT,
         timeout=LPSTOOLS_TIMEOUT)['out']
     return result
Пример #3
0
 def __linearise(self, log):
   '''Linearises self.spec1 and self.spec2 and applies lpssuminst to the 
      resulting LPSs.'''
   log.info('Linearising LPSs for {0}'.format(self))
   result1 = tools.mcrl22lps('-fnD', stdin=self.spec1, memlimit=LPSTOOLS_MEMLIMIT, timeout=LPSTOOLS_TIMEOUT)['out']
   result2 = tools.mcrl22lps('-fnD', stdin=self.spec2, memlimit=LPSTOOLS_MEMLIMIT, timeout=LPSTOOLS_TIMEOUT)['out']
   log.info('Applying lpssuminst to LPSs for {0}'.format(self))
   result1 = tools.lpssuminst('-f', stdin=result1, memlimit=LPSTOOLS_MEMLIMIT, timeout=LPSTOOLS_TIMEOUT)['out']
   result2 = tools.lpssuminst('-f', stdin=result2, memlimit=LPSTOOLS_MEMLIMIT, timeout=LPSTOOLS_TIMEOUT)['out']
   lpsfile1 = self._newTempFile('lps', ".spec1")
   lpsfile1.write(result1)
   lpsfile1.close()
   lpsfile2 = self._newTempFile('lps', ".spec2")
   lpsfile2.write(result2)
   lpsfile2.close()
   return lpsfile1.name, lpsfile2.name
Пример #4
0
 def _makeLPS(self, log):
     '''Linearises the specification in self._mcrl2.'''
     log.debug('Linearising {0}'.format(self))
     result = tools.mcrl22lps('-vnf',
                              stdin=self._mcrl2,
                              memlimit=LPSTOOLS_MEMLIMIT,
                              timeout=LPSTOOLS_TIMEOUT)['out']
     return result
Пример #5
0
 def _makeLPS(self, log):
   '''Linearises the specification in self._mcrl2 and applies lpssuminst to the
   result.'''
   log.debug('Linearising {0}'.format(self))
   result = tools.mcrl22lps('-vnf', stdin=self._mcrl2, memlimit=LPSTOOLS_MEMLIMIT, timeout=LPSTOOLS_TIMEOUT)['out']
   log.debug('Applying suminst on LPS of {0}'.format(self))
   result = tools.lpssuminst(stdin=result, memlimit=LPSTOOLS_MEMLIMIT, timeout=LPSTOOLS_TIMEOUT)['out']
   return result
 def _makeLPS(self, log):
   '''Linearises the specification in self._mcrl2 and applies lpssuminst,
   lpsparunfold and lpsconstelm to the result.'''
   log.debug('Linearising {0}'.format(self))
   result = tools.mcrl22lps('-nf', stdin=self._mcrl2, memlimit=MEMLIMIT)
   
   for (sort, times) in self.__unfoldList:
     log.debug('Applying parunfold (for {0}) on LPS of {1}'.format(sort, self))
     result = tools.lpsparunfold('-l', '-n{0}'.format(times), '-s{0}'.format(sort), stdin=result['out'], memlimit=MEMLIMIT)
     
   log.debug('Applying constelm on LPS of {0}'.format(self))
   result = tools.lpsconstelm('-ct', stdin=result['out'], memlimit=MEMLIMIT)
   return result['out']
Пример #7
0
 def _makeLPS(self, log):
     '''Linearises the specification in self._mcrl2 and applies lpssuminst to the
 result.'''
     log.debug('Linearising {0}'.format(self))
     result = tools.mcrl22lps('-vnf',
                              stdin=self._mcrl2,
                              memlimit=LPSTOOLS_MEMLIMIT,
                              timeout=LPSTOOLS_TIMEOUT)['out']
     log.debug('Applying suminst on LPS of {0}'.format(self))
     result = tools.lpssuminst(stdin=result,
                               memlimit=LPSTOOLS_MEMLIMIT,
                               timeout=LPSTOOLS_TIMEOUT)['out']
     return result
Пример #8
0
 def _makeLPS(self, log):
   '''Linearises the specification in self._mcrl2 and applies lpssuminst,
   lpsparunfold and lpsconstelm to the result.'''
   log.debug('Linearising {0}'.format(self))
   result = tools.mcrl22lps('-vnf', stdin=self._mcrl2, memlimit=LPSTOOLS_MEMLIMIT, timeout=LPSTOOLS_TIMEOUT)['out']
   log.debug('Applying suminst on LPS of {0}'.format(self))
   result = tools.lpssuminst(stdin=result, memlimit=LPSTOOLS_MEMLIMIT, timeout=LPSTOOLS_TIMEOUT)['out']
   log.debug('Applying parunfold (for Board) on LPS of {0}'.format(self))
   result = tools.lpsparunfold('-lv', '-n{0}'.format(self.__boardheight), '-sBoard', stdin=result, memlimit=LPSTOOLS_MEMLIMIT, timeout=LPSTOOLS_TIMEOUT)['out']
   log.debug('Applying parunfold (for Row) on LPS of {0}'.format(self))
   result = tools.lpsparunfold('-lv', '-n{0}'.format(self.__boardwidth), '-sRow', stdin=result, memlimit=LPSTOOLS_MEMLIMIT, timeout=LPSTOOLS_TIMEOUT)['out']
   log.debug('Applying constelm on LPS of {0}'.format(self))
   result = tools.lpsconstelm('-ctvrjittyc' if self.__use_compiled_constelm else '-ctv', stdin=result, memlimit=LPSTOOLS_MEMLIMIT, timeout=LPSTOOLS_TIMEOUT)['out']
   return result
 def _makeLPS(self, log):
   '''Linearises the specification in self._mcrl2.'''
   log.debug('Linearising {0}'.format(self))
   return tools.mcrl22lps('-nf', stdin=self._mcrl2, memlimit=MEMLIMIT)['out']
Пример #10
0
 def _makeLPS(self, log):
   '''Linearises the specification in self._mcrl2.'''
   log.debug('Linearising {0}'.format(self))
   result = tools.mcrl22lps('-vnf', stdin=self._mcrl2, memlimit=LPSTOOLS_MEMLIMIT, timeout=LPSTOOLS_TIMEOUT)['out']
   return result