Constellation - A Web Based Design Framework for Developing Network Applications

Nino Vidovic
Dalibor F. Vrsalovic

Abstract:
Constellation is a Web based design framework for developing distributed applications which allows single user or group of users to concurrently access and manipulate different aspects of a distributed application from a simple Mosaic like front-end tool. Users can edit and build programs and documents, manage source code, debug and instrument running distributed programs, read manual pages and other documents, browse through source code and much, much more from a simple yet powerful front-end tool. Constellation is designed to work in heterogeneous networked environment. It works with different host types, different OS environments, supports different communication protocols. It is designed to work with hybrid client/server applications that consist of new as well as legacy code. Constellation is easily extensible to support new protocols, hosts, servers, services and back-end tools
Keywords:
distributed applications, client/server applications, design framework, distributed debugging, group debugging, development environment

Introduction

In response to societal demand, computer networks have been proliferating rapidly in recent years. Such networks include local area networks (LANS) and wide area networks (WANS) comprising a number of computers that may communicate with one another. Apart from sending messages, this communication between networked computers allows programs to be run on more than one computer in a network. For example, an airline reservation service may present a user interface on a client computer while data input to the interface is transmitted to a server computer where a reservation database is accessed. This type of program execution, known as distributed programming, may be much more complicated than the above example but is nonetheless extremely common and efficient.

Distributed programs, however, are often written, developed and tested on different computers with different tools which are tightly bound to the particular machine upon which they operate and are integrated around language, computing platform or type of application.

