Êþº¾-   ConstantValueLjava/lang/String; ExceptionsLineNumberTabledata SourceFileLocalVariablesCode‘A NETWORK-BASED DESIGN MANAGEMENT INFRASTRUCTURE (from the WELD Manifesto) The continuing advances in computer processing speed, storage and network transmission capacity, as well as the ever-increasing amount of information and services available on the Internet indicate that future CAD environments will heavily leverage wide-area networks. In the future, these changes will enable the rise of ubiquitous computing, applications that dynamically adapt to different hardware capabilities, and an increase in the number of network tools and services. Moreover, emerging technologies will enable data migration, agent/application migration, and network data access. In this environment, it will be imperative that distributed applications be scaleable and extensible. In addition, the rise of such distributed design systems will require advanced features like consistency, fault tolerance, security, and intelligent resource location mechanisms. Many of these technologies are evolving independently of the design technology community, for use in other commercial applications, but it is important that the design technology infrastructure be compatible with, and leverage, this model. 3.4.1.1 NETWORK SERVICES In order to provide services to a wide range of devices, including those with low-computing power as well as slow network connections, functionality must be highly distributed across machines. It is our intention to design an infrastructure that supports widely distributed network-based tools that intercommunicate and access data across networks. An important first step towards this goal is the examination of distributed, or network-based, data storage and management. Currently, Berkeley's experimental WELD system consists of a generic object-oriented database back-end that can provide data to network applications in a variety of formats. The contents of this data server can be accessed using the standard HTTP protocol, or used in applications via an object-oriented Java or C++ persistent object package on the client. In the future, we plan to explore data represented internally as an object-oriented applet. Active-data have a base set of access functions that could be extended using standard object-oriented techniques. In addition, this would allow for data to be distributed in a self-contained and self-executable format. We envision a future design system that would use the database as a central repository and transaction manager. Users would run a Java client stub on all of their machines (including office, home, and mobile units), that connects to the database and facilitates transparent access to the desired data. Similarly, in addition to accessing data from the servers, clients would be able to search for and automatically manage desired tools through the network in a variety of ways. We plan to explore the possibility of using the database as a tool transaction manager and as a central listing for available services. Our initial goal is to create a prototype system on our internal Intranet that will offer such functionality, and bootstrap towards a broader Internet-based version. In addition to the client and server ends, there are important opportunities in the area between the two. One facet of this research would involve proxies. We believe that the generalization of a proxy-based architecture will provide a scaleable infrastructure that can evolve over time for general design technology use. The proxies should be considered managers of the flow of abstract datatypes among creators and consumers. In that role, they perform necessary filtering and type-transcoding. Potentially, proxies could vastly increase the flexibility of the system by offering additional services that do not fit in at either of the endpoints. For example, proxy servers could be used to monitor communication links for unauthorized data flow, to track network tool use, and to offer network optimizations for remote operations and low throughput/high delay links. 3.4.1.2 CLIENT TECHNOLOGIES On the client side, users of the system should be able to dynamically access, download and execute tools through a Java-enabled network browser, regardless of the current hardware platform. Moreover, the working environment should allow remote tool invocation according to users' access criteria and permission. Flexible open frameworks can thus be achieved by personal configuration of data formats and tools from different sources. In order to facilitate wide-area collaborative design, we intend to develop a web-based project management application that allows designers to interact in a common environment. Features essential to collaborative design, such as versioning, workspace control, and dependency administration will be incorporated in this environment. Versioning (software configuration management) enables designers to effectively choose versions of data or object components that are distributed over various developers and vendors. Workspace control allows designers and managers to configure personalized views of projects and designs as desired. Security schemes such as authorization to govern access and update of information will be devised to allow secure transactions over the network. Dependency administration enables automatic monitoring and visualization of the relationships among software, components, projects, personnel, etc., in a wide-area environment. Real-time updates will both streamline the interaction between resources and simultaneously allow fast response to updates. 3.4.1.3 APPLICATIONS AND DEVELOPER EMPOWERMENT We are also evaluating efficient techniques and data structures for representing design technology data formats and models. Our first step was to port a subset of the Berkeley Octtools system to Java. For usability testing, we applied the package in a classroom setting where students constructed and traversed Oct-based netlists. We are continuing to test both the usability of Java as an EDA specification language as well as the general WELD system infrastructure by simulating a multi-user environment and processing large and complex data models. The experience gained will help us identify and solve potential problems that might arise in the creation of a web-based design environment. User empowerment and involvement are key to gaining a critical mass of design technology users and tools. To this end, we have provided an open environment where any Internet user with a Java-enabled browser can take advantage of the applications we have developed, the software packages we have implemented, and the network storage options we provide. A Java toolkit has been developed to allow users to rapidly build graphical user interfaces for their applications. We have also developed a Java persistent object management package that allows Java client objects to be processed by a remote data server This package and its client-server protocol are simple, flexible and extensible, so it may be easily incorporated into both new and legacy tools.java/lang/Object TestData.javaTestData()V  *·±