[ Back ]
# threeclient.arch
# michael chen


# event aliases

set EVENT_ALIASES {
	{UIL.START_JAVA START_JAVA}
	{UIL.START_BROWSER START_BROWSER}
	{UIL.POSE_DISCUSSION_TOPIC POSE_TOPIC}
	{UIL.JOIN_DISCUSSION_SESSION_1 JOIN_DISCUSSION_1}
	{UIL.JOIN_DISCUSSION_SESSION_2 JOIN_DISCUSSION_2}
	{UIL.BROWSE_INFORMATION BROWSE_INFO}
	{UIL.CD.FD.PSROI.RECORD_POINTER_TO_ONLINE_INFO REFERENCE_THIS}
	{UIL.CD.FD.PSROI.POST_INFO_AS_FORMAL_STATEMENT POST_STATEMENT}
	{UIL.CD.FD.RELATE_FORMAL_STATEMENT_TO_DISCUSSION RELATE_STATEMENT}
	{UIL.CD.FD.REVISE_FORMAL_STATEMENT REVISE_STATEMENT}
	{UIL.AAFD.UNSPECIFIED_REQUEST_FOR_HELP HELP_REQUEST}
	{COL.IDA.START_BELVEDERE START_JAVA}
	{COL.IDA.NEW_INQUIRY_DIAGRAM NEW_INQUIRY_DIAGRAM}
	{COL.IDA.OPEN_INQUIRY_DIAGRAM OPEN_DIAGRAM}
	{COL.IDA.LIST_INQUIRY_DIAGRAM LIST_DIAGRAM}
	{COL.IDA.ADD_NODE ADD_NODE}
	{COL.IDA.ADD_EDGE ADD_EDGE}
	{COL.IDA.UPDATE_NODE UPDATE_NODE}
	{COL.IDA.REFERENCE_THIS REFERENCE_THIS}
	{COL.I_S.GET_URL GET_URL}
	{COL.I_S.START_BROWSER START_BROWSER}
	{COL.I_S.START_NETSCAPE START_BROWSER}
	{COL.AS.REQUEST_ADVICE REQUEST_ADVICE}
	{PB.HTMLPAGE HTML_PAGE}
	{PB.ADVICE ADVICE}
	{PB.RESPONSE RESPONSE}
	{PB.WEBSTARTUP WEB_STARTED}
	{PB.JAVASTARTUP JAVA_STARTED}
	{PB_IN.HTMLPAGE HTML_PAGE}
	{PB_IN.ADVICE ADVICE}
	{PB_IN.RESPONSE RESPONSE}
	{PB_IN.WEBSTARTUP WEB_STARTED}
	{PB_IN.JAVASTARTUP JAVA_STARTED}
}


# set Animation variables

set smMsg_boxcolor "white"
set smMsg_font "lucidasans-12"


# lrdc architecture

architecture lrdc_arch:1

dim 5 6

mod User_Module_1:1 "User\nNo. 1" rectangle {0.5 0.5} {1.5 1.5} \
	-fill "burlywood"
mod User_Module_2:1 "User\nNo. 2" rectangle {2.0 0.5} {3.0 1.5} \
	-fill "burlywood"
mod User_Module_1:2 "User\nNo. 3" rectangle {3.5 0.5} {4.5 1.5} \
	-fill "burlywood"
mod concepts_of_operation_interface:1 "Concepts 1" \
	rectangle {0.5 2.5} {1.5 3.5} -fill "maroon"
mod concepts_of_operation_interface:2 "Concepts 2" \
	rectangle {2.0 2.5} {3.0 3.5} -fill "maroon"
mod concepts_of_operation_interface:3 "Concepts 3" \
	rectangle {3.5 2.5} {4.5 3.5} -fill "maroon"
mod ail_arch:1 "Abstract Implementation" rectangle {0.5 4.5} {4.5 5.5} \
	-fill "darkolivegreen4"

set smL_color "black"

path User_Module_1:1 concepts_of_operation_interface:1 {1.0 1.5} \
	{1.0 2.5} -twoway both -width 2
path User_Module_2:1 concepts_of_operation_interface:2 {2.5 1.5} \
	{2.5 2.5} -twoway both -width 2
path User_Module_1:2 concepts_of_operation_interface:3 {4.0 1.5} \
	{4.0 2.5} -twoway both -width 2