smoke fetish archive Avril lavigne pussy genie in a string bikinie cast Girls fuck horses stories pornstars xxx babes Nikki schieler ziering nude dickies jeans Skinny teen bitches hentai sex videos free Little girls sex nude pot Boob tube High school musical vanessa nude pics free artistic nude photos pussy prowler Gayforit watch free lesbian videos free teen celebs nude Bikini dare galleries spiritual sport fucking Big and beautiful porn stars
faked nude Sleep nude girls nature nude video Catfight nude nude asian sluts nude ladies pussy Sara roemer nude asian girls non nude School girls nude pics gay nude workout Nude nudist pamela anderson playboy nude pics Kathrine heigel nude Free nude hentai fairies nude swedish blonde nude Nude celebrity videos for free nude celebrities miley cyrus nude south african men Free hardcore nude nude cellphone pictures Bollywood nude boobs
blowjobs gallery Jim hardick free porn videos no credit card Creatine sex milfporn star aluminium essex Free video sex positions ultrapasswords xxx Xxx teen britney spears blowjob video Facts teenagers curfews natural hairy pussy Amature women Edwin carungay fuckyourtube sexproadventures Free kinky sex tips rave sex porn lyrics sexy back Better than sex cake recipe final fantasy rikku xxx Paris hilton blowjob
free yno sex video 3d young art sex phone web cam sex Amature woman sex party free home-made sex clips young sex in america Free dirty sex pictures best sfrican sex movies He she sex pics picts of amature sex Julie michaels sex scene bible view on sex Sex tv tv show Extreme insertion sex 6 fee animal sex vids sex girls piss tube Thai pussy sex porn sex 3d fantasy pics sex mature woman jokes Jeremiah birthday sex bio tulsa police sex registration Sex vedeo stream chat
independent sex scenes Racist daughter sex clearanced sex toys K9 sex clips britney sex movies black sex squirt Awsome hard sex manson sex onstage Nimpho sex classifieds sex offenders index Nomid animal sex hardcore lezbo sex Oral sex possitions Out sex videos sly fox sex famos toon sex Only ebony sex anette dawn sex extent sex pill Mature hairy sex asian sex french Kim kardishan sex
education research group Ari banerjee yankee group ancestry group Randy orton group free group sex porno group insurances Galleon group hedge fund rubber fab technologies group Attorneys group group b infection Risk retention group insurance the rules support group Green resources group Group dynamics team r46b group high five amateurs group Amazing group sex on demand color group lesbian group gallery Campy centaur group accept group Group of deer is called
fucking machine xxx College sex xxx chobits xxx Iran xxx sexo xxx enanas collection xxx Eve angel xxx pork xxx Older women xxx download free psp xxx Xxx sluts videos swingers xxx free Free bi xxx Photos xxx free harecore xxx xxx porn passwords Rapes xxx xxx adult dvd xxx gratis con putas Web site xxx free xxx mangas Alena seredova xxx
ball dragon porn video The thrills music video woman squirting free video Roma video card e pci video mtv jam video Apartment mikes picture video paris hilton video stills Big cock homemade movie council meeting video Studio telescope video converter ipod ora video Victoria pink videos Uk movies cussler movie new video releases 2005 Conferencing live video violence video games children tasha nelson video Rv video camera movie graber Adam sandler secret video
teacher sex crazydumper Sex health video marriage with sex Celebrity sex viceos busty office sex shove bull sex Football sex rio free sex shots Consensual submission sex free sex gemes Mauritius sex site hardcore sex mp3 Barbarella sex machine Hunting sex jessica alien sex gaems free sex xxx Muscular sex pictures ass booty sex dogpound group sex Anail sex videos vitamins before sex Brewster sex stories
asians sex Haveing sex with a man lesbien sex xxx Hypno girl sex arabic sex 9356 biker girls sex Guilty gear sex mature free sex tube Nude girls having sex with boys ray j and kim kardashian full sex tape for free Cyber sex forum what is angry sex Sex while pregnant pictures When can i have sex and not get pregnant home made amateur sex tapes dog sex beastality Sex games online for women clips cartoon sex taboo charming mother sex Girl sex pose hardcore gothic sex Best sex teacher
love sex relatioships Historical books sex pegging sex literature Sex story community sex bites torrent long sex trailors Gonzo rawr sex carrie bradshaw sex Voung teen sex home sex stream Kinky sex forum savvanah gold sex Anal sex wide Crushing for sex comic sex jokes mermaid sex videos Pet sex foram ali sheffield sex cancer sex partners Calforina sex retreat mini teens sex Anal sex cum
victorian xxx Xxx sci fi sexy photos xxx Xxx video play xxx babe videos animail xxx All xxx tube tilf 2 xxx Xxx puzzle black porno xxx 3gp xxx wap videos streaming xxx Free xxx moves Muscle gay xxx free gothic xxx video naruto xxx Xxx pass free best xxx movie 2008 xxx dog clips Xxx free e cards xxx porn full videos Xxx stone
porn movie theaters Morgan lane porn catherine porn Porn mom son sex mommy and daddy porn kasumi porn Find porn torrents rumania porn Xxx pictures porn black porn videos free Discipline porn biggest penis porn Littel girl porn Porn leg warmers tiny tits porn movies top 10 porn clips Free lovemaking porn homemade mexican porn vanessa raia porn Muslim porn sex free high definition porn streaming James nichols gay porn
fuck me gay Vulva fuck sexy fuck movie Mother lets son fuck her fuck you mom and dad mommy fuck son Father son fuck girl porn to fuck Fuck off letter fuck my boob Megaupload fuck i fuck my mother inlaw Doggy style fuck videos Woman looking to fuck shemales fuck girls movies kama sutra fuck Fuck you love mother daughter fuck boyfriend fuck church Dog fuck woman movies the fuck buttons Man fuck his dog
Blowjob And Cum Swallow mom giving son blowjob Preggo Blowjob free blowjob compilations blowjob mature Blowjob Guys blowjob fantasies 18 Avatar Blowjob sister gave me a blowjob Tickling Blowjob blowjob at school Hentai Porn Blowjob Fake Blowjob girl pukes during blowjob blowjob tryouts Guys Blowjob japanese girl giving blowjob most famous blowjob Gay Horse Blowjob double blowjob vids Blowjob Outdoor
Youngest Girl Porn Ever plus size sexy school girl Flavor Flav Girl Poops all girl sex videos girl porche Baby Girl I Want You gossip girl on tv com Hey Hey Baby Will You Be My Girl naked girl shitting Little Girl Photos ghetto black girl Go Go Girl Adult Girl Psp Theme girl for sale on ebay pin up girl hats Little Monster Girl naked teen girl pics black girl actress Sleeping Girl Gets Raped how to approach a girl online Girl And Girl Haveing Sex
Ink bitch webbie gutta bitch Lyrics to five star bitch bitch in french Badd bitch quotes cant trust no bitch Bitch asian im a pretty bitch Kristen stewart is a bitch a bitch slap G unit fat bitch Shut up bitch download im in san diego bitch cock hungry bitch Teeh fuck the bitch is kristen stewart a bitch bitch milfs Lyrics to bitch by meredith brooks foot fetish bitch Shake that ass bitch and let
paris hilton beach sex Cocksucker snake girls xxx Nude booty poppin little teens pics most extreme porn list Audience analysis heather locklear nude Porn star named madison lolita preteens Cheyanne bride black cock joelle amateur Nude christina aguilera Nice nude teen photo gallery hot cab mature sex sites Fucked by my dog mpegs massive tits men fucking boys Swedish porn galleries amateur nudes Sexy superheroes
bbw nude women Nude pussy cum naomi nude Nude asian americans courtney smith nude sienna guillory nude Girls basketball nude kate bosworth nude fakes Amateur wife nude photos ukraine nude teen Big black ass nude kiera knightley nude pics Nude russians Sleep nude chris brown rihanna nude photos pic of nude girls Bollywood nude images sexy and nude pics free nude college girl videos Nude dads and daughters ameture nude pictures Serena williams nude pix
1st Anal Sex what is an anal prolapse Types Of Anal Sex gay anal sex technique gay anal fisting videos Why Does Anal Sex Feel Good video double anal Lesbian Teens Anal largest anal dildo Lesbian Anal Toy anal sex poop videos Anal Hidden Cam Amateur Interracial Anal amy amour anal how to anal intercourse Anal Sex Condoms eyaculacion anal free anal streaming Anne Hathaway Loves Anal mini anal Unnatural Anal Insertions
Anal Guest free full anal movies Manual Anal 1st anal video shits herself anal Couple Anal Sex roxy renolds anal Sara Jay First Anal Scene anal destruction casedy Como Hacer El Sexo Anal anal sex effects Anal Cancer Blog Anal Toys Lesbian ice la fox anal scene lesbian anal vid Rough Anal Sex Clips wet anal double anal sex movie Palin Anal really painful anal Shitty Anal Fuck
rodox sex mpg Shower sex how penis breasts sex Sex malam pertama random sex videos exsplicit sex videos Sex lubrication silicone i post sex Sex fat chick celebriies having sex Adult sex animations sex and motorcycles Adult sex therapy Laura cover sex fucking having sex sex vacation caribbean Pool sex orgasm women barbershop sex office sex gay Secretaire office sex black sex vod Rainbow mika sex
Rock cock jock cock robin when your Wife big cock huge cock free pics Mature sucking black cock cock docking clips Hardcore riding cock cock sucking whores Fuck you cock sucker cock fighting rules Big cock hardcore Hubby loans to black cock milf sucking young cock two cock in pussy Cock sucker t shirt two cock fucking cock pierced Tila tequila suck cock largest cock videos White teen black cock
miss teen usa south carolina Fucking boobs thumbnails free videos of gay black me gandbang Senior sex trailer sophie monk nude nude music videos Britney spears porn video maggie grace nude Preteen bikini movies xxx Sexy pamela anderson vanessa new nude photos Aisha tyler nude pics Gametophyte produces male female sex mate plants toothless blowjob monthly membership streaming porn Pinkpanteens preteens in thongs lingerie nudecollege students Fat mature sex teen monologues Ebony muff diving
sex with hookers Free jaybee sex sex with redheads Cartoons about sex usa sex forum retarted girls sex Photo booth sex gay virgin sex Female sex chromosome sex teen candy Teenage sex story sex feet tingle Celebrity sex sces Flex girl sex lesbian sex galerii work at sex Rough sex free roug gangbang sex hypnosis sex best Sex trek 6 teens wating sex Ssecretary sex videos
1st Anal Sex what is an anal prolapse Types Of Anal Sex gay anal sex technique gay anal fisting videos Why Does Anal Sex Feel Good video double anal Lesbian Teens Anal largest anal dildo Lesbian Anal Toy anal sex poop videos Anal Hidden Cam Amateur Interracial Anal amy amour anal how to anal intercourse Anal Sex Condoms eyaculacion anal free anal streaming Anne Hathaway Loves Anal mini anal Unnatural Anal Insertions
This problem is illustrated in Figure 1.


