SlideShare a Scribd company logo
Multilevel Constraint-Based Configuration
The goal of MyCon a prototype expert system for configuring computer systems,
is to relieve the support engineer of the tedious task of configuration of a
customer order.
by Robert I. Marcus
A new algorithm for handling computer system conïŹguration problems has been
implemented in a prototype called MyCon developed at the Hewlett- Packard Knowledge
Systems Laboratory.
The original MyCon was written in Portable Standard Lisp using the HP AI Workstation
environment1 consisting of an objects package, a frame-based package, and an EMACS-
type editor, NMODE. This environment made it possible to construct an interface in
which all the knowledge about the devices, constraints, and conïŹgurations of a system is
easily accessible to the user. This ïŹrst prototype focused on placing devices on I/O
channels.
This prototype has been converted into HP standard Pascal and is running on the HP
3000, conïŹguring the HP 3000 Series 68. The latest version also performs slot, junction
panel, and cable conïŹguration. The ultimate goal is to produce a program that can free the
support engineer from the tedious task of logical conïŹguration of a customer order.
The fundamental idea of the MyCon algorithm is very simple, but the algorithm appears
to have a wide range of applications. The basic principle is that at every stage of the
conïŹguration process there are explicit constraints that cannot be violated.
The basic problem solved by MyCon is to construct a system conïŹguration that satisïŹes a
series of constraints supplied by an expert. The constraints fall into two differ ent classes:
required and suggested. A conïŹguration is feasible only if it satisïŹes all of the required
constraints. The suggested constraints are guides for selecting the best choice among the
feasible conïŹgurations.
The prototype performs the logical conïŹguration of a computer system. This problem
consists of taking a set of devices and attaching them to I/O channels to maximize
performance at a reasonable cost. Typical required constraints are “The maximum number
of devices that can be attached to a channel is 6” and “High-speed devices must be
attached to high speed channels” Typical suggested constraints are “Spread the high-
speed devices evenly” and “Keep low-speed devices on low-speed channels”. The
difïŹcult part of the problem is to use the knowledge embedded in the suggested
constraints to control and evaluate the system conïŹguration. The method of multilevel
constraints was developed to handle this part of the problem.
Previous work on conïŹguration problems, such as the Rl system developed by Digital
Equipment Corporation have used forward chaining rules to guide the conïŹguration. The
advantage of a rule-based or constraint-based system is the ease of maintenance and
updating. In this paper, multilevel constraints are discussed as an alternative or
supplement to forward chaining. The method can be extended to any problem in which
there are qualitative preferences among a range of feasible solutions.
Basic Method as Used by MyCon
The steps in the basic method are:
1. Choose an initial algorithm that can generate candidate partial conïŹgurations as steps
towards a ïŹnal conïŹguration.
2. Use the required constraints as a pruning mechanism to ensure that the initial algorithm
will produce only feasible conïŹgurations.
3. Add suggested constraints as necessary to maximize the quality of the ïŹnal
conïŹguration and to guide the con ïŹguration away from unsuccessful partial
conïŹguration that will require backtracking.
4. If the initial algorithm generates a sufïŹcient number of possibilities, and all the
required constraints are stated, and the suggested constraints are chosen well, then the
method provides an efïŹcient algorithm for optimal conïŹguration.
The idea of multilevel constraints is to assign each constraint to a level determining when
it is active and must be satisïŹed. In MyCon, the required constraints are assigned a level
of 100. Suggested constraints are assigned lower levels ranging from 0 to 90 in steps of
10. The program begins attaching devices to channels keeping all constraints active. If a
feasible conïŹguration cannot be completed, then constraints at level 0 are dropped, the
level is incremented by 10, and an attempt is made to attach the remaining devices. This
process of dropping constraints is continued until the conïŹguration is successfully
completed or the level reaches 100.
This method offers several advantages over a strictly for ward chaining approach. The
number of constraints is smaller than would be necessary with forward chaining. It is not
necessary to introduce additional predicates to resolve conïŹ‚icts and to prevent the
premature ïŹring of rules. It is possible to evaluate the results of the conïŹguration by
keeping track of the suggested constraints it vio lated. Finally, the user of the system can
suggest an alternate conïŹguration for the program to evaluate and compare with the
original result. This last feature is very important, because it allows a user to determine
why the program has selected a particular conïŹguration and which alternatives are
equally suitable.
The MyCon Prototype
The user interface to MyCon is an interactive version of the form used by salespersons
when taking a customer order. The form will only accept orders that satisfy all the basic
system requirements regarding maximum and mini mum numbers of devices and
peripherals. MyCon can also determine if an order contains too many devices to be
conïŹgured legally and will advise the user on how to reduce the order.
When a correct order has been entered, the program chooses the number of high-speed
I/O channels and the system disc following guidelines suggested by an expert in
conïŹguration. The user is informed of the reasons governing these choices and is allowed
to overrule them.
Next, MyCon attempts to place devices on the I/O channels using the active constraints to
determine if the placement can be done. The devices are arranged in an order based on
heuristics used by experts. In general, devices that are subject to more constraints, such as
the system disc, are placed ïŹrst. The user is able to watch the devices being placed one at
a time with levels reported if desired.
A device is placed on the ïŹrst I/O channel for which no active constraint is violated. If a
device can't be placed at a level, then no further attempt is made at that level to place
devices of the same type. When all devices possible have been attached at a given level,
Mycon checks to see if the conïŹguration is completed. If any devices remain to be
placed, the level is raised and constraints below the current level are dropped. If the level
reaches 100 without a successful conïŹguration, the user is informed that it is necessary to
reduce the number of high-speed I/O channels, which will lower the performance of the
system. If the user decides to continue, the number of high-speed I/O channels is reduced,
all devices are removed from the channels, the level is set at 0, and the conïŹguration is
restarted.
This process is repeated until a successful conïŹguration is produced or no further
reduction is possible. The last possibility has been eliminated in practice by using a
maximal packing estimator on the conïŹgurability of the original order before starting
conïŹguration.
Finally, the user can reconïŹgure the system by adding, moving, and deleting devices.
MyCon will evaluate the user's conïŹguration and compare it with the original result.
Examples of Multilevel Constraints
Multilevel constraints serve a dual purpose in conïŹguration. In one sense they are a
means of knowledge representation that is easily understood. The levels convey an
estimate of the importance attached to satisfying a constraint. However, the levels are
also a control mechanism which can be used to govern the dynamics of the conïŹguration
process. For example, to ensure that high-speed devices are spread evenly on high-speed
channels, the following constraints and levels are used:
Maximum of one device on high-speed channels Level = 10
Maximum of two devices on high-speed channels Level = 20
Maximum of three devices on high-speed channels Level = 30
Maximum of four devices on high-speed channels Level = 40
Maximum of five devices on high-speed channels Level = 50
A fundamental constraint of the system is:
Maximum of six devices on high-speed channels Level = 100
The placement of a low-speed device on a high-speed channel at an early stage of the
conïŹguration would not strongly affect the performance of a successful conïŹguration.
However, it might stop the later placement of a high speed device and prevent the
conïŹguration process from succeeding. Therefore, it is important that no low-speed
devices be placed on high-speed channels until all high speed devices have been attached.
Since the constraints above may prevent this until the level is greater than 50, the
following constraint is enforced:
No low-speed devices on high-speed channels Level = 60
It is possible to have MyCon maintain its knowledge base by insisting that certain
inequality relations between constraint levels be enforced. For example:
Level of (No low-speed devices on high-speed channels) > Level of (Maximum of five devices on high-speed channels).
The constraints can be chosen to avoid having devices placed on the same channel. For
example:
Minimum of (Number of system discs attached to channel)
AND (Number of magnetic tape drives attached to channel) = 0. Level = 90
Number of high-speed master discs attached to channel < = 1 Level = 30
It is also possible to insist that certain devices not be placed with those of another type.
For example:
(Number of slave discs attached to channel = 0)
OR (Number of master d i s c s a t t a c h e d t o c h a n n e l) = 0 . L e v e l = 1 0 0
Observations
It has been possible to translate all of the required and suggested constraints for device
placement into the form of multilevel constraints easily. The selection of levels for the
suggested constraints required some analysis and experimentation. The easy-to-
understand form of the constraints facilitates addition, deletion, modiïŹcation, and testing
by a conïŹguration expert untrained in program ming.
The expansion of the prototype to handle placement into slots and junction panels greatly
increased the knowledge required by MyCon. This was accommodated by adding
constraints to the device placement phase of the program. Using these additional
constraints made possible a procedural implementation of the slot and junction panel con
ïŹguration.
The use of constraints also permitted an easy transformation of the program from Lisp to
Pascal. Using Lisp as a development language hastened development of the prototype by
providing ïŹ‚exibility in choosing data structures and an excellent debugging environment.
The conversion into Pascal was done for reasons of portability and maintainability.
Conclusion
The method of multilevel constraints has proven very effective for logical conïŹguration
of computer systems. It combines simplicity and power in knowledge representation and
control. The method can be extended to many problems in which a system is constructed
systematically using knowledge of a domain. It can be used as a supplement or
alternative to procedural or forward chaining methods. The constraints complement these
methods by telling the program what actions not to take.
Constraints seem to be a natural way for experts to ex press their knowledge of a domain.
By tracing the constraints and the levels it is possible to monitor very closely the progress
of the conïŹguration and detect gaps or errors in the knowledge.
The real power of the algorithm has not been fully tested by the logical conïŹguration
problem. For example, express ing multilevel constraints in mathematical form allows the
introduction into expert systems of the tremendous amount of software constructed for
linear and mathematical programming. In the ïŹeld of artiïŹcial intelligence, there has been
extensive work on constraint satisfaction and propagation; this could be used to extend
the present algorithm. In the future, it seems possible that the method of multilevel
constraints could become a standard tool of knowledge engineering.
Acknowledgments
Keith Harrison introduced me to the conïŹguration problem and suggested many
improvements in the user interface.
References
1. M.R. Cagan, "An Introduction to Hewlett-Packard's AI Workstation March Hewlett-Packard Journal,
Vol. 37, no. 3, March 1986.
2. R.M. Stallman, EMACS ñ€” The Extensible, Customizable, Self- Documenting Display Editor, Memo
No. 519, ArtiïŹcial Intelligence Laboratory, Massachusetts Institute of Technology, June 1979.
3. J. Sys "R-l: A Rule-Based ConïŹgurer of Computer Systems," ArtiïŹcial Intelligence, Vol. 11, no. 1,
1982.

