throbber
A Tool for Developing Interactive Configuration Applications
`
`Tomas Axling
`
`Seif Haridi
`
`March 8, 1994
`
`Swedish Institute of Computer Science
`PO Box 1263, 164 28 Kista, Sweden, Tel: +46 8 752 15 00
`E-mail: axlingillsics. se, seifiQsics. se
`
`Abstract
`
`Knowledge based techniques have been proven to be well suited for configuration tasks and
`several, often successful, systems have been developed. The goal of these knowledge based
`techniques has in general been to produce "black box" configuration systems, i.e. batch-mode
`systems that take a set of requirements as input and produce configurations as output. This
`has resulted in rather complex systems that have been time consuming to develop and in
`which the choices of components, which are often subjective, are hidden from the user. In this
`paper we present a less complex and more interactive approach to configuration that we label
`Interactive Configuration by Selection (ICS). The idea is that a configuration system could
`be more of a tool, assisting in the task of configuration, than a "black box" automatically
`producing configurations directly from requirements. To support the approach we have
`developed OBELICS. OBELICS is a prototype of a tool, implemented in SICStus Objects,
`that integrates both a problem solving method for ICS and a tool for domain knowledge
`modeling. With OBELICS we hope to demonstrate that such tool can make it feasible and
`profitable to develop configuration applications, even for small scale applications.
`
`1
`
`Introduction
`
`It is common for manufacturing companies to market products that are tailor made according
`to customers' requirements. Each item to be sold can be regarded as a new product which is
`assembled from a large predefined set of components to meet the requirements. This type of
`configuration may be complex and time consuming when performed without any specialized
`support tool.
`Configuration tasks are well suited for knowledge-based support, and several systems have
`been developed, e.g. XCON (McD82J. However, one of the lessons learned from these, often
`successful, systems is that they are time consuming to develop and hard to maintain. It is
`obvious that maintainability is crucial for applications where the domain is rapidly changing,
`which usually is the case for configuration tasks: new products are constantly designed and old
`pro<lucts are modified.
`The cost of developing configuration systems implies that in order to be profitable, only large
`scale applications can be considered. From the above discussion we conclude that there exists a
`need for methods and tools that speed up the development of configuration systems and make
`the systems more maintainable.
`The goal of existing tools is in general to develop "black box" configuration systems, i.e.
`batch-mode systems that take either parts or higher level functional descriptions as input and
`produce configurations as output. These systems may interact with t~e user while creating
`configurations by querying the user for design decisions. This is generally done in a program
`
`27
`
`Page 1 of 19
`
`FORD 1124
`
`

`
`driven fashion, forcing the user to respond to the program. These are rather complex systems
`that still are time consuming to develop and in which the choices of components, which often
`are subjective; are hidden from the user.
`In this paper we present a less complex and more interactive approach to configuration
`that we label Interactive Configuration by Selection (ICS). The idea is that a configuration
`system could be more of a tool, assisting in the task of configuration, than a "black box»
`automatically producing configurations directly from requirements. As recognized in (PR91),
`from the end-user's perspective the goal is not to have a maximally "intelligent» system but
`rather one that will help him the most in his day-to-day work. To support the approach we have
`developed OBELICS (OBjEct-oriented Language for ICS). OBELICS is a prototype of a tool,
`implemented in SICStus Objects (AAC+93], which integrates both a problem solving method
`for ICS and a tool for domain knowledge modeling. The applications built with OBELICS are
`truly interactive, user centered configurators that react to actions rather than simply prompt
`for input at well-defined places in the program.
`With OBELICS we hope to demonstrate that such a tool can make it feasible and profitable
`to develop configuration applications, even for small scale applications.
`The paper is structured as follows: In section 2 the task of configuration is defined and
`restrictions that may be imposed on it are discussed. In section 3 the res approach to con(cid:173)
`figuration is introduced and argued for. In Section 4 a tool for developing ICS applications is
`outlined and design rationales are discussed.
`
`2 Defining Configuration
`
`Making very few assumptions about the kinds of knowledge that might be available, (MF89]
`defines a configuration task as follows:
`Given: (A) a fixed, predefined set of components, where a component is described by a set
`of properties, ports for connecting it to other components, constraints at each port that
`describe the components that can be connected at that port, and other structural con(cid:173)
`straints, (B) some description of the desired configuration; and (C) possibly some criteria
`for making optimal selections.
`
`Build: One or more configurations that satisfy all the requirements, where a configuration is
`a set of components and a description of the connections between the components in the
`set, or, detect inconsistencies in the requirements.
`There are three important aspects to this definition. [1 ), the components that can be used to
`design some artifact are fixed, i.e., one cannot design new components. (2], the components
`cannot be modified to get arbitrary connectivity. [3], a solution not only specifies the actual
`components but also how to connect them together.
`[MF89] also introduces two more restrictions on this definition.
`1. The artifacts are configured according to some known functional architectures.
`
`2. The "key component" assumption.
`The key component assumption implies that if one has selected a key component then the
`rest of the components cannot be selected arbitrarily, because they are dependent on the key
`component.
`Most implemented configuration expert systems, such as XCON, Cossack and MICON, rely
`on these assumptions.
`We will label configuration tasks that rely on these assumptions "restricted configuration
`tasks". The rest of paper is mainly concerned with the restricted configuration task ( we are
`even going to impose more restrictions).
`
`28
`
`Page 2 of 19
`
`FORD 1124
`
`

