2010-05-03 8 views
3

신호 연결을 간단한 체계 또는 그래프로 변환하는 방법을 찾고 있습니다.Perl을 사용하여 연결 데이터 행을 구성표 블록으로 변환하려면 어떻게해야합니까?

의 내가 주변이 개 2 라인 구성 요소/신호 있다고 가정 해 봅시다 :

component A: 
input - S1 
output - S2 

component B: 
input - S2 
output - S1 

이 될 것 입력 데이터 파일을, 출력은 약 라인을 연결하는 2 개 개의 블록으로 표시하는 제도가 될 것입니다 그 (것)들 또는 삽화 도표.

그 구현이 Perl의 세계에 존재하는지 궁금합니다.

답변

6

graphviz 그래프 생성기와 같은 것을 원하는 것 같습니다.

C로 작성되었지만 Perl 인터페이스 인 GraphViz이 있습니다.

예 :

use GraphViz; 
use File::Slurp qw(write_file); 

my $g = GraphViz->new; 
$g->add_node('componentA'); 
$g->add_node('componentB'); 
$g->add_edge('componentB' => 'componentA', label => 'S1'); 
$g->add_edge('componentA' => 'componentB', label => 'S2'); 

write_file('out.png', $g->as_png); 

당신은 당신의 입력 데이터를로드 한 후 각각에 대해 add_edge를 호출 신호의 수에 해시를 통해 구성 요소의 연결을 추적 할 수 있습니다.

출력 :

graphviz output http://img704.imageshack.us/img704/2624/outd.png

(라벨은 선택 사항입니다).

+0

이것이 좋을지도 모르지만 그래도 GraphViz를 살펴본 후에 가독성을 잃지 않고 방대한 데이터 연결을 만들 수 있는지 궁금합니다. 마지막 목적은 CPU 아키텍처를 매핑하는 것입니다. – YoDar

관련 문제