Application Program

 

Component: At application structural level, component is a closely related piece of code, like class of Object-Oriented application program

Connector: Parameter-passing function as link between classes, so connector is common parameter of different classes.

Interface:

Link:

Example: Back to our previous example, suppose we use the following Java code to implement to JavaScript function, function MsgBox (textstring) {alert (textstring)}. A couple of lines Java code that implement the above form and submission may look like:

 

Coding example:

 

int n = JOptionPane.showConfirmDialog(frame,null,null, JOptionPane.YES_NO_OPTION); // generate a form

            …

            public String getValidatedText()  {

                        return typedText;

            }

// get user input text string

            typedText = textField.getText();

String ucText = typedText.toUpperCase();

//using Java Socket to transmit user input text string to web server

            Socket user = new Socket(“www.amazon.com”,80);

PrintWriter pout = new Printwriter(user.getOutputStream(),true);

Pout.println(ucText.toString());

 

From the above, we can see sequential structural diagram:

 

 

 

 

 

 

 

<!- - Namespace declaration - - >

<?xml version = “1.0”  encoding = “UTF-8” ?>

<xArch  xmlns = “http://www.ics.uci.edu/pub/arch/xArch/instance.xsd”

xmlns:instance = “http://www.ics.uci.edu/pub/arch/xArch/instance.xsd”

xmlns:types = “http://www.ics.uci.edu/pub/arch/xArch/types.xsd”

xmlns:xlink = “http://www.w3.org/1999/xlink”

xmlns:xsi = “http://www.w3.org/2000/10/XMLSchema-instance”>

 

<types:archStructure xsi:type = “types:ArchStructure”>

 

      <!- - Component: GenerateForm Description- - >

      <types:component instance:id = “GenerateFormComp” xsi:type = “types:Component”>

                  <types:description xsi:type = “instance:Description”>GenerateForm</types:description>

                  <types:interface instance:id = “GenerateFormCompRight” xsi:type = “types:Interface”>

                  <types:description xsi:type = “instance:Description”> GenerateForm.Right </types:description>

                  <types:direction xsi:type = “instance:Direction” >out</types:direction>

                  <types:type xlink:type = “simple” xlink:href = “ #tRightType”/>

                  </types:interface>

                  <types:type xlink:type = “simple” xlink:href = “#tGenerateForm” />

      </types:component>

 

<!- - Component: GetUserInput scripting Description- - >

      <types:component instance:id = “GetUserInputscriptingComp” xsi:type = “types:Component”>

                  <types:description xsi:type = “instance:Description”>GetUserInputscripting</types:description>

                  <types:interface instance:id = “GetUserInputscriptingLeft” xsi:type = “types:Interface”>

                  <types:description xsi:type = “instance:Description”> GetUserInputscripting.Left</types:description>

                  <types:direction xsi:type = “instance:Direction” >in</types:direction>

                  <types:type xlink:type = “simple” xlink:href = “ #tLeftType”/>

                  </types:interface>

                  <types:interface instance:id = “GetUserInputscriptingRight” xsi:type = “types:Interface”>

                  <types:description xsi:type = “instance:Description”> GetUserInputscripting.Right </types:description>

                  <types:direction xsi:type = “instance:Direction” >out</types:direction>

                  <types:type xlink:type = “simple” xlink:href = “ #tRightType”/>

                  </types:interface>

                  <types:type xlink:type = “simple” xlink:href = “#tGetUserInputscripting” />

      </types:component>

 

<!- - Component: TransmitString Description- - >

      <types:component instance:id = “TransmitString” xsi:type = “types:Component”>

                  <types:description xsi:type = “instance:Description”>TransmitString</types:description>

                  <types:interface instance:id = “TransmitStringLeft” xsi:type = “types:Interface”>

                  <types:description xsi:type = “instance:Description”> TransmitString.Left </types:description>

                  <types:direction xsi:type = “instance:Direction” >in</types:direction>

                  <types:type xlink:type = “simple” xlink:href = “ #tLeftType”/>

                  </types:interface>

                  <types:type xlink:type = “simple” xlink:href = “#tTransmitString” />

      </types:component>

 