Figure 1. Designing network applications using traditional programming environments

In the above example, the graphic user interface portion may be developed on the client computer with a set of program tools for the Visual C++ programming language for PC Windows and a different set of tools for a graphic user interface (GUI) builder. Similarly, the reservation database may be developed on the server with a set of program tools from the C++ Workshop programming language running under Unix. In Figure 1, those development environments are denoted as DE1, DE2 and DE3. Further, a program initially developed with a tool set, frequently may be redeveloped under a later version of the same tool set and possibly from a different manufacturer.

Thus, distributed programs present substantial difficulties to programmers since they must learn to operate the tool set that was used to develop each distributed program segment. These tool sets are usually quite detailed and require days, weeks and even months to master. Further, to edit, view or debug the distributed program currently requires performing these functions under one tool set for a particular program segment, exiting the tool set, locating the tool set for a different program segment, which may be on a different computer, and entering that tool set. This type of operation is extremely time consuming, especially where a program has a large number of segments, each developed with a different tool set.

By employing a particular protocol, the World Wide Web has met the challenge of allowing users, through a single front end tool, to browse documents that reside on a large number of different platforms. The World Wide Web, however, which has been in existence for a number of years, does not provide for any other types of functions apart from browsing and the previously described problems presented by distributed programs remain.

So, there is a need for a system that provides the capability to develop distributed programs that operate on different computers, operating systems and communication protocols, while requiring only one set of tools. Further, there is a need for a system that allows such integration for programs that have already been partially developed or completely developed under a variety of tool environments and that require modification. More broadly, there is a need for a system that allows a single front end tool to perform operations on a plurality of files that reside on different platforms without requiring a user to separately access each separate platform specific piece on that platform.