path concepts_of_operation_interface:1 ail_arch:1 {1.0 3.5} {1.0 4.5} \
	-twoway both -width 2
path concepts_of_operation_interface:2 ail_arch:1 {2.5 3.5} {2.5 4.5} \
	-twoway both -width 2
path concepts_of_operation_interface:3 ail_arch:1 {4.0 3.5} {4.0 4.5} \
	-twoway both -width 2
end 


#ail architecture

architecture ail_arch:1

dim 9 10

mod ClientArch:1 "Client\nNo. 1" rectangle {0.75 2.0} {2.75 3.0} \
	-fill "grey73"
mod ClientArch:2 "Client\nNo. 2" rectangle {3.5 2.0} {5.5 3.0} \
	-fill "grey73"
mod ClientArch:3 "Client\nNo. 3" rectangle {6.25 2.0} {8.25 3.0}
mod ServerArch:1 "Sparc Server" rectangle {3.5 7.0} {5.5 8.0} \
	-fill "turquoise"

set smL_color "black"

path ail_arch:1 ClientArch:1 {4.0 0.0} {1.75 1.0} {1.75 2.0} \
	-twoway both -width 2
path ail_arch:1 ClientArch:2 {4.5 0.0} {4.5 2.0} \
	-twoway both -width 2
path ail_arch:1 ClientArch:3 {5.0 0.0} {7.25 1.0} {7.25 2.0} \
	-twoway both -width 2
path ClientArch:1 ServerArch:1 {1.75 3.0} {1.75 5.0} {4.0 7.0} \
	-twoway both -width 2
path ClientArch:2 ServerArch:1 {4.5 3.0} {4.5 7.0} \
	-twoway both -width 2
path ClientArch:3 ServerArch:1 {7.25 3.0} {7.25 5.0} {5.0 7.0} \
	-twoway both -width 2

end


#client architectures

architecture ClientArch:1

dim 3 3

mod WebBrowser:1 "Netscape" rectangle {0.5 1.25} {1.5 1.75} -fill "grey73"
mod JavaTools:1 "JAVA" rectangle {1.5 1.25} {2.5 1.75} -fill "grey73"

set smL_color "black"

path WebBrowser:1 ClientArch:1 {1.0 1.75} {1.25 2.375} {1.25 3.0} \
	-twoway both -width 2 -name WebAndServer1
path JavaTools:1 ClientArch:1 {2.0 1.75} {1.75 2.375} {1.75 3.0} \
	 -twoway both -width 2 -name JavaAndServer1
path ClientArch:1 WebBrowser:1 {1.25 0.0} {1.25 0.625} {1.0 1.25} \
	-twoway both  -width 2 -name WebAndArch1
path ClientArch:1 JavaTools:1 {1.75 0.0} {1.75 0.625} {2.0 1.25} \
	-twoway both -width 2 -name JavaAndArch1

end


architecture ClientArch:2

dim 3 3

mod WebBrowser:2 "Netscape" rectangle {0.5 1.25} {1.5 1.75} -fill "grey73"
mod JavaTools:2 "JAVA" rectangle {1.5 1.25} {2.5 1.75} -fill "grey73"

set smL_color "black"

path WebBrowser:2 ClientArch:2 {1.0 1.75} {1.25 2.375} {1.25 3.0} \
	-twoway both -width 2 -name WebAndServer2
path JavaTools:2 ClientArch:2 {2.0 1.75} {1.75 2.375} {1.75 3.0} \
	 -twoway both -width 2 -name JavaAndServer2
path ClientArch:2 WebBrowser:2 {1.25 0.0} {1.25 0.625} {1.0 1.25} \
	-twoway both  -width 2 -name WebAndArch2
path ClientArch:2 JavaTools:2 {1.75 0.0} {1.75 0.625} {2.0 1.25} \
	-twoway both -width 2 -name JavaAndArch2

end


architecture ClientArch:3

dim 3 3

mod WebBrowser:3 "Netscape" rectangle {0.5 1.25} {1.5 1.75} -fill "grey73"
mod JavaTools:3 "JAVA" rectangle {1.5 1.25} {2.5 1.75} -fill "grey73"

set smL_color "black"

path WebBrowser:3 ClientArch:3 {1.0 1.75} {1.25 2.375} {1.25 3.0} \
	-twoway both -width 2 -name WebAndServer3
