mapss.dif.csdf.sdf.sched
Class CompactProcedureSynthesis

java.lang.Object
  extended by mapss.dif.csdf.sdf.sched.ProcedureSynthesis
      extended by mapss.dif.csdf.sdf.sched.CompactProcedureSynthesis

public class CompactProcedureSynthesis
extends ProcedureSynthesis

Compact procedure synthesis for a schedule. Synthesized procedures can be compacted by replacing single instantiated procedures. Users can choose to replace all or bottom level only of such procedures.

Version:
$Id: CompactProcedureSynthesis.java 406 2007-05-10 14:27:07Z plishker $
Author:
Mingyung Ko

Field Summary
 
Fields inherited from class mapss.dif.csdf.sdf.sched.ProcedureSynthesis
_bottomProcedures, _procedures, _schedules, _scheduleToProcedureMap, _topProcedure
 
Constructor Summary
CompactProcedureSynthesis(mocgraph.sched.Schedule schedule)
          Constructor of a schedule.
 
Method Summary
protected  void _makeSingleBottomsInlined()
          Make the procedures collection inlined into their callers.
protected  void _unregister(Procedure procedure)
          Unregister the procedure from the synthesis.
 java.lang.String toString(java.util.Map nameMap)
          Display the synthesized procedures in text.
 
Methods inherited from class mapss.dif.csdf.sdf.sched.ProcedureSynthesis
_getName, _register, _synthesize, getProcedure, getProcedure, procedureCount, procedureLabel, toString, toStringWithSchedules
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CompactProcedureSynthesis

public CompactProcedureSynthesis(mocgraph.sched.Schedule schedule)
Constructor of a schedule. By default, bottom-level procedures that are called exactly by single procedures are compacted.

Parameters:
schedule - The given schedule.
Method Detail

toString

public java.lang.String toString(java.util.Map nameMap)
Display the synthesized procedures in text.

Overrides:
toString in class ProcedureSynthesis
Parameters:
nameMap - Map from SDF nodes to their String names.
Returns:
The synthesized procedures.

_makeSingleBottomsInlined

protected void _makeSingleBottomsInlined()
Make the procedures collection inlined into their callers. In other words, these procedures are going to be eliminated for compaction.

Parameters:
procedureCollection - The collection of procedures.

_unregister

protected void _unregister(Procedure procedure)
Unregister the procedure from the synthesis. Procedures unregistered will not appear in the synthesis and can not be restored back.

Parameters:
procedure - The procedure to unregister.