The Constellation Framework answers these and many other needs.

Constellation

The Constellation Framework provides methods and mechanisms for a front end navigating tool (the "NAVIGATOR") that may access and manipulate files distributed across different platforms. Figure 2


Figure 2. Cone model of a distributed programming environment

depicts Constellation Framework as a cone with the Navigator at the top and distributed program in its base. The front end navigating tool communicates with a multitude of server processes, resident on networked servers, to perform all types of file manipulations such as debugging and editing. The server processes communicate with gateway processes resident on the same machine as the calling server process that perform the desired function on any of a multitude of program segments that may be distributed across a network of computers.

Debugging is one example of a function that may involve distributed files. To service a debugging request, the navigator issues a request according to the URL protocol. Thus, a request is of the form: <server_type://<machine/<request, where server type is a protocol such as, for example, http or process, machine is the actual server address and request is the program or file that is requested. The appropriate machine and server process is then contacted by the navigator and provided with the name of the file, file A. The server process in turn selects the appropriate gateway process to perform the desired function. The gateway process attaches to the desired program, which is subsequently debugged. If the program calls a program on a different machine, the Constellation Framework provides a variety of mechanisms, transparent to the user, for allowing debugging to continue on the called program. In a preferred embodiment, the gateway process provides the server process with the address of the called program, file B. The server process notifies the navigator which then automatically assembles a request to the server process on the different host. The request is sent and the server process selects the appropriate gateway process which then attaches to the target program, file B. If file B returns to file A, then control is again passed to the navigator which calls file A as before except that the gateway process has maintained the appropriate address of the instruction after the call instruction to file B. Debugging then continues on file A.