<!- - Connector: Con1(GenerateForm - GetUserInput) Description- - >

      <types:connector instance:id = “Con1” xsi:type = “types:Connector”>

                  <types:description xsi:type = “instance:Description” > pipe Operator</types:description>

                  <types:interface instance:id = “Con1Left” xsi:type = “types:Interface”>

                  <types:description xsi:type = “instance:Description”>Con1.Left</types:description>

                  <types:direction xsi:type = “instance:Direction:>in</types:direction>

                  <types:type xlink:type = “simple” xlink:href = “#tLeftType”/>

                  </types:interface>

                  <types:interface instance:id = “Con1Right” xsi:type = “types:Interface”>

                  <types:description xsi:type = “instance:Description”>Con1.Right</types:description>

                  <types:direction xsi:type = “instance:Direction:>out</types:direction>

                  <types:type xlink:type = “simple” xlink:href = “#tRightType”/>

                  </types:interface>

                  <types:type xlink:type = “simple” xlink:href= “#tCon1” />

      </types:connector>

 

<!- - Connector: Con2 (GetUserInput - TransmitString) Description- - >

<types:connector instance:id = “Con2” xsi:type = “types:Connector”>

                  <types:description xsi:type = “instance:Description” >Con2</types:description>

                  <types:interface instance:id = “Con2Left” xsi:type = “types:Interface”>

                  <types:description xsi:type = “instance:Description”>Con2.Left</types:description>

                  <types:direction xsi:type = “instance:Direction:>in</types:direction>

                  <types:type xlink:type = “simple” xlink:href = “#tLeftType”/>

                  </types:interface>

                  <types:interface instance:id = “Con2Right” xsi:type = “types:Interface”>

                  <types:description xsi:type = “instance:Description”>Con2.Right</types:description>

                  <types:direction xsi:type = “instance:Direction:>out</types:direction>

                  <types:type xlink:type = “simple” xlink:href = “#tRightType”/>

                  </types:interface>

                  <types:type xlink:type = “simple” xlink:href= “#tCon2” />

      </types:connector>

 

<!- - Link: GenerateForm - Con1 Description- - >

<types:link instance:id = “link1” xsi:type = “types:Link”>

                  <types:description xsi:type = “instance:Description”>GenerateForm-Con1</types:description>

                  <types:point xsi:type = “types:Point”>

                  <instance:anchorOnInterface xlink:href = “#Con1Left” xsi:type = “instance:XMLLink” xlink:type = “simple”/>

                  </types:point>

                  <types:point xsi:type = “types:Point”>

                  <instance:anchorOnInterface xlink:href = “#GenerateFormRight” xsi:type = “instance:XMLLink” xlink:type = “simple”/>

                  </types:point>

</types:link>

 

<!- - Link: GetUserInput - Con1 Description- - >

<types:link instance:id = “link2” xsi:type = “types:Link”>

                  <types:description xsi:type = “instance:Description”>GetUserInput – Con1</types:description>

                  <types:point xsi:type = “types:Point”>

                  <instance:anchorOnInterface xlink:href = “#Con1Right” xsi:type = “instance:XMLLink” xlink:type = “simple”/>

                  </types:point>

                  <types:point xsi:type = “types:Point”>

                  <instance:anchorOnInterface xlink:href = “#GetUserInputLeft” xsi:type = “instance:XMLLink” xlink:type = “simple”/>

                  </types:point>

</types:link>

 

<!- - Link: GetUserInput – Con2 Description- - >

<types:link instance:id = “link3” xsi:type = “types:Link”>

                  <types:description xsi:type = “instance:Description”>GetUserInput-Con2</types:description>

                  <types:point xsi:type = “types:Point”>

                  <instance:anchorOnInterface xlink:href = “#Con2Left” xsi:type = “instance:XMLLink” xlink:type = “simple”/>

                  </types:point>

                  <types:point xsi:type = “types:Point”>

                  <instance:anchorOnInterface xlink:href = “#GetUserInputRight” xsi:type = “instance:XMLLink” xlink:type = “simple”/>

                  </types:point>

</types:link>

 

<!- - Link: TransmitString –Con2 Description- - >

<types:link instance:id = “link4” xsi:type = “types:Link”>

                  <types:description xsi:type = “instance:Description”>Con2-TransmitString</types:description>

                  <types:point xsi:type = “types:Point”>

                  <instance:anchorOnInterface xlink:href = “#Con2Right” xsi:type = “instance:XMLLink” xlink:type = “simple”/>

                  </types:point>

                  <types:point xsi:type = “types:Point”>

                  <instance:anchorOnInterface xlink:href = “#TransmitStringLeft” xsi:type = “instance:XMLLink” xlink:type = “simple”/>

                  </types:point>

</types:link>

</types:archStructure>

… …