path JavaTools:3 ClientArch:3 {2.0 1.75} {1.75 2.375} {1.75 3.0} \
	 -twoway both -width 2 -name JavaAndServer3
path ClientArch:3 WebBrowser:3 {1.25 0.0} {1.25 0.625} {1.0 1.25} \
	-twoway both  -width 2 -name WebAndArch3
path ClientArch:3 JavaTools:3 {1.75 0.0} {1.75 0.625} {2.0 1.25} \
	-twoway both -width 2 -name JavaAndArch3

end


#server architecture

architecture ServerArch:1

dim 9 4

mod ConnectionManager:1 "Connection\nManager" rectangle {7.5 1.0} {8.5 3.0} \
	-fill "steel blue"
mod HTTPServer:1 "Web Server" rectangle {0.5 1.0} {2.0 1.5} -fill "rosybrown"
mod SessionServer:1 "Session Server" rectangle {2.0 1.0} {3.5 1.5} \
	-fill "rosybrown"
mod Coach:1 "Coach" rectangle {5.5 1.0} {6.5 1.5} -fill "thistle"
mod Postgres:1 "Postgres" rectangle {3.5 3.0} {5.0 3.5} -fill "cadetblue"
mod Logfile:1 "WWW Logfile" rectangle {0.5 2.125} {2.0 2.625} -fill "rosybrown"
mod Tracker:1 "WWW Tracker" rectangle {0.5 3.25} {2.0 3.75} \
	-fill "rosybrown"

path HTTPServer:1 ServerArch:1 {1.25 1.0} {3.0 0.5} {3.0 0.0} \
	-twoway both -width 2
path Coach:1 ServerArch:1 {6.0 1.0} {5.0 0.5} {5.0 0.0} last -width 2
path SessionServer:1 ServerArch:1 {2.75 1.0} {4.0 0.5} {4.0 0.0} \
	-twoway both -width 2
path ConnectionManager:1 ServerArch:1 {8.0 1.0} {6.0 0.5} {6.0 0.0} \
	last -width 2
path HTTPServer:1 Logfile:1 {1.25 1.5} {1.25 2.125} last -width 2
path Logfile:1 Tracker:1 {1.25 2.625} {1.25 3.25} last -width 2
path SessionServer:1 Coach:1 {3.5 1.25} {5.5 1.25} last -width 2
path Coach:1 Postgres:1 {6.0 1.5} {6.0 3.25} {5.0 3.25} -twoway both -width 2
path SessionServer:1 Postgres:1 {2.5 1.5} {2.5 3.25} {3.5 3.25} \
	 -twoway both -width 2
path SessionServer:1 ConnectionManager:1 {3.0 1.5} {3.0 2.0} {7.5 2.0} \
	last -width 2

end