Browsing, editing and any other function requests are similarly serviced through the front end navigator. A URL link contacts an appropriate server process resident on a target machine and the server process in turn selects the proper gateway process, which performs the desired function on the target file. The target file may include hypertext links to other files and functions may easily be performed on these files by clicking on the file names and then indicating a desired function. In this manner, users may efficiently access and manipulate distributed files through a single front end tool.

System Architecture

Figure 3 is an overview of the architecture of the Constellation


Figure 3. Architecture of the Constellation design framework

Framework. The architecture comprises a front end navigating tool (Navigator) that communicates with a multitude of server processes procd, httpd and progd to perform different functions such as debugging, source code management, source code browsing and editing. The server processes procd, httpd and progd communicate with gateway processes (tools) T1, T2, T3, T4, T5, T6, T7, T8 and T9 that perform a desired function on any of a multitude of program segments that may be distributed across a network of computers. As will be described more fully below, the navigating tool comprises a browser, editor and interactive shell and allows users to perform a variety of functions on distributed program segments. For example, the server process httpd may comprise a document server that communicates with file, man2html and mail gateway processes T4, T5 and T6 to perform browsing functions. Similarly, the server process procd may comprise a process server that communicates with dbx, PC-debug and gdb gateway processes T1, T2 and T3 to perform debugging functions. The architecture illustrated in Figure 3 may be easily extended to include many other server processes and gateway processes as indicated by the dashed lines. Furthermore, Constellation Framework Allows two navigators to simultaneously access the same server process, gateway tool and file, Also, two Navigators may communicate with each other in a networked environment.

As will be described more fully below, each of the server processes procd, httpd and progd illustrated in Figure 3 may reside on a plurality of physical machines. The architecture of the Constellation Framework provides for the integration of a variety of tools, including debugging, document and source code browsing and editing, source code management and program development and building. The implementation of these tools according to the architecture of the Constellation Framework will be described in the following sections of this paper. The architecture of the Constellation Framework as illustrated in Figure 3 may be applied to many other types of tools, including user defined tools.

Navigating front-end tool

The Navigator is a browser and at the same time an editor and an interactive shell. Browser capabilities are similar to those of Web browsers such as Mosaic or HOTJava. As editor, it has basic text editing functionality of point and click editors, such as Textedit with command bindings for Emacs and Vi. Editor's capabilities are augmented to support hyper-text (i.e. HTML) program annotations. Interactive shell capability allows users direct interactions with browser's interpreter engines as well as with interactive programs with which the Navigator has established links (e.g. gateway debug engines such as dbx).

Architecture of the Navigator is shown in Figure 4.


Figure 4. An architecture of the Navigator frontend tool

The Navigator consist of following basic components: Web/Internet engine, Browser, Editor, Interactive shell, Interpreters (e.g. Tcl or Java), Data Types Processing Engine, Protocol Processing Engine and GUI. The Web/Internet engine provides access to the Internet and Web. Browser provides basic Web client functionality. Editor allows pages in the Navigator to be edited. Interactive shell capability allows Navigator to holds interactive sessions. The Interpreters are mechanisms which allow dynamic extension of Web protocols and data types as well as Navigators GUI. Data Type Processing Engine allows dynamic retrieval of policy modules (e.g. Tcl or Java programs) to process unknown data types. Protocol Processing Engine allows the Navigator to process unknown protocol requests by dynamically loading protocol policy modules (e.g. Tcl or Java protocol driver programs).

