[
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 ]