set EVENT_PATHS {
	{ClientArch:1 WebBrowser:1 GET_URL WebAndArch1}
	{ClientArch:1 JavaTools:1 NEW_INQUIRY_DIAGRAM JavaAndArch1}
	{ClientArch:1 JavaTools:1 OPEN_DIAGRAM JavaAndArch1}
	{ClientArch:1 JavaTools:1 LIST_DIAGRAM JavaAndArch1}
	{ClientArch:1 JavaTools:1 ADD_NODE JavaAndArch1}
	{ClientArch:1 JavaTools:1 ADD_EDGE JavaAndArch1}
	{ClientArch:1 JavaTools:1 UPDATE_NODE JavaAndArch1}
	{JavaTools:1 ClientArch:1 RESPONSE JavaAndArch1}
	{JavaTools:1 ClientArch:1 ADVICE JavaAndArch1}
	{ClientArch:1 JavaTools:1 REQUEST_ADVICE JavaAndArch1}
	{WebBrowser:1 ClientArch:1 Server_Request WebAndServer1}
#	{WebBrowser:1 ClientArch:1 LinkRequests WebAndServer1}
	{JavaTools:1 ClientArch:1 Server_Request JavaAndServer1}
	{WebBrowser:1 ClientArch:1 HTMLPAGE WebAndArch1}
	{ClientArch:1 WebBrowser:1 IN_HTMLPAGE WebAndServer1}
#	{ClientArch:1 WebBrowser:1 PageLinks WebAndServer1}
	{ClientArch:1 JavaTools:1 IN_RESPONSE JavaAndServer1}
	{ClientArch:1 JavaTools:1 IN_ADVICE JavaAndServer1}
	{ClientArch:1 WebBrowser:1 REF_THIS WebAndArch1}
	{ClientArch:1 JavaTools:1 NOTIFY JavaAndServer1}
	{ClientArch:2 WebBrowser:2 GET_URL WebAndArch2}
	{ClientArch:2 JavaTools:2 NEW_INQUIRY_DIAGRAM JavaAndArch2}
	{ClientArch:2 JavaTools:2 OPEN_DIAGRAM JavaAndArch2}
	{ClientArch:2 JavaTools:2 LIST_DIAGRAM JavaAndArch2}
	{ClientArch:2 JavaTools:2 ADD_NODE JavaAndArch2}
	{ClientArch:2 JavaTools:2 ADD_EDGE JavaAndArch2}
	{ClientArch:2 JavaTools:2 UPDATE_NODE JavaAndArch2}
	{JavaTools:2 ClientArch:2 RESPONSE JavaAndArch2}
	{JavaTools:2 ClientArch:2 ADVICE JavaAndArch2}
	{ClientArch:2 JavaTools:2 REQUEST_ADVICE JavaAndArch2}
	{WebBrowser:2 ClientArch:2 Server_Request WebAndServer2}
#	{WebBrowser:2 ClientArch:2 LinkRequests WebAndServer2}
	{JavaTools:2 ClientArch:2 Server_Request JavaAndServer2}
	{WebBrowser:2 ClientArch:2 HTMLPAGE WebAndArch2}
	{ClientArch:2 WebBrowser:2 IN_HTMLPAGE WebAndServer2}
#	{ClientArch:2 WebBrowser:2 PageLinks WebAndServer2}
	{ClientArch:2 JavaTools:2 IN_RESPONSE JavaAndServer2}
	{ClientArch:2 JavaTools:2 IN_ADVICE JavaAndServer2}
	{ClientArch:2 WebBrowser:2 REF_THIS WebAndArch2}
	{ClientArch:2 JavaTools:2 NOTIFY JavaAndServer2}
	{ClientArch:3 WebBrowser:3 GET_URL WebAndArch3}
	{ClientArch:3 JavaTools:3 NEW_INQUIRY_DIAGRAM JavaAndArch3}
	{ClientArch:3 JavaTools:3 OPEN_DIAGRAM JavaAndArch3}
	{ClientArch:3 JavaTools:3 LIST_DIAGRAM JavaAndArch3}
	{ClientArch:3 JavaTools:3 ADD_NODE JavaAndArch3}
	{ClientArch:3 JavaTools:3 ADD_EDGE JavaAndArch3}
	{ClientArch:3 JavaTools:3 UPDATE_NODE JavaAndArch3}
	{JavaTools:3 ClientArch:3 RESPONSE JavaAndArch3}
	{JavaTools:3 ClientArch:3 ADVICE JavaAndArch3}
	{ClientArch:3 JavaTools:3 REQUEST_ADVICE JavaAndArch3}
	{WebBrowser:3 ClientArch:3 Server_Request WebAndServer3}
#	{WebBrowser:3 ClientArch:3 LinkRequests WebAndServer3}
	{JavaTools:3 ClientArch:3 Server_Request JavaAndServer3}
	{WebBrowser:3 ClientArch:3 HTMLPAGE WebAndArch3}
	{ClientArch:3 WebBrowser:3 IN_HTMLPAGE WebAndServer3}
#	{ClientArch:3 WebBrowser:3 PageLinks WebAndServer3}
	{ClientArch:3 JavaTools:3 IN_RESPONSE JavaAndServer3}
	{ClientArch:3 JavaTools:3 IN_ADVICE JavaAndServer3}
	{ClientArch:3 WebBrowser:3 REF_THIS WebAndArch3}
	{ClientArch:3 JavaTools:3 NOTIFY JavaAndServer3}
}


