Contents
Cover
-
Acknowledgments
-
Abstract
Introduction
-
- 1.1 - The Agents system
-
- 1.2 - Previous Work
-
- 1.2.1 - Knowledge based systems
-
- 1.2.2 - Search intensive algorithms
-
- 1.3 - Flexibility
-
- 1.3.1 - Object Oriented Programming
-
- 1.3.2 - Scalability
-
- 1.3.3 - Portability
-
- 1.3.4 - Ease of embedding
-
- 1.4 - Innovation
-
- 1.5 - Speed
-
- 1.6 - Main original contribution
-
- 1.7 - Structure of the work
-
Agents Object Oriented Structure
-
- 2.1 - Introduction
-
- 2.2 - Objects
-
- 2.3 - Class
-
- 2.4 - Inheritance
-
- 2.4.1 - Multiple inheritance
-
- 2.5 - Polymorphism
-
- 2.6 - Object Oriented Programming
-
- 2.6.1 - Objects
-
- 2.6.2 - Classes and instances
-
- 2.6.3 - Inheritance between classes
-
- 2.6.4 - Polymorphism
-
- 2.7 - Agents' basic structure
-
- 2.7.1 - The Object class
-
- 2.7.2 - Second hierarchical layer
-
- 2.7.3 - The other layers
-
- 2.7.4 - Design classes
-
- 2.7.5 - The Agents' library organization
-
Agent Objects
-
- 3.1 - Introduction
-
- 3.2 - Search and problems spaces
-
- 3.2.1 - The blocks world
-
- 3.3 - Problem search versus embedded knowledge
-
- 3.4 - The problem-space computational model
-
- 3.4.1 - Basics
-
- 3.4.2 - A blocks world example
-
- 3.4.3 - Selecting values
-
- 3.5 - Distributed reasoning
-
- 3.5.1 - The hive mind
-
- 3.5.2 - Defining behaviour systems
-
- 3.5.3 - Insect-like robots
-
- 3.6 - Implementation of Agent Objects
-
- 3.6.1 - Operation
-
- 3.6.2 - Distributed behaviour
-
- 3.7 - Why use the class Agent reasoning model?
-
Agent Servers
-
- 4.1 - Introduction
-
- 4.2 - Client/Server Model
-
- 4.3 - Software agents
-
- 4.3.1 - Communication
-
- 4.3.2 - The router and placer servers
-
- 4.4 - The Squeme language
-
- 4.4.1 - The process DataBase server
-
- 4.5 - Architecture of multi-agent systems
-
- 4.5.1 - The Knowledge Query and Manipulation Language
-
- 4.5.2 - The Broker server
-
- 4.5.3 - Development phase servers
-
Genetic Algorithm
-
- 5.1 - Introduction
-
- 5.2 - Optimization techniques
-
- 5.3 - The algorithm
-
- 5.3.1 - Crossover
-
- 5.3.2 - Mutation
-
- 5.3.3 - Problem dependent parameters
-
- 5.3.4 - Encoding
-
- 5.3.5 - The evaluation step
-
- 5.3.6 - Implementation
-
Placement
-
- 6.1 - Introduction
-
- 6.2 - The EDIF description
-
- 6.3 - Column formation
-
- 6.4 - Group formation
-
- 6.5 - The genetic algorithm placement
-
- 6.5.1 - Encoding
-
- 6.5.2 - Genetic operations
-
- 6.5.3 - Evaluation
-
- 6.5.4 - Classification
-
- 6.5.5 - The algorithm implementation
-
- 6.6 - The placement routing cycle
-
Routing
-
- 7.1 - Introduction
-
- 7.2 - The CAD role
-
- 7.2.1 - Retrieve methods
-
- 7.2.2 - Building methods
-
- 7.3 - The Designer role
-
- 7.4 - Router expert
-
- 7.4.1 - Connect in same layer
-
- 7.4.2 - Diffusion to metal openings
-
- 7.4.3 - Main connections
-
- 7.4.4 - Connecting a subnet
-
- 7.4.5 - The algorithm
-
- 7.4.6 - Rewiring
-
- 7.5 - Connection object agent
-
- 7.5.1 - The Connect agent operators
-
- 7.5.2 - The Change Direction operator
-
- 7.5.3 - The general operation
-
Results
-
- 8.1 - Introduction
-
- 8.2 - The BICMOS nand gate example
-
- 8.3 - The CMOS D latch example
-
- 8.4 - Running distributed and scalability
-
- 8.5 - Flexibility
-
Conclusion
-
- 9.1 - Overview
-
- 9.1.1 - Flexibility
-
- 9.1.2 - Innovation
-
- 9.1.3 - Speed
-
- 9.2 - Development opportunities
-
- 9.3 - Future research
-
References
List of Figures
-
- Figure 2.1: Semantic gap.
-
- Figure 2.2: The outside world view of an object.
-
- Figure 2.3: Instances of class Man.
-
- Figure 2.4: Classes inheritance.
-
- Figure 2.5: Agents basic classes.
-
- Figure 2.6: Components classes.
-
- Figure 2.7: Agent's libraries files hierarchy.
-
- Figure 3.1: A problem space
-
- Figure 3.2: Preparation versus deliberation trade-off.
-
- Figure 3.3: Flowchart of the problem space computational model.
-
- Figure 3.4: Solving a blocks world problem.
-
- Figure 3.5: Layers of a behaviour hierarchy.
-
- Figure 3.6: Agent's structure
-
- Figure 3.7: The decision cycle
-
- Figure 3.8: Agents as a more complete solution.
-
- Figure 4.1: Heterogeneous network.
-
- Figure 4.2: Window of the Database server.
-
- Figure 4.3: The negotiation between a client and the Broker.
-
- Figure 4.4: Broker agent server window.
-
- Figure 4.5: Graphic server's window.
-
- Figure 5.1: Classes of search techniques.
-
- Figure 5.2: The "reproduction" cycle.
-
- Figure 5.3: Crossover.
-
- Figure 5.4: Mutation.
-
- Figure 6.1: Types of cells used by the Placer server.
-
- Figure 6.2: Column formation process.
-
- Figure 6.3: The grouping process.
-
- Figure 6.4: Types of cell groups.
-
- Figure 6.5: Coding schema.
-
- Figure 6.6: Actual circuit placement.
-
- Figure 6.7: Crossover in lists.
-
- Figure 6.8: Correction of groups' placement.
-
- Figure 6.9: Wiring estimation method.
-
- Figure 6.10: Distribution of reproduction and death probabilities.
-
- Figure 6.11: The "reproduction" cycle.
-
- Figure 6.12: Placement/routing cycle.
-
- Figure 6.13: A placed/wired design ready to be sent back to a client.
-
- Figure 7.1: The Designer/CAD metaphor.
-
- Figure 7.2: Crash and touch events.
-
- Figure 7.3: A crash pointer.
-
- Figure 7.4: A touch pointer.
-
- Figure 7.5: Envelopes and closest wiring points.
-
- Figure 7.6: Method for changing layers.
-
- Figure 7.7: The basic maze routing.
-
- Figure 7.8: Interesting points.
-
- Figure 7.9: Circuit after straight diffusion and polysilicon connections.
-
- Figure 7.10: Connect agents probing interesting points.
-
- Figure 7.11: RouterExpert agent data structure.
-
- Figure 7.12: Algorithm used by the connectSubnet method.
-
- Figure 7.12: Possible error using partial rewiring.
-
- Figure 7.13: Operators
Goto
XY
and Go
Round
. -
- Figure 7.14: Operator Change Direction in action.
-
- Figure 7.15: Change Direction operator touch blocked cases.
-
- Figure 7.16: Completely routed circuit.
-
- Figure 8.1: The BICMOS nand gate circuit.
-
- Figure 8.2: BICMOS nmos gate handmade layout.
-
- Figure 8.3: First generated layout for the BICMOS nand gate.
-
- Figure 8.4: Second generated layout for the BICMOS nand gate.
-
- Figure 8.5: The D latch circuit.
-
- Figure 8.6: Latch symbolic layout.
-
- Figure 8.7: Two generated layouts for the CMOS D latch circuit.
-
- Figure 8.8: BICMOS nand gate with a pull-up resistor.
-
- Figure 8.9: Generated layout of the nand gate with pull-up resistor.
-
- Figure 8.10: CMOS D latch with central power lines.
-
List of Tables
-
- Table 3.1: Rules' names code
-
- Table 4.1: Placer and Router non-EDIF commands.
-
- Table 4.2: Possible queries to a Database server.
-
- Table 4.3: Default message parameters.
-
- Table 4.4: KQML communication types.
-
- Table 8.1: Agents system execution times.
-