/*dot version 1.15.20040901.0430 size="10,10",*/ digraph C { graph [ratio=compress,rankdir=LR]; node[fontsize=10.0]; edge []; /*管理流程 */ CA->As[color=firebrick ]; As->Sadd->CS->chk->CC[color=firebrick ]; As->Sedit->CS->pub->CC; As->Sdel->CS->pub->CC; As->Sask->CS->ls->CA; CA->Ap; Ap->SPadd->CS->pub->CC; Ap->SPedit->CS->pub->CC; Ap->SPdel->CS->pub->CC; CA->Asrv->CC; CA->Asrv->CS; CA->Ad; Ad->Dadd->CS->pub->CC; Ad->Ddel->CS->pub->CC; /* 结点定义 */ /*核心服务 fontcolor=floralwhite,style=filled,color=orangered3,shape=ellipse */ /*调度员服务*/ CS[label="Woodpecker.OGNS\n.Service\n.Dispatcher" ,fontcolor=floralwhite,style=filled,color=orangered3,shape=ellipse]; /*Service.Agent 中介者服务*/ CC[label="Woodpecker.OGNS\n.Service\n.Agent\n( DEMO related Server s \n means maybe some Woodpecker.OGNS clients server)" ,style=filled,color=moccasin,shape=egg]; /*Service.Agent 中介者服务管理*/ CA[label="Woodpecker.OGNS\n.Service\n.Administrator" ,style=filled,color=moccasin,shape=egg]; /*管理事务 ,fontcolor=floralwhite,style=filled,color=darkolivegreen,shape=box */ As[label="Woodpecker.OGNS\n.Administrator\n.server" ,fontcolor=floralwhite,style=filled,color=darkolivegreen,shape=box]; Asrv[label="Woodpecker.OGNS\n.Administrator\n.service" ,fontcolor=floralwhite,style=filled,color=darkolivegreen,shape=box]; Ap[label="Woodpecker.OGNS\n.Administrator\n.partition" ,fontcolor=floralwhite,style=filled,color=darkolivegreen,shape=box]; Ad[label="Woodpecker.OGNS\n.Administrator\n.depend" ,fontcolor=floralwhite,style=filled,color=darkolivegreen,shape=box]; /*服务事务 style=filled,color=yellowgreen,shape=hexagon*/ Sadd[label="Woodpecker.OGNS\n.Processor\n.ServerAdd" style=filled,color=yellowgreen,shape=hexagon]; Sedit[label="Woodpecker.OGNS\n.Processor\n.ServerEdit" style=filled,color=yellowgreen,shape=hexagon]; Sdel[label="Woodpecker.OGNS\n.Processor\n.ServerDel" style=filled,color=yellowgreen,shape=hexagon]; Sask[label="Woodpecker.OGNS\n.Processor\n.ServerAsk" style=filled,color=yellowgreen,shape=hexagon]; /*依赖事务 style=filled,color=mistyrose,shape=house*/ Dadd[label="Woodpecker.OGNS\n.Processor\n.DependAdd" style=filled,color=mistyrose,shape=house]; Ddel[label="Woodpecker.OGNS\n.Processor\n.DependDel" style=filled,color=mistyrose,shape=house]; /*分区事务 style=filled,color=olivedrab1,shape=hexagon*/ SPadd[label="Woodpecker.OGNS\n.Processor\n.ServerAdd\n.partition" style=filled,color=olivedrab1,shape=hexagon]; SPedit[label="Woodpecker.OGNS\n.Processor\n.ServerEdit\n.partition" style=filled,color=olivedrab1,shape=hexagon]; SPdel[label="Woodpecker.OGNS\n.Processor\n.ServerDel\n.partition" style=filled,color=olivedrab1,shape=hexagon]; /*事务处理 */ chk[label="Checking\n return\n allow|disallow"]; ls[label="Searching\n return\n info. list"]; pub[label="Publishing\n broadcast this mess.\n to all Woodpecker.OGNS node"]; }