The GUI module creates control panel for the Navigator and maps content of user's searches into a graphic domain. The novel feature of the Navigator is capability to dynamically reconfigure its control panel based on the type of the request and the domain in which browsing is performed. For example.when user makes a request to debug a program, a debug server that services browsing requests in process domain will be contacted and appropriate protocol policy module in Navigator will be downloaded (if not already present) and activated. In debugging example this would result in debugging menu to be created and attached to the Navigator's command panel. Debugging menu will stay attached for duration of a debugging session.Upon completion of a debugging session, debugging menu will be automatically removed from the Navigator's control panel.

The Navigator can operate in stateless or statefull mode. Stateless mode is utilized in events such as directory browsing or information retrieval. Statefull mode is utilized during distributed debugging sessions. The statefull sessions are characterized by long-live connections into a browsing domain. The Navigator keeps track of all long-live connections for all active statefull sessions. The long-live connection represents a bidirectional communication channel into a browsing domain. User can post request to the server which is servicing given domain. Also, server can generate events and send it back to the Navigator.

There are no limits on a number of the concurrent long-live connections. The Navigator allows all long-live connections to be active at the same time. It is a responsibility of policy modules to coordinate events received from domain servers.

Constellation's Service Layer

Constellation Service layer consists of collection of domain servers and gateway tools. Gateway tools are either interface to service providers (e.g. database access) or service providers. Following list is a sample of domain servers and related gateway tools:

Debugging

Figure 5 is a block diagram showing how the architecture


Figure 5. Communication sequence when servicing a debugging request

of the Constellation Framework communicates to service a debugging request.

First, the Navigator issues a request according to the Universal Resource Locator (URL) protocol. Thus, a request is of the form: <server_type://<machine/<request, where server type is a protocol such as, for example, http or process, machine is the actual server address and request is the program or file that is requested. The appropriate server process procd resident on a host 1 is then contacted by the Navigator and provided with the name of the file of a running client process, file A. The server process procd in turn selects the appropriate gateway tool PC-debug to perform the desired function.

