How To Design A City
An Alternative Implementation
One way to create an expert system for designing a city is to use a semantic network. Another method of showing how to design a city is to use the object-attribute-value implementation, otherwise known as Triplets. Triplets allow someone to see detailed information about an object. This is done by first stating the object, then stating one of its attributes (i.e. color, size, etc). Then you give that attribute a value (i.e. color is green, size is small, etc). This implementation shows the design in more detail than is normally shown with a semantic network, because it requires the inclusion of the individual specifics of each object. In a semantic network, you draw nodes, which are the objects, and connect them using arcs, which are labeled show the relationship between the objects. The semantic network can become extremely complicated with a large number of nodes and arcs, especially since more than one arc can point to an object. Now here is an example of implementing the design of a city using the object-attribute-value implementation.
First of all, we need to start broad. The first object is going to be the city. The City object has many different attributes itself. One of its main attribute will be its name. In this example, the city's name is going to be Charlotte. Another attribute of the City object is the county where the city is located. Charlotte's County value Mecklenburg. If a specific type of location were not specified for the attribute then there would be several different answers for the value, like North Carolina, Piedmont, and North America. The object-attribute-value implementation can have objects with many different attributes and values, as seen with the example of the Charlotte object. Here is a list of other attributes that are possible:
City | Name | Charlotte |
Charlotte | County | Mecklenburg |
Charlotte | State | North Carolina |
Charlotte | Universities | UNC Charlotte |
Charlotte | Transportation | Buses |
Charlotte | Roads | Tryon St |
Charlotte | Sewer System | Sewer Pipes |
Sewer | System Sewer | Pipes Sewage |
Charlotte | Buildings | Skyscraper |
Skyscraper | Name | Two First Union Center |
Two First Union Center | HVAC System | Duct |
Duct | Material | Aluminum |
HVAC System | Energy Source | Electricity |
Electricity | Source | McGuire Nuclear Plant |
McGuire Nuclear Plant | Fuel | Uranium |
Two First Union Center | Businesses | Adams Law Firm |
Adams Law Firm | Floor Number | 21 |
Adams Law Firm | Employer | Thad Adams |
Charlotte | Building | House |
House | Inhabitants | Humans |
House | Bedrooms | 3 |
House | Style | 2 Stories |
As can be seen from the previous example, an object-attribute-value implementation can get extremely in-depth very quickly, not unlike a semantic network. The major difference between the two schemas is the method of visualization used to display/describe the information. The semantic network is a graphical approach that can be viewed by following the flow of the arcs from node to node. The object-attribute-value implementation is a chart format that references an object and its properties by providing facts about them. In both the semantic network and the object-attribute-value implementations, the problem of "How to Design a City" was only slightly touched. Showing the relationships among every object in a city would require an extremely complex diagram. Creating an expert system for designing a city would probably take several years to design, develop and test.
Return to Group #01 Main Page.
Go to Project description.
View Semantic Network schematic (.gif format- 23K).
View Semantic Network schematic (.jpg format- 123K).
Return to the Programmer's Palace.