More Related Content

PPTX
Optimization
PDF
Sdcch Blocking Analysis
PDF
18068 system software suppor t for router fault tolerancelatex ieee journal s...
PDF
108401 2727+ijet-ijens
PDF
Call Setup Success Rate Definition and Troubleshooting
DOC
12 gsm bss network kpi (tch assignment success rate) optimization manual
DOC
05 gsm bss network kpi (tch congestion rate) optimization manual
DOC
Buffer sizing for 802.11 based networks
Optimization
Sdcch Blocking Analysis
18068 system software suppor t for router fault tolerancelatex ieee journal s...
108401 2727+ijet-ijens
Call Setup Success Rate Definition and Troubleshooting
12 gsm bss network kpi (tch assignment success rate) optimization manual
05 gsm bss network kpi (tch congestion rate) optimization manual
Buffer sizing for 802.11 based networks

What's hot (20)

PDF
Gsm bss-network-kpi-tch-assignment-success-rate-optimization-manual(asr)
PDF
Simulation Based EIGRP with two Autonomous systems Performance Analysis
DOC
Performance of a speculative transmission scheme for scheduling latency reduc...
PDF
Shankar.V-CV
DOCX
Availability tactics
PDF
Performance of Vehicle-to-Vehicle Communication using IEEE 802.11p in Vehicul...
DOCX
Cause codes from
PDF
Gsm product training technical cases
DOC
50 gsm bss network ps kpi (download rate) optimization manual[1].doc
DOCX
EE552SDNAunAhsan57371357
PPT
Delta v advanced control overview_en
PDF
Gsm bss-network-kpi-tch-call-drop-rate-optimization-manual(cdr)
DOC
14 gsm bss network kpi (call setup time) optimization manual[1].doc
PPT
Wsn 08
PPT
Using Syncade Workflow and AMS Device Manager for SIF Proof Testing on a Delt...
PPTX
Contention based MAC protocols
PDF
LTE Dimensioning
PPTX
Mac protocols
PPTX
wireless sensor network
PDF
Mac
 