`
`3
`
`Interactive Configuration by Selection
`
`This section i~troduces an approach to configuration that we label Interactive Configuration
`by Selection (ICS). The approach is mainly derived from DPS (Axl93], a tool for switchgear
`configuration which is described below.
`
`3.1 DPS
`
`DPS is a tool aiding the work of configuring and selling low voltage switchgear. It was developed
`by Tomas Ax.ling in 1989 and still is in active use.
`The work of configuring and selling low voltage switchgear can be described as follows:
`1. An inquiry arrives to the company from a customer. The inquiry includes a general
`specification of the required functionality and constraints.
`
`2. The sales engineer then makes an interpretation of the inquiry. He selects the type and
`number of cubicles, the components needed and so forth.
`
`3. In accordance with the selection the sales engineer then creates a quotation which includes:
`
`• a specification of the parts needed
`• a price calculation
`, single line and front layout drawings
`
`4. If the customer approves of the quotation all the parts needed for the order will be ordered
`or manufactured. Otherwise the order is lost or a new interpretation ( and quotation) will
`have to be made.
`The task for DPS is to help with the interpretation and then automatically generate a
`quotation. If the quotation becomes an order the list of needed parts is produced by the DPS.
`The system does this by assisting the user in selecting suitable switchgear components (like
`breakers, bus bars, cubicles) and then puts them together to form a complete switchgear. As
`output the system produces a specification, a quotation, front layout and single line diagram
`drawings, and a price calculation with a complete part list.
`The system was very well received and the following gains from using DPS were recognized.
`
`• It cut down the monotonous and laborious work of creating quotations to a minimum ( a
`quotation that could consume weeks of manual labor can be done in a few hours with
`DPS).
`
`• More consistent appearance of the quotations.
`
`• Easier to follow up on old quotations.
`
`• Even the smallest inquiries can be given a complete quotation.
`
`• The customer receives his quotation earlier.
`The major problem with DPS has been to keep it up to date with its domain. This problem
`can be divided into two parts:
`• Price changes and refinements of the text and drawings. This is easily done using the DPS
`utilities.
`
`• Changes in the product. The products constantly evolve and new solutions are required
`of the DPS. This is the major problem when it requires modifications in the program.
`The switchgear sales process may be generalized to the sales process described in figure 1
`and generalizing DPS leads us to the definition of the ICS task.
`
`29
`
`Page 3 of 19
`
`FORD 1124
`
`

`
`81\LJfS PROCESS
`
`Flndln9
`Prospects
`
`-
`
`Coj'''o,, -
`
`Proposed
`Order
`
`Complete and Correct
`Configuration
`
`order
`Tracking
`
`Figure 1: A generalization of the switchgear sales process
`
`3.2 An Informal Definition of the ICS Task
`
`We define ICS as the following type of restricted configuration tasks:
`
`1. Assist the user in the selection of main components for a product by presenting only valid
`options.
`
`2. Assemble the selected main components and add all other components necessary to make
`a complete product.
`
`3. Generate the required description of the product.
`
`The task should be performed in an interactive process where the user together with the
`application successively builds configurations. An JCS system should, at any time during a
`configuration, be able to present the current state of the configuration and allow the user to
`alter previously made configuration decisions.
`
`3.3 Applicable Domains
`
`For the ICS approach to be applicable for a domain it must be feasible to represent it as a
`component hierarchy where:
`
`1. the hierarchy represents all possible goal artifacts.
`
`2. the knowledge of how the component classes can be combined is explicitly represented.
`
`3. the terminals are physical components.
`
`[1] guarantees that all solutions can be found in the hierarchy. [2] guarantees that one can
`determine if a partial hierarchy includes conflicting component classes or not. [3] guarantees
`that it is just a question of assembling components once we have found a partial hierarchy
`representing a feasible goal artifact, i.e. there cannot be any additional configuration or design
`to be done for the term.inalss in the partial hierarchy. Criterion [3] distinguishes the res domain
`from the one of class 3 (routine) design (see [Cha86]) in which no such restriction exists.
`Examples of domains that fulfill the three criteria for res are microcomputer system [FM87],
`switchgear and kitchen configuration [Gel91]. An example of domains just outside of res' is
`AIR-CYL's [BC86](a system for designing air cylinders) which fulfills criterion [l] and [2] but
`fails criterion [3) when e.g. it is not possible to decompose the piston into existing components.
`
`30
`
`Page 4 of 19
`
`FORD 1124
`
`

`
`3.3.1 An Example
`
`As an example of how ICS systems work we will use an imaginary ICS version of Cossack [FM87],
`a configuration system for microcomputer systems.
`In the first menu, Ml:::[PrinterStuff, Processors, Displays, Software], you might choose soft.
`ware. Then from the software menu M2=[CAD, Wordprocessing, ... J you choose CAD. In the
`CAD menu M3=[AutoCAD, ... ] you choose AutoCAD. The system will now i) automatically
`add the extra components that are needed for a microcomputer system running AutoCAD, e.g.
`in thls case an arithmetic processor. il) Exclude all options in the menus that cannot be used
`together with AutoCAD, e.g. only graphical printers will remain in the printer menu. iii) con(cid:173)
`tinue with the Ml menu. You might now continue with selecting Displays, etc. The system
`will not allow you to exit until you have chosen components enough for a complete microcom·
`puter system. When you have selected all the key components that you felt were needed you
`exit and let the ICS system produce a specification of the microcomputer system that you have
`configured.
`Essentially the difference between an ICS version of Cossack and Cossack is that the user
`requirements in the ICS version are basically specified by selecting a number of key components,
`while in Cossack they are specified in more general terms of constraints. The ICS version works
`in a interactive fashion, consulting the user for all component choices that are not obvious, while
`Cossack takes a set of requirements and tries to build a configuration directly from it.
`
`3.4 Why ICS?
`
`The basic principle behind ICS is that when there are several similar alternatives the system
`should not try to decide which one is the most suitable, instead it should leave this decision
`to the user. This may give the impression that res systems would only give a fraction of the
`assistance "black box" systems give. Therefore will we here present a few arguments for the use
`of res systems and try to show that an res system can give as much assistance as a "black
`box" configuration system despite using substantially less domain knowledge.
`
`3.4.1
`
`Implications of the "key component assumption"
`
`According to the "key component assumption" [MF89] one can identify some particular com(cid:173)
`ponent ( or a small set) that is crucial to implementing some function in many design domains.
`Thus, one does not need to consider arbitrary configurations to implement some function, one
`need only to start with a "key component" and build suitable configurations on that basis. Sys·
`terns such as XCON, Cossack and MICON crucially depend on this assumption. XCON actually
`relies on this assumption to "infer" the functional requirements from the set of components it is
`given to verify. It has rules which look for certain key components and then ensure that other
`components needed to have consistent subsystems around those components are included in the
`configuration. Cossack and MICON use this assumption to build subsystems which are then
`composed together.
`In our experience a configurer usually thinks in terms of key components. He has an abstract
`sense of what key components are needed to obtain the required functionality. For example while
`configuring a microcomputer system one would have the intuitive feeling that a display will be
`needed to meet the desired functionality. One might even know that a color display is wanted.
`The problem is then to find concrete alternatives for the display and to figure out how the
`selection of the display restricts the selection of the other components. I.e. what components
`are needed to connect the display, can an 8 bit CPU be used (not if the display requires a 16
`bit display controller board), etc? This is exactly what an res system assists you with.
`
`31
`
`Page 5 of 19
`
`FORD 1124
`
`

`
`Examples of applications that depend heavHy on the "key component assumption" and the
`above assumption about thinking in terms of key components are Canard [SBCB89] and DPS.
`
`3,4.2 Exploring the Space of Alternatives
`
`As pointed out in [SBCB89), cognitive scientists have long known that people typically retrieve
`only a small fraction of available alternatives when generating hypotheses. People tend to anchor
`on initial guesses, giving insufficient regard to subsequent data. For various other reasons, people
`may not be able to visualize whole classes of possibilities. An ICS system presents all valid
`alternatives and also makes it easy to alter previous choices, hence assists designers in exploring
`the space of alternatives. This gives the designer a better feel for the effects of the constraints
`on different alternatives and the consequences of assumptions and tradeoffs.
`
`3.4.3 The Notion of Optimal Configurations
`
`In many cases configuration is really an optimization task, where one can judge and compare
`configuration alternatives and ultimately select the best or optimal configuration. The notion of
`optimal configuration may involve several optimality criteria which are combined together based
`on their relative merits. Criteria often work against each other. The combination of different
`criteria is usually highly subjective. For example while configuring a computer system one might
`prefer InM components and a cheap solution. Now say a configuration system is about to choose
`the display for the computer system and it knows that the IBM display costs $100 more than a
`comparable alternative, what should it do? To make this decision it needs to know how strong
`the preference for IBM components is compared to the preference for a cheap solution. This
`could be done by letting the user specify it. But is the preference for IBM components the same
`when it comes to selecting a printer, etc? This subjectivity makes it difficult for a system to
`determine which configuration is optimal. This combined with the fact that criteria may be
`difficult or even impossible to formulate implies that one should let the user consider several
`different alternatives and choose the one he finds to be optimal according to his criteria. This
`is what an ICS system does. It would furthermore support this by reporting what effects the
`different choices have on the design at each selection.
`
`3.4.4
`
`Incremental Development
`
`Incremental development with the following stages may be used when developing ICS systems:
`
`1. An ICS system could start by being a system that only assists in finding component alter(cid:173)
`natives and then (regardless of validity) assembles the selected components and produces
`the required documentation.
`
`2. Then knowledge could be added to make the system present only valid component al(cid:173)
`ternatives. This is a system in which you cannot include conflicting components in the
`construction, but the final construction may be incomplete if you forget to select some
`indispensable parts.
`
`3. A true ICS system, i.e. a. system that automatically adds components that must be included
`to support the selected key components and guarantees a valid construction. The system
`can then be further refined to reduce the number of manual selections needed to produce
`a configuration.
`
`4. Other problem solving methods may use ICS domain models if preference knowledge (to
`enable the system to choose between sets of acceptable alternatives) is added. For example,
`extra control knowledge may be added to produce an automated alternative generation
`
`32
`
`Page 6 of 19
`
`FORD 1124
`
`

`
`option. The system may then be used both as a "black box" configuration system and as
`an res system.
`In this way existing res systems may provide a testing ground for configuration problem
`solving methods which may be interesting from a research point of view.
`
`This means that an res can be useful at an early stage of development. For example DPS,
`which can be described as an res system in phase two, was very profitable despite its updating
`problems. This is in contrast with conventional configuration systems which often are not usable
`until all knowledge needed by the configuration method is present. The advantages of a system
`being useful at an early stage are further discussed in [PR91].
`
`3.4.5 Providing Documentation
`
`An res system can assist in providing documentation of the configuration history by making it
`easy to produce full documentation of all the prototype configurations and by letting the system
`record the work that is done on it, aiding in later follow-up work.
`
`4 A tool for developing ICS applications
`
`In the previous section we argued that res systems can be useful. But ICS systems are, like
`configuration systems in general, expensive to develop and maintain when implemented without
`some specialized support tool. We believe that the restrictions that res imposes on the general
`configuration task make it appropriate to implement a tool for developing res systems. In this
`section we will outline such a tool: OBELieS (OBjEct-oriented Language for res). We will
`start by listing a few design rationales that have emerged as vital.
`
`4.1 Design Rationales
`
`• The problem solving knowledge should be separated from the domain knowledge and be
`embedded in the tool.
`
`• The domain knowledge should be represented declaratively.
`
`• The tool should support the modeling of the domain. Instead of working with unstructured
`collections of rules, as in regular rule-based languages, the domain should be structured
`into chunks of knowledge. The chunks of knowledge should be presented to the user with
`a graphical user interface, making the domain model easy to understand and work with.
`The chunks of knowledge should be as independent as possible, letting the user concentrate
`on one chunk at a time without being concerned about interference with the rest of the
`domain model.
`
`4.2 What Needs to be Modeled?
`
`The knowledge used in configuration expert systems can be classified into two types: knowledge
`about components and knowledge about configuration methods. As pointed out in [Yok90),
`only knowledge about configuration methods has been regarded as important in conventional
`systems. This is rather surprising considering that almost all knowledge needed for real world
`configuration is bound to the components.
`In many configuration systems, like XCON, there is no clear separation between component
`knowledge and knowledge about configuration methods since constraints on components are
`often expressed in the production rules. Moreover it is often not clear, in this kind of system,
`
`33
`
`Page 7 of 19
`
`FORD 1124
`
`

`
`how a newly added rule will interact with existing rules when there is no explicit problem solving
`model.
`In many cases the component models are mere data structures that represent attributes of
`components. They need to be interpreted and manipulated in terms of configuration tasks or
`procedures and the knowledge about the components may be embedded in model manipulation
`procedures or configuration methods. This embedding of component knowledge in configuration
`methods makes it difficult to make effective use of the component knowledge.
`The central role of components implies that the component model should not be a mere data
`structure but a model that includes all knowledge about the component. Then the component
`model can be given an active role in the configuration process. Configuration requirements
`· can be regarded as constraints on components which reduce the configuration problem to a
`constraint satisfaction problem. These points have recently been, to varying extent, recognized
`and used (MF89] [Vit86] [Yok90].
`According to these arguments for focusing on component knowledge, most of the domain
`knowledge should be contained within the component model. E.g. the knowledge about
`
`• Under what conditions the component can be included in the construction
`
`• Dependency relations on other components
`
`• Attributes of the component
`
`should be modeled in the component model.
`In section 2 a configuration is defined as a set of components and a description of the
`connections between the components in the set. This implies that we must be able to model
`the connections in an effective way. For this reason, there should be a separation between the
`component model and the connection model.
`Furthermore we believe that knowledge about shareability should be represented in the con(cid:173)
`nection model and not in the component model. An argument for this is that the constraints
`stating whether a component may be part of a connection usually depend on the type of con(cid:173)
`nection and not only on the component. For example, component A may be involved in several
`connections of type A-B while another type of connection, say A-C, may require that A is not
`part of any other connection.
`In some cases, the decision whether a component is sharable or not is subjective. This
`knowledge should also be included in the connection model.
`
`4.3 OBELICS
`
`In this section we w1ll outline OBELICS, a tool for creating ICS applications.
`OBELICS consists of three main parts: a domain model editor, a problem solving method
`and a truth mainte1\ance system.
`
`4.3.1 Domain Model Editor
`
`To assist in modeling domains we have developed a domain model editor. The OBELICS domain
`model is a form of component hierarchy that describes is-a and part-of relations. The compo(cid:173)
`nent hierarchy should represent all the possible artifacts in the domain. The editor presents
`hierarchies in an understandable way and makes it easy to add and modify components. Figure
`2 illustrates how the editor works and also exemplifies OBELICS' component hierarchies. In the
`component hierarchies each component class is described as follows.
`
`34
`
`Page 8 of 19
`
`FORD 1124
`
`

`
`fltlp
`
`Iii RtlaUon Editor
`
`Im
`
`».. I!] Compontnt
`a...,
`
`r:
`
`(doM)
`~
`
`\
`\
`I
`I
`
`....
`
`' '
`
`QQ*IIU'IIMlaC.,bl• •
`ctblo----+ orla'l\alSUNo,D,,vtcottbl, •
`~
`
`~,.-tnt,,rl;.oh\, •
`
`!§=--~~pa-I.I
`
`dl'l'l...,,.,.t•
`
`::;;~:.
`.........rtr<. ~··
`
`Figure 2: Using the Domain Model Editor
`
`COMPONENT CLASS name
`
`Description: A textual description of the component class.
`If the component class does not have any subcomponents or subclasses we label it a
`primitive component class. If it does have subcomponents we call it a composite component
`class. For a primitive component class the description describes the component represented
`by the component class.
`
`Preconditions: The constraints that must be satisfied if the component class is to be con(cid:173)
`sidered as a valid option, i.e. the constraints that state if it is correct to include the com(cid:173)
`ponent class in the construction. The preconditions are defined as an OBELICS constraint
`expression.
`An OBELICS constraint expression (OCE) is a conjunction or a disjunction of OCEs or a
`simple constraint expression. A simple constraint expression is an equality /inequality of
`attributes accessible in the component class, a linear rational constraint, or a call to an
`access method. A linear rational constraint is an linear equation of attributes accessible
`in the component class enclosed in curly brackets, e.g. {price<k+100}. An access method
`is one of OBELICS' predefined methods for accessing other instances, for example:
`instance(CC,Expr,I) which means ur is an instance of CC that satisfies Expr\ Expr
`being of the same type as preconditions. This method enables one to access other
`instances and their attributes using Expr as criteria.
`
`35
`
`Page 9 of 19
`
`FORD 1124
`
`

`
`no..instance(CC,Expi-) which means "There does not exist an instance of CC that sat(cid:173)
`isfies Expr", Expr being of the same type as preconditions.
`acc_cast( +,I,Attr,Sum) which means "Sum .is the sum of attribute Attr's value in all
`descendants of instance I.
`
`Dependencies: Constraints stating what components and connections must exist if this
`component class is to be included in the construction. The selection of this component
`class is not confirmed until the dependencies are satisfied. For example a software package
`might require a selection of an arithmetic processor, then a selection of a software package
`is not confirmed until an arithmetic processor is selected. Dependencies are expressed in
`two ways:
`
`dependency(CC,OCE) which states "there must exist an instance of component class
`CC that satisfies OCE" 1
`connection(ConnectionCiass,ComponentCiasses) which states "there must exist an
`instance of ConnectionClass connecting component class instances as specified in
`ComponentClasses". The ComponentClasses is a list of pairs, (CC, OCE), each de(cid:173)
`scribing what class(cc) a instance must be of and what constraints (OCE) it must
`satisfy.
`
`Attributes: Attributes like price, size and auxiliary variables. They are described in a
`declarative form. Some attribute values are enterrd by the user, some are calculated and
`some are constants. The subclasses inherit the attributes. Modes for calculating attribute
`values are:
`
`• Attribute whose value is constant.
`• Attribute whose value is to be entered by the user.
`• Attribute whose value is to be calculated with a specified method.
`• Attribute which is defined here, but the method for calculating its value is defined in
`the subclasses.
`
`Subcomponents: The component class' subcomponents and the number of possible occur(cid:173)
`rences of them. The number of possible occurrences are:
`
`: Exactly one is required to make the construr..tion complete. We label these subcom(cid:173)
`ponents required component classes.
`? : One may be included. We label these subcomponents optional component classes.
`* : Zero or more may be included. We label these subcomponents optional iteration
`component classes.
`+ ~ One or more must be included. We label these subcomponents required iteration
`component classes.
`
`Subclasses: The component class 1 subclasses.
`
`The subclass and subcomponent relations also describe the inheritance scheme. Subclasses and
`subcomponents will inherit methods through an inheritance by overriding mechanism.
`
`36
`
`Page 10 of 19
`
`FORD 1124
`
`

`
`4.3.2 Representing Connections
`
`To describe possible connections between components we use connection classes. In a connec.
`tion class we specify wh.ich component classes are connected, and for each component class in
`the connection class, we specify whether a component instance may occur in other connection
`instances. If it may occur in other connection instances we specify which connection classes they
`should belong to (e.g. the current connection class). For each of those connection classes, we
`specify whether the connection possibility is definite or optional.
`The following is an informal description of how connection classes are represented in OBELICS.
`
`CONNECTION CLASS name
`
`Description: A textual description of the connection class.
`
`Between: A set of triples (CC,SC,OSC) that describe the components the connection class
`can connect. The triples are defined as follows:
`
`CC is a component class.
`SC is a set of connection classes.
`OSC is a set of connection classes.
`
`Each triple states that a connection of the class must include a component C of class CC
`that is not included in any other connections except for connections of classes that occur
`in SC or in OSC if granted by the user.
`Hence SC states shareability, i.e. indicates if a component may be simultaneously used in
`more than one connection.
`OSC states optional shareability. An example of this is a printer and a modem that
`are using the same port. This is possible if the printer and the modem are not to be
`used simultaneously and the inconvenience of switching between the two is acceptable.
`The question of shareability is hence subjective and should therefore be dealt with in an
`interactive fashion, as opposed to the cases where a component is clearly shareable.
`
`4.3,3 Aspects of Modeling in OBELICS
`
`The domain model is represented as a mixed is·a and part·of hierarchy, which makes the mod(cid:173)
`eling rather flexible. There is no one-to-one correspondence between domains and models in
`OBELICS, i.e. there are many ways to model a domain in OBELICS. Naturally there are draw(cid:173)
`backs with not having a one·to-one correspondence. For example the understanding of systems
`designed by others may become more difficult when different designers may choose different ap(cid:173)
`proaches when modeling in OBELICS. But as a primary goal for OBELICS is to provide flexible
`and intuitive modeling, we believe that the trade-off is justified.
`The notions of required components and dependencies may overlap each other, making it
`possible to create .redundancy. This should not cause any problems if the problem solving
`method (PSM) is correctly designed.
`The principle of using intrinsic properties should be applied when modeling in 013ELICS.
`That i

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket