next up previous
Next: Timing Measurements. Up: Implementing an Application: Brute-Force Previous: Implementing an Application: Brute-Force

Implementation.

Implementing the factoring application was straightforward and easy after the basic components were already implemented. As shown in Fig.5, it involved defining application-specific extensions of the work, work GUI, result, resultGUI, and problem objects. In general, generic parts of the system can be reused as-is, and only application-specific parts need to be modified. Modifying the application-specific parts can often be done by subclassing the available basic components, so that programmers usually need only to implement application-specific methods, and not entire classes. The main task in implementing FactorWork, for example, is to override the process() method of the basic Work object already provided.
  
Figure 5: Implementing the factoring application. Double-bordered items indicate application-specific objects implemented by extending basic components. Shaded items indicate unchanged generic objects from the basic component library.
\begin{figure}
\centerline{\PSbox{factor.ps hoffset=-22 voffset=-618}{11.4cm}{5.6cm}}\end{figure}

Figure6 shows a screen shot of the factoring application.
  
Figure 6: A screen shot of the factoring application with one worker applet and one watcher applet. The applets are started by simply browsing a web page with a Java-capable browser.
\begin{figure}
\centerline{\PSbox{factorscreen.ps hoffset=0 voffset=0}{11.92cm}{8.94cm}}\end{figure}


next up previous
Next: Timing Measurements. Up: Implementing an Application: Brute-Force Previous: Implementing an Application: Brute-Force
Luis Sarmenta
1/2/1998