Gsm bss-network-kpi-tch-assignment-success-rate-optimization-manual(asr)
Simulation Based EIGRP with two Autonomous systems Performance Analysis
Performance of a speculative transmission scheme for scheduling latency reduc...
Shankar.V-CV
Availability tactics
Performance of Vehicle-to-Vehicle Communication using IEEE 802.11p in Vehicul...
Cause codes from
Gsm product training technical cases
50 gsm bss network ps kpi (download rate) optimization manual[1].doc
EE552SDNAunAhsan57371357
Delta v advanced control overview_en
Gsm bss-network-kpi-tch-call-drop-rate-optimization-manual(cdr)
14 gsm bss network kpi (call setup time) optimization manual[1].doc
Wsn 08
Using Syncade Workflow and AMS Device Manager for SIF Proof Testing on a Delt...
Contention based MAC protocols
LTE Dimensioning
Mac protocols
wireless sensor network
Mac
 
Ad

Recently uploaded (20)

PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
medical staffing services at VALiNTRY
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
Essential Infomation Tech presentation.pptx
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Nekopoi APK 2025 free lastest update
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Design an Analysis of Algorithms II-SECS-1021-03
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
How Creative Agencies Leverage Project Management Software.pdf
2025 Textile ERP Trends: SAP, Odoo & Oracle
medical staffing services at VALiNTRY
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PTS Company Brochure 2025 (1).pdf.......
Design an Analysis of Algorithms I-SECS-1021-03
Which alternative to Crystal Reports is best for small or large businesses.pdf
How to Migrate SBCGlobal Email to Yahoo Easily
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Upgrade and Innovation Strategies for SAP ERP Customers
Essential Infomation Tech presentation.pptx
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Wondershare Filmora 15 Crack With Activation Key [2025
Nekopoi APK 2025 free lastest update
Ad

1986 Multilevel Constraint-Based Configuration Article

  • 1. Multilevel Constraint-Based Configuration The goal of MyCon a prototype expert system for configuring computer systems, is to relieve the support engineer of the tedious task of configuration of a customer order. by Robert I. Marcus A new algorithm for handling computer system conïŹguration problems has been implemented in a prototype called MyCon developed at the Hewlett- Packard Knowledge Systems Laboratory. The original MyCon was written in Portable Standard Lisp using the HP AI Workstation environment1 consisting of an objects package, a frame-based package, and an EMACS- type editor, NMODE. This environment made it possible to construct an interface in which all the knowledge about the devices, constraints, and conïŹgurations of a system is easily accessible to the user. This ïŹrst prototype focused on placing devices on I/O channels. This prototype has been converted into HP standard Pascal and is running on the HP 3000, conïŹguring the HP 3000 Series 68. The latest version also performs slot, junction panel, and cable conïŹguration. The ultimate goal is to produce a program that can free the support engineer from the tedious task of logical conïŹguration of a customer order. The fundamental idea of the MyCon algorithm is very simple, but the algorithm appears to have a wide range of applications. The basic principle is that at every stage of the conïŹguration process there are explicit constraints that cannot be violated. The basic problem solved by MyCon is to construct a system conïŹguration that satisïŹes a series of constraints supplied by an expert. The constraints fall into two differ ent classes: required and suggested. A conïŹguration is feasible only if it satisïŹes all of the required constraints. The suggested constraints are guides for selecting the best choice among the feasible conïŹgurations. The prototype performs the logical conïŹguration of a computer system. This problem consists of taking a set of devices and attaching them to I/O channels to maximize performance at a reasonable cost. Typical required constraints are “The maximum number of devices that can be attached to a channel is 6” and “High-speed devices must be
  • 2. attached to high speed channels” Typical suggested constraints are “Spread the high- speed devices evenly” and “Keep low-speed devices on low-speed channels”. The difïŹcult part of the problem is to use the knowledge embedded in the suggested constraints to control and evaluate the system conïŹguration. The method of multilevel constraints was developed to handle this part of the problem. Previous work on conïŹguration problems, such as the Rl system developed by Digital Equipment Corporation have used forward chaining rules to guide the conïŹguration. The advantage of a rule-based or constraint-based system is the ease of maintenance and updating. In this paper, multilevel constraints are discussed as an alternative or supplement to forward chaining. The method can be extended to any problem in which there are qualitative preferences among a range of feasible solutions. Basic Method as Used by MyCon The steps in the basic method are: 1. Choose an initial algorithm that can generate candidate partial conïŹgurations as steps towards a ïŹnal conïŹguration. 2. Use the required constraints as a pruning mechanism to ensure that the initial algorithm will produce only feasible conïŹgurations. 3. Add suggested constraints as necessary to maximize the quality of the ïŹnal conïŹguration and to guide the con ïŹguration away from unsuccessful partial conïŹguration that will require backtracking. 4. If the initial algorithm generates a sufïŹcient number of possibilities, and all the required constraints are stated, and the suggested constraints are chosen well, then the method provides an efïŹcient algorithm for optimal conïŹguration. The idea of multilevel constraints is to assign each constraint to a level determining when it is active and must be satisïŹed. In MyCon, the required constraints are assigned a level of 100. Suggested constraints are assigned lower levels ranging from 0 to 90 in steps of 10. The program begins attaching devices to channels keeping all constraints active. If a feasible conïŹguration cannot be completed, then constraints at level 0 are dropped, the level is incremented by 10, and an attempt is made to attach the remaining devices. This process of dropping constraints is continued until the conïŹguration is successfully completed or the level reaches 100. This method offers several advantages over a strictly for ward chaining approach. The number of constraints is smaller than would be necessary with forward chaining. It is not
  • 3. necessary to introduce additional predicates to resolve conïŹ‚icts and to prevent the premature ïŹring of rules. It is possible to evaluate the results of the conïŹguration by keeping track of the suggested constraints it vio lated. Finally, the user of the system can suggest an alternate conïŹguration for the program to evaluate and compare with the original result. This last feature is very important, because it allows a user to determine why the program has selected a particular conïŹguration and which alternatives are equally suitable. The MyCon Prototype The user interface to MyCon is an interactive version of the form used by salespersons when taking a customer order. The form will only accept orders that satisfy all the basic system requirements regarding maximum and mini mum numbers of devices and peripherals. MyCon can also determine if an order contains too many devices to be conïŹgured legally and will advise the user on how to reduce the order. When a correct order has been entered, the program chooses the number of high-speed I/O channels and the system disc following guidelines suggested by an expert in conïŹguration. The user is informed of the reasons governing these choices and is allowed to overrule them. Next, MyCon attempts to place devices on the I/O channels using the active constraints to determine if the placement can be done. The devices are arranged in an order based on heuristics used by experts. In general, devices that are subject to more constraints, such as the system disc, are placed ïŹrst. The user is able to watch the devices being placed one at a time with levels reported if desired. A device is placed on the ïŹrst I/O channel for which no active constraint is violated. If a device can't be placed at a level, then no further attempt is made at that level to place devices of the same type. When all devices possible have been attached at a given level, Mycon checks to see if the conïŹguration is completed. If any devices remain to be placed, the level is raised and constraints below the current level are dropped. If the level reaches 100 without a successful conïŹguration, the user is informed that it is necessary to reduce the number of high-speed I/O channels, which will lower the performance of the system. If the user decides to continue, the number of high-speed I/O channels is reduced, all devices are removed from the channels, the level is set at 0, and the conïŹguration is restarted. This process is repeated until a successful conïŹguration is produced or no further reduction is possible. The last possibility has been eliminated in practice by using a
  • 4. maximal packing estimator on the conïŹgurability of the original order before starting conïŹguration. Finally, the user can reconïŹgure the system by adding, moving, and deleting devices. MyCon will evaluate the user's conïŹguration and compare it with the original result. Examples of Multilevel Constraints Multilevel constraints serve a dual purpose in conïŹguration. In one sense they are a means of knowledge representation that is easily understood. The levels convey an estimate of the importance attached to satisfying a constraint. However, the levels are also a control mechanism which can be used to govern the dynamics of the conïŹguration process. For example, to ensure that high-speed devices are spread evenly on high-speed channels, the following constraints and levels are used: Maximum of one device on high-speed channels Level = 10 Maximum of two devices on high-speed channels Level = 20 Maximum of three devices on high-speed channels Level = 30 Maximum of four devices on high-speed channels Level = 40 Maximum of five devices on high-speed channels Level = 50 A fundamental constraint of the system is: Maximum of six devices on high-speed channels Level = 100 The placement of a low-speed device on a high-speed channel at an early stage of the conïŹguration would not strongly affect the performance of a successful conïŹguration. However, it might stop the later placement of a high speed device and prevent the conïŹguration process from succeeding. Therefore, it is important that no low-speed devices be placed on high-speed channels until all high speed devices have been attached. Since the constraints above may prevent this until the level is greater than 50, the following constraint is enforced: No low-speed devices on high-speed channels Level = 60 It is possible to have MyCon maintain its knowledge base by insisting that certain inequality relations between constraint levels be enforced. For example: Level of (No low-speed devices on high-speed channels) > Level of (Maximum of five devices on high-speed channels). The constraints can be chosen to avoid having devices placed on the same channel. For example:
  • 5. Minimum of (Number of system discs attached to channel) AND (Number of magnetic tape drives attached to channel) = 0. Level = 90 Number of high-speed master discs attached to channel < = 1 Level = 30 It is also possible to insist that certain devices not be placed with those of another type. For example: (Number of slave discs attached to channel = 0) OR (Number of master d i s c s a t t a c h e d t o c h a n n e l) = 0 . L e v e l = 1 0 0 Observations It has been possible to translate all of the required and suggested constraints for device placement into the form of multilevel constraints easily. The selection of levels for the suggested constraints required some analysis and experimentation. The easy-to- understand form of the constraints facilitates addition, deletion, modiïŹcation, and testing by a conïŹguration expert untrained in program ming. The expansion of the prototype to handle placement into slots and junction panels greatly increased the knowledge required by MyCon. This was accommodated by adding constraints to the device placement phase of the program. Using these additional constraints made possible a procedural implementation of the slot and junction panel con ïŹguration. The use of constraints also permitted an easy transformation of the program from Lisp to Pascal. Using Lisp as a development language hastened development of the prototype by providing ïŹ‚exibility in choosing data structures and an excellent debugging environment. The conversion into Pascal was done for reasons of portability and maintainability. Conclusion The method of multilevel constraints has proven very effective for logical conïŹguration of computer systems. It combines simplicity and power in knowledge representation and control. The method can be extended to many problems in which a system is constructed systematically using knowledge of a domain. It can be used as a supplement or alternative to procedural or forward chaining methods. The constraints complement these methods by telling the program what actions not to take. Constraints seem to be a natural way for experts to ex press their knowledge of a domain. By tracing the constraints and the levels it is possible to monitor very closely the progress of the conïŹguration and detect gaps or errors in the knowledge.
  • 6. The real power of the algorithm has not been fully tested by the logical conïŹguration problem. For example, express ing multilevel constraints in mathematical form allows the introduction into expert systems of the tremendous amount of software constructed for linear and mathematical programming. In the ïŹeld of artiïŹcial intelligence, there has been extensive work on constraint satisfaction and propagation; this could be used to extend the present algorithm. In the future, it seems possible that the method of multilevel constraints could become a standard tool of knowledge engineering. Acknowledgments Keith Harrison introduced me to the conïŹguration problem and suggested many improvements in the user interface. References 1. M.R. Cagan, "An Introduction to Hewlett-Packard's AI Workstation March Hewlett-Packard Journal, Vol. 37, no. 3, March 1986. 2. R.M. Stallman, EMACS ñ€” The Extensible, Customizable, Self- Documenting Display Editor, Memo No. 519, ArtiïŹcial Intelligence Laboratory, Massachusetts Institute of Technology, June 1979. 3. J. Sys "R-l: A Rule-Based ConïŹgurer of Computer Systems," ArtiïŹcial Intelligence, Vol. 11, no. 1, 1982.