proc per_event {id name params caller} {

   global smE_boxcolor

   case $name {
	
	HELP_REQUEST		{set smE_boxcolor "red"}
	REQUEST_ADVICE		{set smE_boxcolor "red"}
	DATABASEQUERY		{set smE_boxcolor "red"}
	QUERYRESPONSE		{set smE_boxcolor "red"}
	ADVICE			{set smE_boxcolor "red"}
	IN_ADVICE		{set smE_boxcolor "red"}
	QUERY			{set smE_boxcolor "red"}
	BROWSE_INFO		{set smE_boxcolor "black"}
	GET_URL			{set smE_boxcolor "black"}
	HTMLPAGE		{set smE_boxcolor "black"}
	HTML_PAGE		{set smE_boxcolor "black"}
	IN_HTMLPAGE		{set smE_boxcolor "black"}
	ADDRESS			{set smE_boxcolor "black"}
	IN_ADDRESS		{set smE_boxcolor "black"}
#	LINKREQUESTS		{set smE_boxcolor "black"}
#	PAGELINKS		{set smE_boxcolor "black"}
	START_BROWSER		{set smE_boxcolor "purple"}
	START_JAVA		{set smE_boxcolor "purple"}
	WEB_STARTED		{set smE_boxcolor "purple"}
	JAVA_STARTED		{set smE_boxcolor "purple"}
	REFERENCE_THIS		{set smE_boxcolor "orange"}
	REF_THIS		{set smE_boxcolor "orange"}
	RESPONSE {
	    if { [lindex $params 0] == {ADD_TO_INBOX} } {
		set smE_boxcolor "orange"
		}
	    }
	IN_RESPONSE {
	    if {$params == {ADD_TO_INBOX} } {
		set smE_boxcolor "orange"
		}
	    }
	SERVER_REQUEST {
	    if { [lrange $params 0 1] == {2 REQUEST_ADVICE} } {
		set smE_boxcolor "red"
		}
	    if { [lrange $params 0 1] == {1 DOCUMENT_REQUEST} } {
		set smE_boxcolor "black"
		}
	    if { [lrange $params 0 1] == {2 REFERENCE_THIS} } {
		set smE_boxcolor "orange"
		}
	    }
	REQUEST {
	    if { [lindex $params 0] == {REQUEST_ADVICE} } {
		set smE_boxcolor "red"
		}
	    if { [lindex $params 0] == {DOCUMENT_REQUEST} } {
		set smE_boxcolor "black"
		}
	    if { [lindex $params 0] == {REFERENCE_THIS} } {
		set smE_boxcolor "orange"
		}   
	    }
	TOCOACH {
	    if {$params == {REQUEST_ADVICE} } {
		set smE_boxcolor "red"
		}
	    }
	default			{set smE_boxcolor "blue"}
   }

   if {$name=="START"} {
	if {$caller=="CLIENTARCH:1"} {
	     rpChangeState CLIENTARCH:1 WEBBROWSER:1 invisible -p
	     rpChangeState CLIENTARCH:1 JAVATOOLS:1 invisible -p
	     }
	if {$caller=="CLIENTARCH:2"} {
	     rpChangeState CLIENTARCH:2 WEBBROWSER:2 invisible -p
	     rpChangeState CLIENTARCH:2 JAVATOOLS:2 invisible -p
	     }
	if {$caller=="CLIENTARCH:3"} {
	     rpChangeState CLIENTARCH:3 WEBBROWSER:3 invisible -p
	     rpChangeState CLIENTARCH:3 JAVATOOLS:3 invisible -p
	     }
   } elseif {$name=="WEBSTARTUP"} {
	if {$caller=="CLIENTARCH:1"} {
	     rpChangeState CLIENTARCH:1 WEBBROWSER:1 normal -p
	     }
	if {$caller=="CLIENTARCH:2"} {
	     rpChangeState CLIENTARCH:2 WEBBROWSER:2 normal -p
	     }
	if {$caller=="CLIENTARCH:3"} {
	     rpChangeState CLIENTARCH:3 WEBBROWSER:3 normal -p
	     }
   } elseif {$name=="JAVASTARTUP"} {
	if {$caller=="CLIENTARCH:1"} {
	     rpChangeState CLIENTARCH:1 JAVATOOLS:1 normal -p
	     }
	if {$caller=="CLIENTARCH:2"} {
	     rpChangeState CLIENTARCH:2 JAVATOOLS:2 normal -p
	     }
	if {$caller=="CLIENTARCH:3"} {
	     rpChangeState CLIENTARCH:3 JAVATOOLS:3 normal -p
	     }
	}
}



[ Back ]

© 1996 TRW Inc. All rights reserved.