From 75d1007a2e8748e5c8aa1de68fc55014643e4837 Mon Sep 17 00:00:00 2001 From: grammarware Date: Tue, 7 Apr 2009 08:14:04 +0000 Subject: [PATCH] LCI counts structural and name mismatches separately; selects the synch point on the diagram git-svn-id: https://slps.svn.sourceforge.net/svnroot/slps@540 ab42f6e0-554d-0410-b580-99e487e6eeb2 --- topics/convergence/lci/lci.py | 119 ++++++++++++------ .../java/lci/snapshot/architecture_large.pdf | Bin 32380 -> 37117 bytes .../java/lci/snapshot/architecture_small.pdf | Bin 10983 -> 10982 bytes 3 files changed, 84 insertions(+), 35 deletions(-) diff --git a/topics/convergence/lci/lci.py b/topics/convergence/lci/lci.py index 0db87beb..ce522824 100755 --- a/topics/convergence/lci/lci.py +++ b/topics/convergence/lci/lci.py @@ -42,11 +42,11 @@ def __eq__(self,other): return self.array==other.split('.') else: return self.array==other.array - def dotNodeName(self): + def dotNodeName(self,target): name = self.array[0] for a in self.array[1:]: name += '_'+stripSpecifics(a) - return name + return name+'_'+target def bgfFileName(self): name = self.array[0] for a in self.array[1:]: @@ -63,6 +63,14 @@ def spaceNotation(self): tmp = self.array[:] tmp.reverse() return ' '.join(tmp) + def type(self): + t = 0 + for a in self.array[1:]: + if ttype[a] in ('synchronization','postextraction','normalization'): + t = -1 + if ttype[a] in ('transformation','refactoring'): + t = 1 + return t def ChainFromArray(a): x = Chain() @@ -220,22 +228,23 @@ def makeGraph(): for branch in targets[x]: graphSmall.append((branch[0],x)) if len(branch)==1: - graphBig.append((branch,Chain(x),'')) + graphBig.append((branch,Chain(x),'',x)) else: for i in range(1,len(branch)-1): - graphBig.append((branch[:i],branch[:(i+1)],stripSpecifics(branch[i]))) - graphBig.append((branch[:-1],Chain(x),stripSpecifics(branch[-1]))) + graphBig.append((branch[:i],branch[:(i+1)],stripSpecifics(branch[i]),x)) + graphBig.append((branch[:-1],Chain(x),stripSpecifics(branch[-1]),x)) -def distanceFrom(node): - for t in targets.keys(): - if len(targets[t])!=2: - print '[WARN] Only binary branches supported for now.' - continue - if targets[t][0]().find(node())==0: - return compareGrammars(node,targets[t][1]) - elif targets[t][1]().find(node())==0: - return compareGrammars(node,targets[t][0]) - print '[FAIL]',node(),'not found in',targets +def distanceBetween(node,tgt): + if node()==tgt: + return '?' + if len(targets[tgt])!=2: + print '[WARN] Only binary branches supported for now.' + return '?' + if targets[tgt][0]().find(node())==0: + return compareGrammars(node,targets[tgt][1]) + elif targets[tgt][1]().find(node())==0: + return compareGrammars(node,targets[tgt][0]) + print '[FAIL]',node(),'not found on the way to target',tgt return '?' def compareGrammars(bgf,arr): @@ -245,15 +254,31 @@ def compareGrammars(bgf,arr): goal += '.'+stripCamelCase(a) #print '[----] Ready:',bgf,'vs',goal #print '[++++] Distance is:', - run = 'expr `'+tools['comparison'] + ' bgf/'+bgf.bgfFileName()+' bgf/'+goal+'.bgf | grep "Fail:" | wc -l` + `'+tools['comparison'] + ' bgf/'+bgf.bgfFileName()+' bgf/'+goal+'.bgf | grep "only:" | grep -o "\[..*\]" | wc -w`' + #run = 'expr `'+tools['comparison'] + ' bgf/'+bgf.bgfFileName()+' bgf/'+goal+'.bgf | grep "Fail:" | wc -l` + `'+tools['comparison'] + ' bgf/'+bgf.bgfFileName()+' bgf/'+goal+'.bgf | grep "only:" | grep -o "\[..*\]" | wc -w`' + run = tools['comparison'] + ' bgf/'+bgf.bgfFileName()+' bgf/'+goal+'.bgf | grep "only:" | grep -o "\[..*\]" | wc -w' writeLog(run) if os.system(run+' > TMP-res'): - print '[WARN] Cannot measure the distance between',bgf(),'and',goal - return '?' - num = open('TMP-res','r') - n = num.readline().strip() - num.close() - return n + #print '[WARN] Cannot count name mismatches between',bgf(),'and',goal + #return '?' + nameDiffs = '0' + else: + num = open('TMP-res','r') + nameDiffs = num.readline().strip() + num.close() + run = tools['comparison'] + ' bgf/'+bgf.bgfFileName()+' bgf/'+goal+'.bgf | grep Fail' + writeLog(run) + if os.system(run+' > TMP-res'): + #print '[WARN] Cannot count structural mismatches between',bgf(),'and',goal + #return '?' + strDiffs = 0 + else: + num = open('TMP-res','r') + strDiffs = 0 + for line in num.readlines(): + nsn = line.strip().split('(')[1].split(')')[0].split('/') + strDiffs += max(int(nsn[0]),int(nsn[1])) + num.close() + return nameDiffs+'+'+`strDiffs` def dumpGraph(df): dot = open(df+'_large.dot','w') @@ -280,22 +305,31 @@ def dumpGraph(df): dot.write('}\n') dot.write('node [shape=octagon, style=bold];\n') for x in targets.keys(): - dot.write(quote(x)) + dot.write(quote(x+'_'+x)+' [label="'+x+'"]') if x in failed: dot.write(' [color=red]') dot.write(';') dot.write('node [shape=circle, style=solid];\n') + # connect real target&source nodes with the "zero step" ones + for x in targets.keys(): + for branch in targets[x]: + if branch[0] in targets.keys(): + dot.write(quote(branch[0]+'_'+branch[0])+'->'+branch[:1].dotNodeName(x)+';') + else: + dot.write(quote(branch[0])+'->'+branch[:1].dotNodeName(x)+';') + # continue nodezz=[] - done = [] + dablNodezz=[] for arc in graphBig: - if (arc[0].dotNodeName(),arc[1].dotNodeName()) in done: - continue - dot.write(arc[0].dotNodeName()+'->'+arc[1].dotNodeName()) - done.append((arc[0].dotNodeName(),arc[1].dotNodeName())) - if arc[0] not in nodezz and arc[0]() not in targets.keys() and arc[0]() not in extractor.keys(): - nodezz.append(arc[0]) - if arc[1] not in nodezz and arc[1]() not in targets.keys() and arc[1]() not in extractor.keys(): - nodezz.append(arc[1]) + dot.write(arc[0].dotNodeName(arc[3])) + dot.write('->'+arc[1].dotNodeName(arc[3])) + if (arc[0],arc[3]) not in nodezz: + nodezz.append((arc[0],arc[3])) + if (arc[1],arc[3]) not in nodezz: + nodezz.append((arc[1],arc[3])) + if (arc[0][-1] in targets.keys()) or (arc[0][-1] in orderedsrc) or (arc[0][-1] in ttype.keys() and ttype[arc[0][-1]] in ('synchronization','postextraction','normalization')): + if (arc[1][-1] in targets.keys()) or (arc[1][-1] in ttype.keys() and ttype[arc[1][-1]] in ('transformation','refactoring')): + dablNodezz.append(arc[0].dotNodeName(arc[3])) par = '' if arc[2]: par += 'label="'+arc[2]+'" ' @@ -309,15 +343,30 @@ def dumpGraph(df): if par: dot.write(' ['+par+']') dot.write(';\n') - for node in nodezz: + for nNg in nodezz: + node,goal=nNg if node in failed: colour = 'red' elif node in almostFailed: colour = 'blue' else: colour = 'black' - # labels not needed anymore because nodes became points - dot.write(node.dotNodeName()+' [color='+colour+', label="'+distanceFrom(node)+'"];\n') + if node() in targets.keys(): + dot.write(quote(node()+'_'+goal)) + tmp =quote(node()+'_'+goal) + # test for end targets that do not need extra boxes + else: + dot.write(node.dotNodeName(goal)) + tmp = node.dotNodeName(goal) + cx = distanceBetween(node,goal) + #print '[----]',node,'(->',goal,') =',cx,'['+tmp+']' + dot.write(' [color='+colour) + if cx != '?': + dot.write(', label="'+cx+'"') + if node.dotNodeName(goal) in dablNodezz: + # synch point + dot.write(', shape=doublecircle') + dot.write('];\n') dot.write('}') dot.close() run = 'dot -Tpdf '+dot.name+' -o '+df+'_large.pdf' diff --git a/topics/java/lci/snapshot/architecture_large.pdf b/topics/java/lci/snapshot/architecture_large.pdf index d888348655f0c9ca4c94d92496725f6c05663b98..7a1ebbccd14456d13755ae1f15d00c3f6e4bcd15 100644 GIT binary patch delta 34231 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 delta 29587 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 diff --git a/topics/java/lci/snapshot/architecture_small.pdf b/topics/java/lci/snapshot/architecture_small.pdf index d18b779ca20913fd73403d56dbeacf34ef6bb07e..9a03d5671bd9437454e3e7bcdce9785ca2730a39 100644 GIT binary patch delta 6105 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 YrI$~Dm#rO+AW%d|1c!}H38IYiKQa-asQ>@~ delta 6096 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