The gateway tool PC-debug attaches to the target program (application's client process), which is subsequently debugged. If the target program calls a program (application's server process) on a different machine, the Constellation Framework provides a variety of mechanisms, transparent to the user, for allowing debugging to continue on the called program. In Figure 5 the gateway tool PC-debug provides the server process procd with the address of the called program, file B. The server process procd notifies the Navigator which then automatically assembles a URL request to a server process procd on the different host. The request is sent and the server process procd selects the appropriate gateway process dbx which then attaches to the target program (application's server process), file B. If file B returns to file A, then control is again passed to the navigator which calls file A as before except that the gateway process PC-debug has maintained the appropriate address of the instruction after the call instruction to file B. Debugging then continues on file A. In this manner, programs that are debugged by two different tools, for example dbx and PC-debug, may be debugged through a single front end Navigator.

Constellation Framework supports groupware functions such as group debugging sessions and teleconferencing. Figure 6 is a block diagram showing


Figure 6. Concurrent debugging session with teleconferencing

how the architecture of the Constellation Framework communicates to service a group debugging request.

First, the Navigator on host 1 issues a request according to the Universal Resource Locator (URL) protocol. Thus, a request is of the form: process://<machine/pid=<pid_number, where machine is the actual server address and pid number is the process identification number of a running program. The appropriate server process procd resident on a host1 is then contacted by the Navigator and provided with the pid of a running server process. The server process procd in turn selects the appropriate gateway tool dbx to perform the desired function. The gateway tool dbx attaches to the target program which is subsequently debugged.

Request to clone The Navigator is then sent to host 1. After cloning navigator on host 2 is connected to the server process procd on host 1, thus establishing joint debugging session of the application server program. Further, during the cloning process, navigator on host 1 issued a talk request to showmed conference manager. After accepting talk request, audio gateway tools are launched on both hosts enabling navigators to concurrently have voice communications and group debugging session.

File Browsing and Editing

Figure 7 illustrates one possible block diagram for browsing


Figure 7. Editing and source code browsing functions of the Constellation Framework

and editing files, which may comprise source code or any other type of document. User may browse and edit documents in an infinite number of ways and Figure 7 illustrates one possible browsing and editing session to illustrate the operation of a preferred embodiment of the Constellation Framework. To read a file, file A, the Navigator issues a request according to the URL protocol, as previously described. The httpd server process on the appropriate machine is provided with the request and the appropriate gateway tool is contacted to retrieve the file. The file, file A, is then provided to the navigator for viewing and editing. Unlike World Wide Web browsing tools, the Constellation Framework provides the ability to edit files and replace an old file with an edited file. Thus, the navigator allows the user to edit the file and the navigator then formulates the appropriate URL, indicating the file, file B, when the user desires to save the edited file. The appropriate server process and gateway process are contacted and the edited file is stored.

In addition to browsing editing and saving files the Constellation Framework dynamically generates information concerning the content of retrieved files. For example, a user may desire to analyze a program according to its data structures, function calls and other characteristics. To perform such an operation on a file, the navigator issues a request according to the URL protocol, as previously described. An appropriate server process progd on the target machine is provided with the request and an appropriate gateway tool (e.g. cscope) analyzes the file and provides the results of the analysis to the navigator.

Summary

The Constellation Framework provides methods and mechanisms for a front end navigating tool that may access and manipulate files distributed across different physical machines and platforms. The front end navigating tool communicates with a multitude of server processes, resident on networked servers, to perform all types of file manipulations such as such as debugging, source code management and editing. The server processes communicate with gateway processes resident on the same machine as the calling server process that perform the desired function on any of a multitude of program segments that may distributed across a network of computers. The Constellation Framework supports number of function, such as debugging, source code management, source code browsing, multi-platform builds, editing as well as document browsing.

The Constellation Framework prototype has been developed mostly in Tcl7.4/Tk4.0 with approximately one full time and one part time engineer in 6 months period. It works on Solaris and Windows NT platforms.

Acknowledgments

Thanks to John Ousterhout for early release of Tcl7.4/Tk4.0. Thanks to DOE debugger team, Jon Masamitsu and Andrew Davidson for bearing with me while installing DOE and integrating DOE debugging support, DevPro's Ivan Soleimanipour for volunteering to extend dbx's API with yet another call and Achut Reddy for sharing his experience and code for program browsing. Special thanks go to Steven Li for porting Constellation to Windows environment.

References

1. The World Wide Web, a global information initiative , http://www.w3.org

2. Ousterhout, J.K., Tcl and the Tk Toolkit ,Addison-Wesley, 1994

About the Authors

Nino Vidovic
AT&T - Business Communication Services [*]
Dr. Vidovic recently joined AT&T as Advanced Network Clients Technology Director in the BCS Operations group. His responsabilities include architecture development and implementation of next generation network client systems. Prior to joining AT&T, Dr. Vidovic served as the Senior Staff Engineer in Advance Techology Group Sun Microsystems, Inc. While at Sun Microsystems, he was responsible for identification of new technologies for development of netork enabled applications. He holds a doctorate in computer science from the University of Zagreb, Croatia, and M.S. in computer engineering from Carnegie Mellon.

Dalibor F. Vrsalovic
AT&T - Business Communication Services [*]
Dr. Vrsalovic recently joined AT&T as Advanced Technology Vice President in the BCS Operations group. His responsabilities include providing leadership to the architectural development effort for host platforms to be used in the next generation of network based services as well as establishing AT&T's long-term leadership in global services and distributed computing. Prior to joining AT&T, Dr. Vrsalovic served as the Chief Scientist for Sun Microsystems, Inc. While at Sun Microsystems, he was responsible for the architecture development and implementation of softare products. In addition to R&D, he has held leadership roles in bringing new technologies to general business use and product quality assurance. He holds a doctorate in computer science and M.S. in computer engineering from the University of Zagreb, Croatia


* This work was done while authors were working at SunSoft Inc.