SlideShare uma empresa Scribd logo
1 de 10
Baixar para ler offline
Management of Evolving Constraints in a Computerised
                                     Engineering Design Environment

                                   J.S. Goonetillake and G.N. Wikramanayake
                                   University of Colombo School of Computing
                                             {jsg, gnw}@ucsc.cmb.ac.lk


Abstract                                                     identified that the version management is a crucial
                                                             feature that should be supported in engineering design
Engineering design process has an evolutionary and           [13]. Version management allows derivation of a new
iterative nature as design artifacts develop through         design solution from an existing design solution thus
series of changes before the final solution is achieved.     saving designer’s time. For example consider that V1 is
Design is performed based on design requirements which       produced as the first solution for a bicycle frame design
are mainly specified as restrictions on the properties of    as depicted in figure 1. Although this would work, the
the design artifact, and are considered to be design         designer may find out under evaluation that this design
constraints.                                                 solution will not provide the stiffness required by the
A common problem encountered during the design               bicycle rider. To produce, a more stiffer road frame a
process is that of constraint evolution, which may involve   new design solution denoted as version (V2) can be
the identification of new constraints and modification or    derived from V1 by changing the seat tube size and the
omission of existing constraints for a number of reasons.    material (see figure 1).
These reasons would include changes in customer
requirements, changes in the technology, change in the                                        V1
production cost or to improve the performance. As
                                                                                 seat_tube = 52 cm
design is an evolutionary process where a solution is                            top_tube = 56 cm
sought by trial and error, integrity constraints in                              tube_diameter = 31.8 mm
engineering design will not remain fixed but will tend to                        head_angle = 71
evolve during the design process. This evolving nature of                        chainstay = 25 cm
constraints has made the support for automatic integrity                         material = “aluminium”
validation, non-trivial as it imposes number of key issues                       ---------------------
that need to be dealt with.
We have been able to successfully address these issues                                        V2
with respect to the engineering design environment and                           seat_tube = 42 cm
we identify how one could meet the challenges through                            top_tube = 56 cm
effective management of these evolving constraints for                           tube_diameter = 31.8 mm
engineering designs. Thus the original design will                               head_angle = 71
continue to exist while supporting the creation of new                           chainstay = 25 cm
                                                                                 material = “steel”
design versions to meet the changes.
                                                                                 ---------------------
                                                                                              Derivation

1.0 BACKGROUND                                                           Figure 1: Bicycle Frame Versions


1.1 Version Management                                       1.2 Engineering Design Constraints
As a result of the iterative and evolutionary (tentative)
                                                             In designing artifacts designers have to make sure that
nature of the engineering design process, design artifacts
                                                             their design solutions, adhere to given sets of design
develop through a series of changes before the final
                                                             constraints through an integrity validation process. To
solution is achieved. Each stage of the artifact evolution
                                                             assist the designer in this task it is necessary to provide
can be represented through versions and it has been
                                                             the designer with an integrity validation mechanism,
which automatically checks design solutions (represented        frame material (material = {aluminium, steel}) can be
as object versions), for design data correctness and            violated and therefore be a soft constraint.
consistency. There are number of different constraint           2.0 Problem of Evolving Constraints
classification schemes in the literature with respect to the
engineering design environment [15, 16, 19, 21].                A common problem encountered during the design
However, we categorise constraints based on what aspect         process is that of constraint evolution, which may
of the design artifact they are imposed on as depicted in       involve the identification of new constraints and
figure 2. In our research we consider only the value-           modification or omission of existing constraints for a
based constraints relevant to physical and structural (i.e.     number of reasons. These reasons would include changes
formation features category) constraints that enforce the       in customer requirements, changes in the technology,
accuracy of the data values assigned to the corresponding       change in the production cost or the possible
attributes of the object.                                       improvements to the performance. Therefore, it is not
                                                                possible to predict in advance how frequently the
                                                                constraints will change. As design is an evolutionary
1.2.1 Physical Constraints                                      process where solution is sought by trial and error, it is
                                                                necessary to recognise that integrity constraints in
To this end, we consider the following three value-based        engineering applications will not remain fixed but will
constraint classifications:                                     tend to evolve throughout the design process. We
(i) Range Constraints (e.g. 35 cm ≤ frame_size ≤ 58             observed that this evolving nature of constraints has
    cm) which check the validity of an attribute value          made the support for automatic integrity validation, non-
    specified by the designer by returning true if the          trivial as it imposes number of key issues that need to be
    value is within the specified range and false               dealt with. These issues have been identified as given in
    otherwise.                                                  sections 2.1 to 2.5 [11, 12]:

(ii) Enumeration Constraints (e.g. material = {steel,
     stainless steel, titanium, aluminium}) which may           2.1 Designers as End-users
     also return a boolean after validation.
                                                                The designers are not (expert) programmers and may
(iii) Relationship constraints are used to establish a          only have a little idea about the inner workings of the
      physical relationship between two or more attributes      application programme and the underlying database
      that may belong to the same object. The validation        system. Hence a system that takes the cognisance that
      of this constraint may either return a derived value or   designer is the end user of the system through providing
      a boolean (e.g. in hub artefact the relationship          easy creation, modification and deactivation of
      between its spoke angle and spoke holes is given as       constraints is required.
      SpokeAngle is round (720 / SpokeHoles) .

                                                                2.2 Creating New Design Objects
1.2.2 Structural Constraints
                                                                Changes in constraints may require the creation of new
Relationship constraints are also used to establish
                                                                design solutions or new object versions, which satisfy
formation features of structural constraints (e.g. the
                                                                new constraints. The system should be able to validate
formation features of the bicycle artefact with respect to
                                                                the consistency of the new version on explicit user
frame and the wheel which may state that the frame size
                                                                request by automatically selecting the currently
should be > 40 cm if the diameter of the wheel is > 60
                                                                applicable set of constraints. The violations should be
cm).
                                                                reported to the designer through informative messages
                                                                enabling him to correct them appropriately. This
                                                                demands a more flexible environment, which
1.2.3 Hard and Soft Constraints                                 incorporates the dynamic constraint modifications to the
In the general design context, each constraint category         system for future constraint validations.
can in turn be divided in to hard and soft constraints [10].
Hard constraints are restrictive and cannot be violated
while soft constraints are not restrictive and can be           2.3 Constraint Reusability
violated if required. For example, the constraint specified
on Seat tube (e.g. seat tube >52 cm and <68 cm) of the          It is unlikely that all of the constraints pertinent to an
bicycle frame can be more restrictive and therefore be a        artifact will be changed in a modification. Most of the
hard constraint whilst the constraints specified on the         previous constraints imposed on an existing design
                                                                solution (or a parent object version) are re-applicable to
the new object version and will not require re-definition.      static approach provides knowledge independence [4, 10]
This raises the importance of constraint reusability.           where knowledge or rules are managed independently
                                                                from the application program. The benefits of knowledge
2.4 Constraint Evolution History                                independence are that there is a substantial reduction in
Even though a new set of constraints is currently               the procedural code necessary to fulfil the application
applicable, it is necessary to recognise that the               requirements since constraints are managed by the
consistency of previous versions is still valid against the     DBMS and not by the applications [4, 5]. However, the
set of constraints imposed on them at their creation time.      static approach, or declaring integrity constraints in a
Moreover, as design is a trial an error process the             database schema/class in general, has the following
designers may want the facility to move back to a               shortcomings in relation to evolving constraints:
previously applicable set of constraints if a particular line   (i) The designer (i.e. a non-programmer) requires to
of constraint evolution does not work out. These issues             recompile and rewrite the existing schema to define
illustrate the importance of maintaining a constraint               a new schema to incorporate the constraint changes
evolution history (to keep track of constraint evolution)           [2].
particularly against object versions and also of providing
the ability to retrieve the set of constraints applicable to    (ii) As the constraints are considered as meta data,
each version from the evolution history.                             applicable globally to all the objects of that class, it
                                                                     is not possible to have different objects in a
                                                                     particular class complying with different sets of
2.5 Existing Object Validation                                       constraints [14].
                                                                (iii) Although this mechanism is suitable for some
There can be existing version(s) that may fully or very
                                                                      applications to ensure the consistency of the DB
closely adhere with the new constraints (e.g. in the event
                                                                      state it is not appropriate for engineering design
of a constraint relaxation). If an existing design version
                                                                      applications as it prevents constraint modifications
can be successfully validated against the new set of
                                                                      unless all the existing objects comply with the new
constraints, the major advantage is that it may eliminate
                                                                      constraints. It further prevents the deactivation of
the derivation of a new design version. This requires the
                                                                      unnecessary constraints [2].
capability of validating the existing versions and
reporting the outcome of the validation to the designer in      (iv) The constraints declared in the schema are always
the event of a constraint change.                                    enforced on the corresponding objects [2]. This
                                                                     approach may not be suitable for applications with
Although the main focus of any constraint management
                                                                     soft constraints since the objects must always satisfy
mechanism is the provision of automatic integrity
                                                                     all the constraints defined in the schema.
validation, it is clear that more facilities will be required
when evolving constraints are considered in an
engineering design environment. The provision of these
facilities cannot be achieved without a well-defined            3.2 Object-Oriented Approach
framework.                                                      In Object-Oriented databases the normal practise is to
                                                                code the database schema as a collection of classes using
                                                                a programming language such as Java or C++.
3.0 CONSTRAINT MANAGEMENT                                       Constraints are coded in corresponding methods of these
    MECHANISMS                                                  classes due to encapsulation [17, 22]. Although
                                                                encapsulation is one of the most important characteristics
Three main mechanisms are used to manage constraints.           of the object-oriented approach there are number of
They are through database schema using the relational or        drawbacks associated with implementing integrity
declarative approach, the class methods using object-           constraints within methods in class definitions.
oriented approach and active rules.
                                                                (i) It can be seen that the environment is rather rigid
3.1 Static Approach                                                 and inflexible. It is not possible to modify
One of the most widely used approaches for constraint               constraints without affecting the class definition.
handling is specifying and compiling constraints in the         (ii) As explained in the static approach, it is totally
schema definition [6, 8]. This mechanism is known as the             unrealistic to expect that the designer would change
static approach in [9]. The defined constraints are                  the class definition to incorporate constraint changes.
enforced by the DBMS to ensure the database
consistency [8]. This approach has been mainly                  (iii) Checking constraint evolution is a difficult task as it
addressed in relational and deductive databases. The                  involves scanning the methods in the corresponding
class definition and furthermore, it is not easy to         and Ram [19] aggregate constraints into a separate class
    retrieve the set of constraints applicable to a             definition called constraint meta object.
    particular version since constraints are scattered
                                                                Constraints are associated with objects/instances of the
    everywhere within class methods [7].
                                                                class facilitating different objects of the same artifact to
                                                                adhere with different constraints. However, a major
                                                                drawback is that both approaches require the designer to
3.3 Active Rules                                                manually associate the applicable constraints with the
Constraints represented as active rules avoid some              corresponding design objects. Particularly, the approach
disadvantages of the static approach such as                    proposed by Ram [19] is extremely software oriented
schema/class evolution by separating constraint                 which requires the designer to change and compile
specification from the schema. This separation allows           programs written in C++ to capture new constraints and
independent constraint evolution without affecting the          moreover to attach (plug) and detach (unplug) each
schema/class definition [18]. However, this approach has        constraint to and from the design object. In reality this is
the following shortcomings with respect to the issues           not possible when the designer is not a programmer
outlined in sections 2.1 to 2.5.                                making more hassles to the designer than the benefits. On
                                                                the other hand, specifying constraints in non-executable
(i) The designer is expected to have a sound knowledge          form such as normal database objects as in [2] makes the
    of a programming knowledge unless he is supported           integrity validation a difficult process from the
    with a user-friendly interface to modify existing           application program’s point of view. The same
    constraints. To our knowledge there is no real              disadvantage is applicable to [19] since the constraints
    commercial product of this kind. It is unrealistic to       defined in the constraint class in special syntax require to
    expect that the designer will write and compile piece       be interpreted by another program. Hence, the data
    of codes relevant to the constraint changes.                validation itself will become rather cumbersome under
(ii) Given a particular version, it is not feasible to access   both methods. Moreover, these mechanisms do not in
     the constraints imposed on it to denote the various        fact address all the issues outlined in sections 2.1 to 2.5.
     consistency states. This limitation occurs for a
     number of reasons:
                                                                4.0 THE PROPOSED FRAMEWORK
    (a) Constraints are scattered in different operations
        according to events.                                    In proposing our framework, we consider that embedding
                                                                dynamic constraint information in a class definition
    (b) Constraints defined as active rules get triggered       clearly requires a redefinition of that class, whenever a
        for each object based on the event conditions.          change occurs. It is also necessary to support the features
        There is no real association between an object          discussed in sections 2.1 to 2.5. Consequently, we
        and the constraints applicable on it.                   propose our framework based on the concept of the
    (c) There are no proper means of maintaining the            Constraint Version Object (CVO).
        history of the constraint evolution.                    Each CVO contains or aggregates a set of integrity
(iii) Active rules are procedural and in general it may be      constraints that needs to be satisfied by the object version
      difficult for a layperson to understand them.             of a particular artifact, at some instant in time. For the
                                                                bicycle frame artifact for example, the CVO may contain
Figure 3 summarises how these three mechanisms cater            the currently applicable constraints for its frame size,
for the issues outlined in section 2.                           tube diameter, material and seat_tube length. Maintaining
3.4 Constraint Management Mechanisms in                         CVOs provides the flexibility to capture changed
                                                                constraints independently from the artifact class
    Engineering Design Applications                             definitions.
Some attention has been given in the literature to
                                                                Constraint evolution is managed by producing new
providing constraint management mechanisms in
                                                                CVOs. Each artifact will have its own set of CVOs
engineering design applications. These include
                                                                depending on how the constraints relevant to that artifact
approaches presented in [2] and [19] that take the
                                                                change. However, only one CVO per artifact is active at
evolutionary nature of the design constraints into
                                                                a time; this is known as the default CVO. The default
consideration. In these approaches the flexibility to
                                                                CVO contains the currently active constraint set, and the
incorporate constraint evolution is achieved by treating
                                                                last CVO created in the system will usually become the
constraints separately from the class definition. To this
                                                                default CVO. CVOs govern the validity of design data in
end Buchmann [2] present constraints as database objects
                                                                object versions. At the time of version creation, each new
                                                                version is automatically coupled with the corresponding
default CVO, for data validation. The default CVO may           (i) A modification of existing constraints. For example
change with time as new CVOs are produced to reflect                the tube diameter of the bicycle frame artifact may
constraint evolution. Consequently, different versions of           change from (25mm ≤ tube_diameter ≤ 28 mm) to
an artifact may be associated with different CVOs, each             (29mm ≤ tube_diameter ≤ 31 mm).
representing the default CVO current at the time of data
validation.                                                     (ii) Introduction of new constraints, e.g. the head angle
                                                                     of a bicycle frame which was not restricted before
A naming scheme is needed to identify CVOs uniquely                  can be constrained to a particular set of values.
within the design environment. As each design artifact
has its own set of CVOs, the naming scheme that is              (iii) Omission of previously used constraints. For
adopted          here         takes         the         form          example moving on to free size bicycle frames
<objectnameCVO_number>, which represents a unique                     means the frame size constraint will no longer be
id for each CVO. The number is assigned sequentially,                 applicable.
indicating that the CVO with the highest id number is           (iv) Any combination of (i)-(iii).
created last for a given design artifact. The initial
framework is depicted in figure 4a. As shown in the             A new child CVO will be defined with:
diagram the object versions (artifactversion1,                      (i) refined constraints for the constraints that
artifactversion2 and artifactversion3) are instances of the             changed in the parent CVO.
same artifact class but have been validated under
different CVOs (artifactCVO_1 and artifactCVO_2).                   (ii) new constraints that did not exist in the parent
Any number of object versions can be associated (or                      CVO.
validated) with one CVO. It is important that each object           (iii) a mechanism to indicate the omission of
version keeps track of the CVO relevant to its data                       inactive constraints from the parent CVO.
validation as it enables tracking of the corresponding
CVO for each object version later on. Since a CVO                   (iv) any combination of (i), (ii) & (iii).
aggregates a set of constraints, retrieval of the constraints   Consequently, a new CVO contains only the changes to
imposed on each object version is easily achieved               its parent CVO constraint set, and the means of referring
through its corresponding CVO. In defining constraints          to its parent for the unchanged constraints. Thus, when
within CVOs, each constraint should be given a name in          invoking constraints for data validation from the child
addition to the constraint specification, to uniquely           CVO, there should be means in the child CVO to:
identify that constraint within the CVOs belong to the
same artifact. A CVO may contain any combination of             -   delegate constraints to the parent CVO         if   not
active constraints, of any category, e.g. range,                    declared within the child CVO.
enumeration and relationship constraints, which are in          -   override constraints in the parent CVO when they
turn, can be either hard or soft.                                   are redefined in the child CVO.
                                                                -   omit constraints defined in the parent CVO when
    artifactversion1: VersionableArtifact       artifactCVO_1
                                                                    they are no longer be applicable.
                                                                Since CVOs are objects, we consider that instance
   Artifactversion2: VersionableArtifact        artifactCVO_2   inheritance [23] with overriding and differential
                                                                mechanisms is the means to best provide these features in
                                                                CVOs. If a constraint is defined in a child CVO and the
   Artifactversion3: VersionableArtifact                        same constraint is defined in the parent CVO, then
                                                                through the overriding mechanism the constraint of the
                             Derivation                         parent CVO is not part of the child CVO. The differential
                             Validation
                                                                mechanism allows the designer to be selective about
                             Instance inheritance               what is inherited from the parent object and thus provides
                                                                facilities to specify what should not be inherited from the
                                                                parent object. Classical type inheritance differs from
              Figure 4a: Proposed Framework                     instance inheritance and does not cater for these
                                                                requirements. For example in type inheritance there are
                                                                problems with omitting and overriding constraints from
Creating New CVOs                                               the parent object in the child object [1]. It may further
                                                                cause class evolution [14]. Within CVOs each constraint
The necessity to create a new CVO may arise for the             is defined as a rule where its head denotes the constraint
following reasons.                                              name, and its body defines the constraint specification. A
child CVO only contains the refined constraints and          provided with an informative messaging system which
inherits the unchanged ones from its parent as depicted in   specifies details such as the violated constraints and the
figure 4a.                                                   reasons for violations.
For example, the frame version (frameVersion1) is            In our opinion, in an engineering design environment
produced within the set of constraints frameCVO_1            designers should be given the facility to correct
(figure 4b). However, to improve the comfort and to          violations, in order to maintain the autonomy of
reduce the weight of the bicycle a new set of constraints    participating disciplines, rather than automating the
(denoted by frameCVO_2) for seat tube, top tube,             violation correction process. As a result, in our
chainstay and tube diameter is agreed upon whilst            framework, the designer repairs the violation and the
keeping the constraints for head angle and the material      informative message system helps the designer to take
unchanged. Due to inheritance the new CVO will only          the necessary actions to correct it. In relation to hard and
contain the constraints relevant to the changed              soft constraints
constraints. A new version frameVersion2 is derived
from frameVersion1 by changing the values accordingly        •   violation of soft integrity constraints are merely
to satisfy the new constraints. The designers may explore        flagged to warn the designer, while still allowing
more versions under the current set of constraints. For          him to proceed.
example another version frameVersion3 can be derived         •   violation of hard integrity constraints should warn
from frameVersion2 within the constraints defined in             the designer and at the same time prevent him from
frameCVO_2 either to improve the flexibility of the              proceeding any further without correcting the
bicycle or to satisfy the rider’s requirements.                  violation.
                                                             A new version is made persistent in the database, after
                                                             successful validation of version data. Forming a new
5.0 ADVANTAGES TO THE DESIGNER                               version after the successful completion of the validation
The Object-Oriented paradigm (OOP) and thus the              process ensures the design integrity of object versions
OODBMS (based on OOP) have been recognised as the            stored in the database. In our framework, two main
most suitable technology for engineering data modelling,     situations are considered in which an object version data
version management and storage [3].                          is validated. The first situation is at the time of a new
                                                             version derivation. The second situation is the validation
We have chosen to implement our model in Java2.              of existing versions against a newly created CVO.
Objectivity has been chosen as the database system to
add persistence to design object and versioning data since   When a new CVO is created which reflects a new set of
it is an object-oriented database with rich OO features.     constraints, the existing object versions are checked
Prolog is well suited for defining CVOs since the            against the design constraints within the newly created
integrity constraints can be handled in a straight forward   default CVO. Unlike the previous case, in this situation
manner as user defined predicates in Prolog. SICStus         the system itself invokes the integrity validation process
Prolog has the advantage that it provides SICStus objects    on creation of a new CVO. On receipt of the designer’s
with named collection of predicates with a facility for      consent to proceed with the validation, it will carry out
inheritance. Furthermore, the package called jasper          the validation task for the existing versions. A successful
provides a bi-directional interface between Java and         validation is feasible, for example if the child CVO
SICStus [20].                                                contains constraints with relaxed or intersected domains.
                                                             The designer will be notified of the outcome of the
                                                             validation. In this way the designer finds out whether any
5.1 Automatic Integrity Validation                           existing versions comply with the new constraints. If
                                                             there are no successful validations from the existing set
CVOs are used to check the consistency or adherence of       of design versions, the system is capable of proposing to
a particular object version to a given set of design         the designer those versions which are closest to
requirements, before making them persistent in the           successful validation.
database. Accordingly in our framework, when a new
object version is derived, data validation is invoked by
explicit user request and is performed only on the new       5.2 Easy Capturing of Constraints
object version. On issue of the data validation command,
the system is responsible for communicating with the         The designer should be able    to capture constraints in a
corresponding default CVO and invoking the relevant          form-filling manner without    requiring him to write or
constraints for validation, without the designer’s           compile any program code.      To this end, we consider
involvement. In the event of a violation, the designer is    providing the designer with     a graphical interface that
enables him to enter the constraint specifications and
other required information into the system, e.g. new
CVO name, parent CVO name, in a form-filling manner            5.4 Moving back to Previous Stage of
(see figure 5). From this information, the creation of a           Constraint Evolution
new executable CVO for a particular design artifact is
                                                               The designer performs this through changing the default
made transparent to the designer. Syntactical errors that
                                                               CVO, if one constraint evolution path does not work out.
may occur through typing mistakes are avoided, by using
                                                               The decision as to which CVO should be made the
option buttons and lists in the graphical interface, and
                                                               default should come from the group/project leader. The
thus enabling the designer to select the values/parameters
                                                               group/project leader should communicate this decision to
relevant to the constraint specifications. Text fields are
                                                               the corresponding team members. The default object
used to enter information such as the new CVO name and
                                                               version is dependent on the default CVO. Therefore,
the values/parameters for range and enumeration
                                                               when the current default CVO is changed, an object
constraint types. One constraint specification is entered at
                                                               version belonging to the new default CVO should be set
a time. On completion of each constraint specification, a
                                                               as the default. Consequently, the operation changing the
button is pressed to carry out this conversion. This is
                                                               default CVO is associated with the set default version
transparent to the designer. Once all the constraints
                                                               operation. To support the designer in setting this new
relevant to a CVO are specified, the designer only has to
                                                               default object/configuration version, the system, through
press a button to indicate CVO completion, upon which
                                                               the version manager, selects and presents the designer
the executable form of the whole CVO is automatically
                                                               with the list of version numbers that are eligible to be the
written into the system.
                                                               default.


                                                               6.0 CONCLUSION
                                                               In this paper we presented a framework to manage
                                                               evolving design constraints in a computerised
                                                               engineering design environment. We base our framework
                                                               on the concept of CVOs which provide a flexible
                                                               environment in managing evolving constraints. Our
                                                               approach is novel since it both maintains the consistency
                                                               of versions whilst catering for the issues that emerge as a
                                                               result of constraint evolution within an engineering
     Figure 5: Capturing of constraint specifications          design environment. We believe that our proposed model
                                                               is an important first step towards addressing the
5.3 Retrieval of Design Constraints                            challenges of evolving constraint management and we
                                                               consider that it can be adopted for any application with
Retrieval of design constraints is an important aspect
                                                               evolving constraints.
from the designer’s point of view. This becomes a
trouble-free task with CVOs, since each CVO is defined
separately from the schema, and aggregates a set of
constraints. To this end, the designer is easily able to       7.0 ACKNOWLEDGEMENTS
retrieve constraints in the default CVO as the system          The work presented here is based on the research done by
maintains a record of it. Retrieval of any other CVO is        the first author at University of Wales Institute, Cardiff
possible as constraint evolution history is managed            (UWIC), UK under the supervision of T.W. Carnduff and
through CVOs and is performed by specifying the CVO            W.A. Gray. The research was funded by UWIC and
name. As the system associates and keeps track of the          Asian Development Bank.
CVO pertinent to each version, the CVO of any required
version can be retrieved by specifying the version name.
Upon selection of a particular version name, the CVO           8.0 REFERENCES
name associated with it is obtained to display the CVO
details. However, constraints are defined in executable        1) Bassiliades, N. and Vlahavas, I., 1994, Modelling
form as rules in CVOs and consequently, in displaying             Constraints with Exceptions in Object-Oriented
constraints they should be converted into a form close to         Databases, In proceedings of the 13th International
natural language. The implementation of this feature can          Conference on the Entity-Relationship Approach
be performed using a parser, which reads and converts             (ER’94), Loucopoulos P. (eds.), Manchester, U.K,
rules in each CVO to natural language.                            189 – 204.
2) Buchmann, A.P., Carrera, R.S. and Vazquez-              13) Katz, R.H., 1990, Towards a Unifying Framework
   Galindo, M.A., 1992,Handling Constraints and their          for Version Modeling in Engineering Databases,
   Exceptions: An Attached Constraint Handler for              ACM Computing Surveys, vol. 22 (4), 376-408.
   Object-Oriented CAD Databases, On Object-
                                                           14) Katz, R.H. and Chang, E., 1992,Inheritance Issues in
   Oriented Database Systems, Dittrich K.R., Dayal U.
                                                               Computer-Aided Design Databases, On Object-
   and Buchmann P. (eds.), Springer-Verlag, 65-83.
                                                               Oriented Database Systems, Dittrich, K.R., Dayal,
3) Carnduff, T.W., 1993, Supporting Engineering                U., Buchmann, A.P. (eds.), Springer-Verlag, 45-52.
   Design with Object-Oriented Databases, PhD thesis,
                                                           15) Lin, J., Fox, M.S. and Bilgic, T., 1996, A
   Department of Computer Science, University of
                                                               Requirement Ontology for Engineering Design, In
   Wales Cardiff, UK.
                                                               Proceedings of Advances in Concurrent Engineering
4) Ceri, S. and Fraternali, P., 1997, Database                 (CE’96), Sobolewski, M., Fox, M. (eds.), Toronto,
   Applications with Objects and Rules, Addison-               343-351.
   Wesley.
                                                           16) Lin, J., Fox, M.S. and Bilgic, T., 1996, A
5) Ceri, S. and Ramarishnan, R., 1996, Rules in                Requirement Ontology for Engineering Design,
   Database Systems, ACM Computing Surveys, vol.               Concurrent Engineering Research and Applications,
   28 (1), 109-111.                                            vol. 4(3), September, 279-291.
6) Date, C.J., 1995, An Introduction to the Database       17) Meyer, B., 2000, Object-Oriented Software
   Systems, Addison-Wesley.                                    Construction, Prentice Hall International Series in
                                                               Computer Science.
7) Diaz, O., Paton, N. and Gray, P., 1991, Rule
   Management in Object Oriented Databases, A              18) Pfieifer, A. and Wulf, V., 1997, Negotiating
   Uniform Approach, 17th National Conference on               Conflicts in Active Databases, In Proceedings of the
   Very Large Databases (VLDB 91), Barcelona, 317-             Concurrent Engineering: Research and Applications
   326.                                                        Conference (CE97), Ganesan, S. and Prasad, B.
                                                               (eds.), 443-450.
8) Elmasri, R. and Navathe, S., 1994, Fundamentals of
   Database Systems, Second Edition, Addison-              19) Ram, D.J., Vivekananda, N., Rao, C.S. and Mohan,
   Wesley.                                                     N.K., 1997, Constraint Meta-Object: A New Object
                                                               Model for Distributed Collaborative Designing,
9) Finin, T.W, Nicholas, C.K and Yesha, Y., 1992,
                                                               IEEE Transactions on Systems, Man and
   Consistency Checking in Object Oriented Databases:
                                                               Cybernetics, March, vol. 27(2), 208-220.
   Behavioral Approach, Information and Knowledge
   Management, First International Conference              20) SICStus Prolog User’s Manual, 2000, Release 3.8.4,
   (CIKM’92), Baltimore, Maryland, USA, 53-68.                 Swedish Institute of Computer Science,Sweden.
10) Friesen, O, Gauthier-Villars, G., Lefebvre, A. and     21) Twari, S. and Franklin, H., 1994, Automated
    Vieille, L., 1994, Applications of Deductive Object-       Configuration   Management         in    Concurrent
    Oriented Databases Using DEL, Applications of              Engineering Projects, Concurrent Engineering
    Logic Databases, Ramakrishnan R. (eds.), Kluwer            Research and Applications, vol. 2(3), 149-161.
    Academic Publishers, 1-22.
                                                           22) Urban, S., Karadimce, P and Nannapaneni, R., 1992,
11) Goonetillake, J.S., Carnduff, T.W. and Gray, W.A,          The Implementation and Evaluation of Integrity
    2001, Integrity Validation for Object Versions in a        Maintenance Rules in an Object-Oriented Database,
    Co-operative Design Environment, In Proceedings            Proceedings of 8th International Conference on Data
    of the 6th International Conference on Computer            Engineering, 565-572.
    Supported     Cooperative     Work     in   Design
                                                           23) Wilkes, W., 1988, Instance Inheritance Mechanism
    (CSCWD’01), Shen, W., Lin, Z., Barthes, J. and
                                                               for OODBS, Object Oriented Database Systems
    Kamel, M. (eds.), Ontario, IEEE, 89-94.
                                                               (OODBS 88), 274-279.
12) Goonetillake, J.S., Carnduff, T.W. and Gray, W.A.,
    2002, An Integrity Constraint Management
    Framework in Engineering Design, In the
    International Journal of Computers in Industry, vol.
    48(1), Elsevier Science.
Hard
                                                          Range
                                                                                 Soft

                                                                                        Hard
                                                          Enumeration
                                         Physical                                       Soft


                                                          Relationship                  Hard
                 Imposed on
                   artifact                                                             Soft
                  properties
                                                                                                        Hard
                                                           Formation
                                                                             Relationship
                                                            features
                   Imposed on            Structural                                                     Soft
Design               artifact
Constraint        functionality
                                                           Composition
                  Imposed on
                   the design
                     process
                     artifact


                                       Figure 2: Constraint Categories



               frameVersion1: VersionableFrame
               seat_tube = 52 cm                                          frameCVO_1
               top_tube = 56 cm
               tube_diameter = 31.8 mm                    seat_tube = {42, 44, 46, 52} cm
                                                          tube_diameter = {25.4, 26.8, 27.2, 31.8} mm
               head_angle = 71
                                                          head_angle >65 and < 72
               chainstay = 25 cm                          chainstay = {25, 26} cm
               material = “aluminium”                     material = {aluminium, steel}
               ---------------------


               FrameVersion2: VersionableFrame                           frameCVO_2
               seat_tube = 52 cm                         seat_tube >52 cm and <68 cm
               top_tube = 56 cm                          top_tube – ( if seat_tube < 60 then
               tube_diameter = 24.5 mm                                    top_tube = seat_tube + 4) or
               head_angle = 71                                     ( if seat_tube between 60 and 68 then
               chainstay = 42 cm                                         top_tube = seat_tube - 3)
               material = “steel”                        chainstay = {40, 41, 42, 45} cm
               ---------------------                     tube_diameter - if (material = “aluminium” then
                                                                       tube_diameter > 27.4 and <32) or
                                                                        if (material = “steel” then
                                                                           tube diameter > 24 and <27.4)
               FrameVersion3: VersionableFrame
               seat_tube = 61 cm
               top_tube = 58 cm
               tube_diameter = 24.5 mm
               head_angle = 71
               chainstay = 42 cm
               material = “steel”
               ---------------------


    Figure 4b: Illustration of the Proposed Framework using Frame Versions and the Frame CVOs
Issues                  Static Approach               Object-Oriented                    Active Rules
                                                                    Approach
Constraints impose on        Globally on class level        Globally on class level         Globally on class level
Flexibility in               Not flexible                   Not flexible                    Quite flexible as they are
manipulating                                                                                maintained separately from
evolutionary constraints                                                                    the schema.
Designer’s ability to        Difficult since it requires    Difficult since it requires     Difficult since it requires
define/modify constraints    programming knowledge          programming knowledge           programming knowledge
                             and compilation of the         and compilation of the          and compilation of the
                             program.                       program.                        program.
Possibility for re-use of    Yes, if the existing schema    Yes, if the existing class is   Yes, as constraint
unchanged constraints        is modified with new           modified with new               modifications can be
while preventing their re-   constraints. No, if a new      constraints. No, if a new       performed independently
definition                   schema is defined with new     class is defined with new       from the schema.
                             constraints.                   constraints.
Triggering validation on     No, as validation is           Depends on how the              No, as constraints get
explicit user request        normally invoked               application program is          triggered based on the
                             immediately and                designed.                       event.
                             automatically by the
                             DBMS.
Enforcing the currently      Automatically enforced by      Can be enforced                 Automatic, as the
active set of constraints    the DBMS.                      automatically through the       constraints get triggered
                                                            application program.            based on the event.
Messages to report           Validation is associated       Can be provided through         The rule may have an
violations enabling the      with a transaction and the     the application program.        action part to repair
designers to correct them    transaction is aborted in a                                    violations without
                             violation cancelling all the                                   designer’s involvement.
                             work done so far.
Validation of existing       Automatically takes place      Not available                   Not available
objects in constraint        but inappropriate for CAD
modifications                since it prevents
                             modifications if previous
                             objects in the DB do not
                             adhere with the new
                             constraints.
Managing constraint          Histories can only be kept     Histories can only be kept      Histories can be kept
evolution histories          through producing new          through producing new           through producing new
                             class definitions.             class definitions.              class definitions.

Ability to retrieve          Difficult as they are          Difficult as the constraints    Difficult as constraints are
constraints applicable to    embedded in the schema.        are scattered in the class      scattered in different
a particular object                                         definition.                     operations.
Moving back to a             Possible through using the     Possible through using the      Possible through using the
previous constraint set      class/schema version with      class version with the          class version with the
                             the required constraints.      required constraints.           required constraints.
Association between          Not applicable.                Not applicable.                 Not applicable.
constraint evolution and
object evolution

                Figure 3: Comparison between the widely used constraint management approaches

Mais conteúdo relacionado

Semelhante a Management of Evolving Constraints in a Computerised Engineering Design Environment

Management of Evolving Constraints in a Computerised Engineering Design Envir...
Management of Evolving Constraints in a Computerised Engineering Design Envir...Management of Evolving Constraints in a Computerised Engineering Design Envir...
Management of Evolving Constraints in a Computerised Engineering Design Envir...Gihan Wikramanayake
 
A comparative study of force based design and direct displacement based desig...
A comparative study of force based design and direct displacement based desig...A comparative study of force based design and direct displacement based desig...
A comparative study of force based design and direct displacement based desig...IRJET Journal
 
Computer-Aided Engineering
Computer-Aided EngineeringComputer-Aided Engineering
Computer-Aided EngineeringAdesanya Adebayo
 
Checks for walls and details of concrete structures
Checks for walls and details of concrete structuresChecks for walls and details of concrete structures
Checks for walls and details of concrete structuresJo Gijbels
 
Medtronic - Exploring Sixty Stent Design Variations Overnight
Medtronic - Exploring Sixty Stent Design Variations OvernightMedtronic - Exploring Sixty Stent Design Variations Overnight
Medtronic - Exploring Sixty Stent Design Variations OvernightAltair ProductDesign
 
Session 5 design of rcc structural elements PROF YADUNANDAN
Session 5 design of rcc structural elements  PROF YADUNANDANSession 5 design of rcc structural elements  PROF YADUNANDAN
Session 5 design of rcc structural elements PROF YADUNANDANAjit Sabnis
 
DESIGN OF RCC ELEMENTS SESSION 5 PROF. YADUNANDAN
DESIGN OF RCC ELEMENTS SESSION 5 PROF. YADUNANDANDESIGN OF RCC ELEMENTS SESSION 5 PROF. YADUNANDAN
DESIGN OF RCC ELEMENTS SESSION 5 PROF. YADUNANDANAjit Sabnis
 
IC Mask Design - IC Layout Acceleration Tool - DAC Conference, June 2010
IC Mask Design - IC Layout Acceleration Tool - DAC Conference, June 2010IC Mask Design - IC Layout Acceleration Tool - DAC Conference, June 2010
IC Mask Design - IC Layout Acceleration Tool - DAC Conference, June 2010Claire O'Keeffe
 
Jaguar Land Rover - Robust Design Optimization of a Knee Bolster
Jaguar Land Rover - Robust Design Optimization of a Knee BolsterJaguar Land Rover - Robust Design Optimization of a Knee Bolster
Jaguar Land Rover - Robust Design Optimization of a Knee BolsterAltair ProductDesign
 
Vlsi physical design-notes
Vlsi physical design-notesVlsi physical design-notes
Vlsi physical design-notesDr.YNM
 
ETABS and High-Rise Buildings in 2022
ETABS and High-Rise Buildings in 2022ETABS and High-Rise Buildings in 2022
ETABS and High-Rise Buildings in 2022csiesplindia
 

Semelhante a Management of Evolving Constraints in a Computerised Engineering Design Environment (20)

Management of Evolving Constraints in a Computerised Engineering Design Envir...
Management of Evolving Constraints in a Computerised Engineering Design Envir...Management of Evolving Constraints in a Computerised Engineering Design Envir...
Management of Evolving Constraints in a Computerised Engineering Design Envir...
 
A comparative study of force based design and direct displacement based desig...
A comparative study of force based design and direct displacement based desig...A comparative study of force based design and direct displacement based desig...
A comparative study of force based design and direct displacement based desig...
 
Computer-Aided Engineering
Computer-Aided EngineeringComputer-Aided Engineering
Computer-Aided Engineering
 
Checks for walls and details of concrete structures
Checks for walls and details of concrete structuresChecks for walls and details of concrete structures
Checks for walls and details of concrete structures
 
Tp02 pub31
Tp02 pub31Tp02 pub31
Tp02 pub31
 
Resume
ResumeResume
Resume
 
Medtronic - Exploring Sixty Stent Design Variations Overnight
Medtronic - Exploring Sixty Stent Design Variations OvernightMedtronic - Exploring Sixty Stent Design Variations Overnight
Medtronic - Exploring Sixty Stent Design Variations Overnight
 
1_4909273388855329167.pdf
1_4909273388855329167.pdf1_4909273388855329167.pdf
1_4909273388855329167.pdf
 
Presentation_PBD.pptx
Presentation_PBD.pptxPresentation_PBD.pptx
Presentation_PBD.pptx
 
Ranjit_Verma_CV_2016
Ranjit_Verma_CV_2016Ranjit_Verma_CV_2016
Ranjit_Verma_CV_2016
 
Session 5 design of rcc structural elements PROF YADUNANDAN
Session 5 design of rcc structural elements  PROF YADUNANDANSession 5 design of rcc structural elements  PROF YADUNANDAN
Session 5 design of rcc structural elements PROF YADUNANDAN
 
DESIGN OF RCC ELEMENTS SESSION 5 PROF. YADUNANDAN
DESIGN OF RCC ELEMENTS SESSION 5 PROF. YADUNANDANDESIGN OF RCC ELEMENTS SESSION 5 PROF. YADUNANDAN
DESIGN OF RCC ELEMENTS SESSION 5 PROF. YADUNANDAN
 
Design, Modelling & Analytical Analysis of Rotary Fixture for CNC with an App...
Design, Modelling & Analytical Analysis of Rotary Fixture for CNC with an App...Design, Modelling & Analytical Analysis of Rotary Fixture for CNC with an App...
Design, Modelling & Analytical Analysis of Rotary Fixture for CNC with an App...
 
IC Mask Design - IC Layout Acceleration Tool - DAC Conference, June 2010
IC Mask Design - IC Layout Acceleration Tool - DAC Conference, June 2010IC Mask Design - IC Layout Acceleration Tool - DAC Conference, June 2010
IC Mask Design - IC Layout Acceleration Tool - DAC Conference, June 2010
 
Jaguar Land Rover - Robust Design Optimization of a Knee Bolster
Jaguar Land Rover - Robust Design Optimization of a Knee BolsterJaguar Land Rover - Robust Design Optimization of a Knee Bolster
Jaguar Land Rover - Robust Design Optimization of a Knee Bolster
 
Vlsi physical design-notes
Vlsi physical design-notesVlsi physical design-notes
Vlsi physical design-notes
 
Om chapter 06
Om chapter 06Om chapter 06
Om chapter 06
 
Midas Gen catalog
Midas Gen catalogMidas Gen catalog
Midas Gen catalog
 
B c f section 5
B c f section 5B c f section 5
B c f section 5
 
ETABS and High-Rise Buildings in 2022
ETABS and High-Rise Buildings in 2022ETABS and High-Rise Buildings in 2022
ETABS and High-Rise Buildings in 2022
 

Mais de Gihan Wikramanayake

Using ICT to Promote Learning in a Medical Faculty
Using ICT to Promote Learning in a Medical FacultyUsing ICT to Promote Learning in a Medical Faculty
Using ICT to Promote Learning in a Medical FacultyGihan Wikramanayake
 
Evaluation of English and IT skills of new entrants to Sri Lankan universities
Evaluation of English and IT skills of new entrants to Sri Lankan universitiesEvaluation of English and IT skills of new entrants to Sri Lankan universities
Evaluation of English and IT skills of new entrants to Sri Lankan universitiesGihan Wikramanayake
 
Broadcasting Technology: Overview
Broadcasting  Technology: OverviewBroadcasting  Technology: Overview
Broadcasting Technology: OverviewGihan Wikramanayake
 
Importance of Information Technology for Sports
Importance of Information Technology for SportsImportance of Information Technology for Sports
Importance of Information Technology for SportsGihan Wikramanayake
 
Improving student learning through assessment for learning using social media...
Improving student learning through assessment for learning using social media...Improving student learning through assessment for learning using social media...
Improving student learning through assessment for learning using social media...Gihan Wikramanayake
 
Exploiting Tourism through Data Warehousing
Exploiting Tourism through Data WarehousingExploiting Tourism through Data Warehousing
Exploiting Tourism through Data WarehousingGihan Wikramanayake
 
Speaker Search and Indexing for Multimedia Databases
Speaker Search and Indexing for Multimedia DatabasesSpeaker Search and Indexing for Multimedia Databases
Speaker Search and Indexing for Multimedia DatabasesGihan Wikramanayake
 
Authropometry of Sri Lankan Sportsmen and Sportswomen, with Special Reference...
Authropometry of Sri Lankan Sportsmen and Sportswomen, with Special Reference...Authropometry of Sri Lankan Sportsmen and Sportswomen, with Special Reference...
Authropometry of Sri Lankan Sportsmen and Sportswomen, with Special Reference...Gihan Wikramanayake
 
Analysis of Multiple Choice Question Papers with Special Reference to those s...
Analysis of Multiple Choice Question Papers with Special Reference to those s...Analysis of Multiple Choice Question Papers with Special Reference to those s...
Analysis of Multiple Choice Question Papers with Special Reference to those s...Gihan Wikramanayake
 
ICT ප්‍රාරම්භක ඩිප්ලෝමා පාඨමාලාව දිනමිණ, පරිගණක දැනුම
ICT ප්‍රාරම්භක ඩිප්ලෝමා පාඨමාලාව   දිනමිණ, පරිගණක දැනුමICT ප්‍රාරම්භක ඩිප්ලෝමා පාඨමාලාව   දිනමිණ, පරිගණක දැනුම
ICT ප්‍රාරම්භක ඩිප්ලෝමා පාඨමාලාව දිනමිණ, පරිගණක දැනුමGihan Wikramanayake
 
වෘත්තීය අවස්ථා වැඩි පරිගණක ක්ෂේත‍්‍රය දිනමිණ, පරිගණක දැනුම
වෘත්තීය අවස්ථා වැඩි පරිගණක ක්ෂේත‍්‍රය   දිනමිණ, පරිගණක දැනුමවෘත්තීය අවස්ථා වැඩි පරිගණක ක්ෂේත‍්‍රය   දිනමිණ, පරිගණක දැනුම
වෘත්තීය අවස්ථා වැඩි පරිගණක ක්ෂේත‍්‍රය දිනමිණ, පරිගණක දැනුමGihan Wikramanayake
 
පරිගණක ක්ෂේත‍්‍රයේ වෘත්තීය අවස්ථා දිනමිණ, පරිගණක දැනුම
පරිගණක ක්ෂේත‍්‍රයේ වෘත්තීය අවස්ථා   දිනමිණ, පරිගණක දැනුමපරිගණක ක්ෂේත‍්‍රයේ වෘත්තීය අවස්ථා   දිනමිණ, පරිගණක දැනුම
පරිගණක ක්ෂේත‍්‍රයේ වෘත්තීය අවස්ථා දිනමිණ, පරිගණක දැනුමGihan Wikramanayake
 
Balanced Scorecard and its relationship to UMM
Balanced Scorecard and its relationship to UMMBalanced Scorecard and its relationship to UMM
Balanced Scorecard and its relationship to UMMGihan Wikramanayake
 
Web Usage Mining based on Heuristics: Drawbacks
Web Usage Mining based on Heuristics: DrawbacksWeb Usage Mining based on Heuristics: Drawbacks
Web Usage Mining based on Heuristics: DrawbacksGihan Wikramanayake
 
Evolving and Migrating Relational Legacy Databases
Evolving and Migrating Relational Legacy DatabasesEvolving and Migrating Relational Legacy Databases
Evolving and Migrating Relational Legacy DatabasesGihan Wikramanayake
 
Web Based Agriculture Information System
Web Based Agriculture Information SystemWeb Based Agriculture Information System
Web Based Agriculture Information SystemGihan Wikramanayake
 
Design and Development of a Resource Allocation Mechanism for the School Educ...
Design and Development of a Resource Allocation Mechanism for the School Educ...Design and Development of a Resource Allocation Mechanism for the School Educ...
Design and Development of a Resource Allocation Mechanism for the School Educ...Gihan Wikramanayake
 

Mais de Gihan Wikramanayake (20)

Using ICT to Promote Learning in a Medical Faculty
Using ICT to Promote Learning in a Medical FacultyUsing ICT to Promote Learning in a Medical Faculty
Using ICT to Promote Learning in a Medical Faculty
 
Evaluation of English and IT skills of new entrants to Sri Lankan universities
Evaluation of English and IT skills of new entrants to Sri Lankan universitiesEvaluation of English and IT skills of new entrants to Sri Lankan universities
Evaluation of English and IT skills of new entrants to Sri Lankan universities
 
Learning beyond the classroom
Learning beyond the classroomLearning beyond the classroom
Learning beyond the classroom
 
Broadcasting Technology: Overview
Broadcasting  Technology: OverviewBroadcasting  Technology: Overview
Broadcasting Technology: Overview
 
Importance of Information Technology for Sports
Importance of Information Technology for SportsImportance of Information Technology for Sports
Importance of Information Technology for Sports
 
Improving student learning through assessment for learning using social media...
Improving student learning through assessment for learning using social media...Improving student learning through assessment for learning using social media...
Improving student learning through assessment for learning using social media...
 
Exploiting Tourism through Data Warehousing
Exploiting Tourism through Data WarehousingExploiting Tourism through Data Warehousing
Exploiting Tourism through Data Warehousing
 
Speaker Search and Indexing for Multimedia Databases
Speaker Search and Indexing for Multimedia DatabasesSpeaker Search and Indexing for Multimedia Databases
Speaker Search and Indexing for Multimedia Databases
 
Authropometry of Sri Lankan Sportsmen and Sportswomen, with Special Reference...
Authropometry of Sri Lankan Sportsmen and Sportswomen, with Special Reference...Authropometry of Sri Lankan Sportsmen and Sportswomen, with Special Reference...
Authropometry of Sri Lankan Sportsmen and Sportswomen, with Special Reference...
 
Analysis of Multiple Choice Question Papers with Special Reference to those s...
Analysis of Multiple Choice Question Papers with Special Reference to those s...Analysis of Multiple Choice Question Papers with Special Reference to those s...
Analysis of Multiple Choice Question Papers with Special Reference to those s...
 
ICT ප්‍රාරම්භක ඩිප්ලෝමා පාඨමාලාව දිනමිණ, පරිගණක දැනුම
ICT ප්‍රාරම්භක ඩිප්ලෝමා පාඨමාලාව   දිනමිණ, පරිගණක දැනුමICT ප්‍රාරම්භක ඩිප්ලෝමා පාඨමාලාව   දිනමිණ, පරිගණක දැනුම
ICT ප්‍රාරම්භක ඩිප්ලෝමා පාඨමාලාව දිනමිණ, පරිගණක දැනුම
 
වෘත්තීය අවස්ථා වැඩි පරිගණක ක්ෂේත‍්‍රය දිනමිණ, පරිගණක දැනුම
වෘත්තීය අවස්ථා වැඩි පරිගණක ක්ෂේත‍්‍රය   දිනමිණ, පරිගණක දැනුමවෘත්තීය අවස්ථා වැඩි පරිගණක ක්ෂේත‍්‍රය   දිනමිණ, පරිගණක දැනුම
වෘත්තීය අවස්ථා වැඩි පරිගණක ක්ෂේත‍්‍රය දිනමිණ, පරිගණක දැනුම
 
පරිගණක ක්ෂේත‍්‍රයේ වෘත්තීය අවස්ථා දිනමිණ, පරිගණක දැනුම
පරිගණක ක්ෂේත‍්‍රයේ වෘත්තීය අවස්ථා   දිනමිණ, පරිගණක දැනුමපරිගණක ක්ෂේත‍්‍රයේ වෘත්තීය අවස්ථා   දිනමිණ, පරිගණක දැනුම
පරිගණක ක්ෂේත‍්‍රයේ වෘත්තීය අවස්ථා දිනමිණ, පරිගණක දැනුම
 
Producing Employable Graduates
Producing Employable GraduatesProducing Employable Graduates
Producing Employable Graduates
 
Balanced Scorecard and its relationship to UMM
Balanced Scorecard and its relationship to UMMBalanced Scorecard and its relationship to UMM
Balanced Scorecard and its relationship to UMM
 
An SMS-Email Reader
An SMS-Email ReaderAn SMS-Email Reader
An SMS-Email Reader
 
Web Usage Mining based on Heuristics: Drawbacks
Web Usage Mining based on Heuristics: DrawbacksWeb Usage Mining based on Heuristics: Drawbacks
Web Usage Mining based on Heuristics: Drawbacks
 
Evolving and Migrating Relational Legacy Databases
Evolving and Migrating Relational Legacy DatabasesEvolving and Migrating Relational Legacy Databases
Evolving and Migrating Relational Legacy Databases
 
Web Based Agriculture Information System
Web Based Agriculture Information SystemWeb Based Agriculture Information System
Web Based Agriculture Information System
 
Design and Development of a Resource Allocation Mechanism for the School Educ...
Design and Development of a Resource Allocation Mechanism for the School Educ...Design and Development of a Resource Allocation Mechanism for the School Educ...
Design and Development of a Resource Allocation Mechanism for the School Educ...
 

Último

4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsManeerUddin
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptshraddhaparab530
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
Activity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationActivity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationRosabel UA
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 

Último (20)

4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture hons
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.ppt
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
Activity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationActivity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translation
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 

Management of Evolving Constraints in a Computerised Engineering Design Environment

  • 1. Management of Evolving Constraints in a Computerised Engineering Design Environment J.S. Goonetillake and G.N. Wikramanayake University of Colombo School of Computing {jsg, gnw}@ucsc.cmb.ac.lk Abstract identified that the version management is a crucial feature that should be supported in engineering design Engineering design process has an evolutionary and [13]. Version management allows derivation of a new iterative nature as design artifacts develop through design solution from an existing design solution thus series of changes before the final solution is achieved. saving designer’s time. For example consider that V1 is Design is performed based on design requirements which produced as the first solution for a bicycle frame design are mainly specified as restrictions on the properties of as depicted in figure 1. Although this would work, the the design artifact, and are considered to be design designer may find out under evaluation that this design constraints. solution will not provide the stiffness required by the A common problem encountered during the design bicycle rider. To produce, a more stiffer road frame a process is that of constraint evolution, which may involve new design solution denoted as version (V2) can be the identification of new constraints and modification or derived from V1 by changing the seat tube size and the omission of existing constraints for a number of reasons. material (see figure 1). These reasons would include changes in customer requirements, changes in the technology, change in the V1 production cost or to improve the performance. As seat_tube = 52 cm design is an evolutionary process where a solution is top_tube = 56 cm sought by trial and error, integrity constraints in tube_diameter = 31.8 mm engineering design will not remain fixed but will tend to head_angle = 71 evolve during the design process. This evolving nature of chainstay = 25 cm constraints has made the support for automatic integrity material = “aluminium” validation, non-trivial as it imposes number of key issues --------------------- that need to be dealt with. We have been able to successfully address these issues V2 with respect to the engineering design environment and seat_tube = 42 cm we identify how one could meet the challenges through top_tube = 56 cm effective management of these evolving constraints for tube_diameter = 31.8 mm engineering designs. Thus the original design will head_angle = 71 continue to exist while supporting the creation of new chainstay = 25 cm material = “steel” design versions to meet the changes. --------------------- Derivation 1.0 BACKGROUND Figure 1: Bicycle Frame Versions 1.1 Version Management 1.2 Engineering Design Constraints As a result of the iterative and evolutionary (tentative) In designing artifacts designers have to make sure that nature of the engineering design process, design artifacts their design solutions, adhere to given sets of design develop through a series of changes before the final constraints through an integrity validation process. To solution is achieved. Each stage of the artifact evolution assist the designer in this task it is necessary to provide can be represented through versions and it has been the designer with an integrity validation mechanism,
  • 2. which automatically checks design solutions (represented frame material (material = {aluminium, steel}) can be as object versions), for design data correctness and violated and therefore be a soft constraint. consistency. There are number of different constraint 2.0 Problem of Evolving Constraints classification schemes in the literature with respect to the engineering design environment [15, 16, 19, 21]. A common problem encountered during the design However, we categorise constraints based on what aspect process is that of constraint evolution, which may of the design artifact they are imposed on as depicted in involve the identification of new constraints and figure 2. In our research we consider only the value- modification or omission of existing constraints for a based constraints relevant to physical and structural (i.e. number of reasons. These reasons would include changes formation features category) constraints that enforce the in customer requirements, changes in the technology, accuracy of the data values assigned to the corresponding change in the production cost or the possible attributes of the object. improvements to the performance. Therefore, it is not possible to predict in advance how frequently the constraints will change. As design is an evolutionary 1.2.1 Physical Constraints process where solution is sought by trial and error, it is necessary to recognise that integrity constraints in To this end, we consider the following three value-based engineering applications will not remain fixed but will constraint classifications: tend to evolve throughout the design process. We (i) Range Constraints (e.g. 35 cm ≤ frame_size ≤ 58 observed that this evolving nature of constraints has cm) which check the validity of an attribute value made the support for automatic integrity validation, non- specified by the designer by returning true if the trivial as it imposes number of key issues that need to be value is within the specified range and false dealt with. These issues have been identified as given in otherwise. sections 2.1 to 2.5 [11, 12]: (ii) Enumeration Constraints (e.g. material = {steel, stainless steel, titanium, aluminium}) which may 2.1 Designers as End-users also return a boolean after validation. The designers are not (expert) programmers and may (iii) Relationship constraints are used to establish a only have a little idea about the inner workings of the physical relationship between two or more attributes application programme and the underlying database that may belong to the same object. The validation system. Hence a system that takes the cognisance that of this constraint may either return a derived value or designer is the end user of the system through providing a boolean (e.g. in hub artefact the relationship easy creation, modification and deactivation of between its spoke angle and spoke holes is given as constraints is required. SpokeAngle is round (720 / SpokeHoles) . 2.2 Creating New Design Objects 1.2.2 Structural Constraints Changes in constraints may require the creation of new Relationship constraints are also used to establish design solutions or new object versions, which satisfy formation features of structural constraints (e.g. the new constraints. The system should be able to validate formation features of the bicycle artefact with respect to the consistency of the new version on explicit user frame and the wheel which may state that the frame size request by automatically selecting the currently should be > 40 cm if the diameter of the wheel is > 60 applicable set of constraints. The violations should be cm). reported to the designer through informative messages enabling him to correct them appropriately. This demands a more flexible environment, which 1.2.3 Hard and Soft Constraints incorporates the dynamic constraint modifications to the In the general design context, each constraint category system for future constraint validations. can in turn be divided in to hard and soft constraints [10]. Hard constraints are restrictive and cannot be violated while soft constraints are not restrictive and can be 2.3 Constraint Reusability violated if required. For example, the constraint specified on Seat tube (e.g. seat tube >52 cm and <68 cm) of the It is unlikely that all of the constraints pertinent to an bicycle frame can be more restrictive and therefore be a artifact will be changed in a modification. Most of the hard constraint whilst the constraints specified on the previous constraints imposed on an existing design solution (or a parent object version) are re-applicable to
  • 3. the new object version and will not require re-definition. static approach provides knowledge independence [4, 10] This raises the importance of constraint reusability. where knowledge or rules are managed independently from the application program. The benefits of knowledge 2.4 Constraint Evolution History independence are that there is a substantial reduction in Even though a new set of constraints is currently the procedural code necessary to fulfil the application applicable, it is necessary to recognise that the requirements since constraints are managed by the consistency of previous versions is still valid against the DBMS and not by the applications [4, 5]. However, the set of constraints imposed on them at their creation time. static approach, or declaring integrity constraints in a Moreover, as design is a trial an error process the database schema/class in general, has the following designers may want the facility to move back to a shortcomings in relation to evolving constraints: previously applicable set of constraints if a particular line (i) The designer (i.e. a non-programmer) requires to of constraint evolution does not work out. These issues recompile and rewrite the existing schema to define illustrate the importance of maintaining a constraint a new schema to incorporate the constraint changes evolution history (to keep track of constraint evolution) [2]. particularly against object versions and also of providing the ability to retrieve the set of constraints applicable to (ii) As the constraints are considered as meta data, each version from the evolution history. applicable globally to all the objects of that class, it is not possible to have different objects in a particular class complying with different sets of 2.5 Existing Object Validation constraints [14]. (iii) Although this mechanism is suitable for some There can be existing version(s) that may fully or very applications to ensure the consistency of the DB closely adhere with the new constraints (e.g. in the event state it is not appropriate for engineering design of a constraint relaxation). If an existing design version applications as it prevents constraint modifications can be successfully validated against the new set of unless all the existing objects comply with the new constraints, the major advantage is that it may eliminate constraints. It further prevents the deactivation of the derivation of a new design version. This requires the unnecessary constraints [2]. capability of validating the existing versions and reporting the outcome of the validation to the designer in (iv) The constraints declared in the schema are always the event of a constraint change. enforced on the corresponding objects [2]. This approach may not be suitable for applications with Although the main focus of any constraint management soft constraints since the objects must always satisfy mechanism is the provision of automatic integrity all the constraints defined in the schema. validation, it is clear that more facilities will be required when evolving constraints are considered in an engineering design environment. The provision of these facilities cannot be achieved without a well-defined 3.2 Object-Oriented Approach framework. In Object-Oriented databases the normal practise is to code the database schema as a collection of classes using a programming language such as Java or C++. 3.0 CONSTRAINT MANAGEMENT Constraints are coded in corresponding methods of these MECHANISMS classes due to encapsulation [17, 22]. Although encapsulation is one of the most important characteristics Three main mechanisms are used to manage constraints. of the object-oriented approach there are number of They are through database schema using the relational or drawbacks associated with implementing integrity declarative approach, the class methods using object- constraints within methods in class definitions. oriented approach and active rules. (i) It can be seen that the environment is rather rigid 3.1 Static Approach and inflexible. It is not possible to modify One of the most widely used approaches for constraint constraints without affecting the class definition. handling is specifying and compiling constraints in the (ii) As explained in the static approach, it is totally schema definition [6, 8]. This mechanism is known as the unrealistic to expect that the designer would change static approach in [9]. The defined constraints are the class definition to incorporate constraint changes. enforced by the DBMS to ensure the database consistency [8]. This approach has been mainly (iii) Checking constraint evolution is a difficult task as it addressed in relational and deductive databases. The involves scanning the methods in the corresponding
  • 4. class definition and furthermore, it is not easy to and Ram [19] aggregate constraints into a separate class retrieve the set of constraints applicable to a definition called constraint meta object. particular version since constraints are scattered Constraints are associated with objects/instances of the everywhere within class methods [7]. class facilitating different objects of the same artifact to adhere with different constraints. However, a major drawback is that both approaches require the designer to 3.3 Active Rules manually associate the applicable constraints with the Constraints represented as active rules avoid some corresponding design objects. Particularly, the approach disadvantages of the static approach such as proposed by Ram [19] is extremely software oriented schema/class evolution by separating constraint which requires the designer to change and compile specification from the schema. This separation allows programs written in C++ to capture new constraints and independent constraint evolution without affecting the moreover to attach (plug) and detach (unplug) each schema/class definition [18]. However, this approach has constraint to and from the design object. In reality this is the following shortcomings with respect to the issues not possible when the designer is not a programmer outlined in sections 2.1 to 2.5. making more hassles to the designer than the benefits. On the other hand, specifying constraints in non-executable (i) The designer is expected to have a sound knowledge form such as normal database objects as in [2] makes the of a programming knowledge unless he is supported integrity validation a difficult process from the with a user-friendly interface to modify existing application program’s point of view. The same constraints. To our knowledge there is no real disadvantage is applicable to [19] since the constraints commercial product of this kind. It is unrealistic to defined in the constraint class in special syntax require to expect that the designer will write and compile piece be interpreted by another program. Hence, the data of codes relevant to the constraint changes. validation itself will become rather cumbersome under (ii) Given a particular version, it is not feasible to access both methods. Moreover, these mechanisms do not in the constraints imposed on it to denote the various fact address all the issues outlined in sections 2.1 to 2.5. consistency states. This limitation occurs for a number of reasons: 4.0 THE PROPOSED FRAMEWORK (a) Constraints are scattered in different operations according to events. In proposing our framework, we consider that embedding dynamic constraint information in a class definition (b) Constraints defined as active rules get triggered clearly requires a redefinition of that class, whenever a for each object based on the event conditions. change occurs. It is also necessary to support the features There is no real association between an object discussed in sections 2.1 to 2.5. Consequently, we and the constraints applicable on it. propose our framework based on the concept of the (c) There are no proper means of maintaining the Constraint Version Object (CVO). history of the constraint evolution. Each CVO contains or aggregates a set of integrity (iii) Active rules are procedural and in general it may be constraints that needs to be satisfied by the object version difficult for a layperson to understand them. of a particular artifact, at some instant in time. For the bicycle frame artifact for example, the CVO may contain Figure 3 summarises how these three mechanisms cater the currently applicable constraints for its frame size, for the issues outlined in section 2. tube diameter, material and seat_tube length. Maintaining 3.4 Constraint Management Mechanisms in CVOs provides the flexibility to capture changed constraints independently from the artifact class Engineering Design Applications definitions. Some attention has been given in the literature to Constraint evolution is managed by producing new providing constraint management mechanisms in CVOs. Each artifact will have its own set of CVOs engineering design applications. These include depending on how the constraints relevant to that artifact approaches presented in [2] and [19] that take the change. However, only one CVO per artifact is active at evolutionary nature of the design constraints into a time; this is known as the default CVO. The default consideration. In these approaches the flexibility to CVO contains the currently active constraint set, and the incorporate constraint evolution is achieved by treating last CVO created in the system will usually become the constraints separately from the class definition. To this default CVO. CVOs govern the validity of design data in end Buchmann [2] present constraints as database objects object versions. At the time of version creation, each new version is automatically coupled with the corresponding
  • 5. default CVO, for data validation. The default CVO may (i) A modification of existing constraints. For example change with time as new CVOs are produced to reflect the tube diameter of the bicycle frame artifact may constraint evolution. Consequently, different versions of change from (25mm ≤ tube_diameter ≤ 28 mm) to an artifact may be associated with different CVOs, each (29mm ≤ tube_diameter ≤ 31 mm). representing the default CVO current at the time of data validation. (ii) Introduction of new constraints, e.g. the head angle of a bicycle frame which was not restricted before A naming scheme is needed to identify CVOs uniquely can be constrained to a particular set of values. within the design environment. As each design artifact has its own set of CVOs, the naming scheme that is (iii) Omission of previously used constraints. For adopted here takes the form example moving on to free size bicycle frames <objectnameCVO_number>, which represents a unique means the frame size constraint will no longer be id for each CVO. The number is assigned sequentially, applicable. indicating that the CVO with the highest id number is (iv) Any combination of (i)-(iii). created last for a given design artifact. The initial framework is depicted in figure 4a. As shown in the A new child CVO will be defined with: diagram the object versions (artifactversion1, (i) refined constraints for the constraints that artifactversion2 and artifactversion3) are instances of the changed in the parent CVO. same artifact class but have been validated under different CVOs (artifactCVO_1 and artifactCVO_2). (ii) new constraints that did not exist in the parent Any number of object versions can be associated (or CVO. validated) with one CVO. It is important that each object (iii) a mechanism to indicate the omission of version keeps track of the CVO relevant to its data inactive constraints from the parent CVO. validation as it enables tracking of the corresponding CVO for each object version later on. Since a CVO (iv) any combination of (i), (ii) & (iii). aggregates a set of constraints, retrieval of the constraints Consequently, a new CVO contains only the changes to imposed on each object version is easily achieved its parent CVO constraint set, and the means of referring through its corresponding CVO. In defining constraints to its parent for the unchanged constraints. Thus, when within CVOs, each constraint should be given a name in invoking constraints for data validation from the child addition to the constraint specification, to uniquely CVO, there should be means in the child CVO to: identify that constraint within the CVOs belong to the same artifact. A CVO may contain any combination of - delegate constraints to the parent CVO if not active constraints, of any category, e.g. range, declared within the child CVO. enumeration and relationship constraints, which are in - override constraints in the parent CVO when they turn, can be either hard or soft. are redefined in the child CVO. - omit constraints defined in the parent CVO when artifactversion1: VersionableArtifact artifactCVO_1 they are no longer be applicable. Since CVOs are objects, we consider that instance Artifactversion2: VersionableArtifact artifactCVO_2 inheritance [23] with overriding and differential mechanisms is the means to best provide these features in CVOs. If a constraint is defined in a child CVO and the Artifactversion3: VersionableArtifact same constraint is defined in the parent CVO, then through the overriding mechanism the constraint of the Derivation parent CVO is not part of the child CVO. The differential Validation mechanism allows the designer to be selective about Instance inheritance what is inherited from the parent object and thus provides facilities to specify what should not be inherited from the parent object. Classical type inheritance differs from Figure 4a: Proposed Framework instance inheritance and does not cater for these requirements. For example in type inheritance there are problems with omitting and overriding constraints from Creating New CVOs the parent object in the child object [1]. It may further cause class evolution [14]. Within CVOs each constraint The necessity to create a new CVO may arise for the is defined as a rule where its head denotes the constraint following reasons. name, and its body defines the constraint specification. A
  • 6. child CVO only contains the refined constraints and provided with an informative messaging system which inherits the unchanged ones from its parent as depicted in specifies details such as the violated constraints and the figure 4a. reasons for violations. For example, the frame version (frameVersion1) is In our opinion, in an engineering design environment produced within the set of constraints frameCVO_1 designers should be given the facility to correct (figure 4b). However, to improve the comfort and to violations, in order to maintain the autonomy of reduce the weight of the bicycle a new set of constraints participating disciplines, rather than automating the (denoted by frameCVO_2) for seat tube, top tube, violation correction process. As a result, in our chainstay and tube diameter is agreed upon whilst framework, the designer repairs the violation and the keeping the constraints for head angle and the material informative message system helps the designer to take unchanged. Due to inheritance the new CVO will only the necessary actions to correct it. In relation to hard and contain the constraints relevant to the changed soft constraints constraints. A new version frameVersion2 is derived from frameVersion1 by changing the values accordingly • violation of soft integrity constraints are merely to satisfy the new constraints. The designers may explore flagged to warn the designer, while still allowing more versions under the current set of constraints. For him to proceed. example another version frameVersion3 can be derived • violation of hard integrity constraints should warn from frameVersion2 within the constraints defined in the designer and at the same time prevent him from frameCVO_2 either to improve the flexibility of the proceeding any further without correcting the bicycle or to satisfy the rider’s requirements. violation. A new version is made persistent in the database, after successful validation of version data. Forming a new 5.0 ADVANTAGES TO THE DESIGNER version after the successful completion of the validation The Object-Oriented paradigm (OOP) and thus the process ensures the design integrity of object versions OODBMS (based on OOP) have been recognised as the stored in the database. In our framework, two main most suitable technology for engineering data modelling, situations are considered in which an object version data version management and storage [3]. is validated. The first situation is at the time of a new version derivation. The second situation is the validation We have chosen to implement our model in Java2. of existing versions against a newly created CVO. Objectivity has been chosen as the database system to add persistence to design object and versioning data since When a new CVO is created which reflects a new set of it is an object-oriented database with rich OO features. constraints, the existing object versions are checked Prolog is well suited for defining CVOs since the against the design constraints within the newly created integrity constraints can be handled in a straight forward default CVO. Unlike the previous case, in this situation manner as user defined predicates in Prolog. SICStus the system itself invokes the integrity validation process Prolog has the advantage that it provides SICStus objects on creation of a new CVO. On receipt of the designer’s with named collection of predicates with a facility for consent to proceed with the validation, it will carry out inheritance. Furthermore, the package called jasper the validation task for the existing versions. A successful provides a bi-directional interface between Java and validation is feasible, for example if the child CVO SICStus [20]. contains constraints with relaxed or intersected domains. The designer will be notified of the outcome of the validation. In this way the designer finds out whether any 5.1 Automatic Integrity Validation existing versions comply with the new constraints. If there are no successful validations from the existing set CVOs are used to check the consistency or adherence of of design versions, the system is capable of proposing to a particular object version to a given set of design the designer those versions which are closest to requirements, before making them persistent in the successful validation. database. Accordingly in our framework, when a new object version is derived, data validation is invoked by explicit user request and is performed only on the new 5.2 Easy Capturing of Constraints object version. On issue of the data validation command, the system is responsible for communicating with the The designer should be able to capture constraints in a corresponding default CVO and invoking the relevant form-filling manner without requiring him to write or constraints for validation, without the designer’s compile any program code. To this end, we consider involvement. In the event of a violation, the designer is providing the designer with a graphical interface that
  • 7. enables him to enter the constraint specifications and other required information into the system, e.g. new CVO name, parent CVO name, in a form-filling manner 5.4 Moving back to Previous Stage of (see figure 5). From this information, the creation of a Constraint Evolution new executable CVO for a particular design artifact is The designer performs this through changing the default made transparent to the designer. Syntactical errors that CVO, if one constraint evolution path does not work out. may occur through typing mistakes are avoided, by using The decision as to which CVO should be made the option buttons and lists in the graphical interface, and default should come from the group/project leader. The thus enabling the designer to select the values/parameters group/project leader should communicate this decision to relevant to the constraint specifications. Text fields are the corresponding team members. The default object used to enter information such as the new CVO name and version is dependent on the default CVO. Therefore, the values/parameters for range and enumeration when the current default CVO is changed, an object constraint types. One constraint specification is entered at version belonging to the new default CVO should be set a time. On completion of each constraint specification, a as the default. Consequently, the operation changing the button is pressed to carry out this conversion. This is default CVO is associated with the set default version transparent to the designer. Once all the constraints operation. To support the designer in setting this new relevant to a CVO are specified, the designer only has to default object/configuration version, the system, through press a button to indicate CVO completion, upon which the version manager, selects and presents the designer the executable form of the whole CVO is automatically with the list of version numbers that are eligible to be the written into the system. default. 6.0 CONCLUSION In this paper we presented a framework to manage evolving design constraints in a computerised engineering design environment. We base our framework on the concept of CVOs which provide a flexible environment in managing evolving constraints. Our approach is novel since it both maintains the consistency of versions whilst catering for the issues that emerge as a result of constraint evolution within an engineering Figure 5: Capturing of constraint specifications design environment. We believe that our proposed model is an important first step towards addressing the 5.3 Retrieval of Design Constraints challenges of evolving constraint management and we consider that it can be adopted for any application with Retrieval of design constraints is an important aspect evolving constraints. from the designer’s point of view. This becomes a trouble-free task with CVOs, since each CVO is defined separately from the schema, and aggregates a set of constraints. To this end, the designer is easily able to 7.0 ACKNOWLEDGEMENTS retrieve constraints in the default CVO as the system The work presented here is based on the research done by maintains a record of it. Retrieval of any other CVO is the first author at University of Wales Institute, Cardiff possible as constraint evolution history is managed (UWIC), UK under the supervision of T.W. Carnduff and through CVOs and is performed by specifying the CVO W.A. Gray. The research was funded by UWIC and name. As the system associates and keeps track of the Asian Development Bank. CVO pertinent to each version, the CVO of any required version can be retrieved by specifying the version name. Upon selection of a particular version name, the CVO 8.0 REFERENCES name associated with it is obtained to display the CVO details. However, constraints are defined in executable 1) Bassiliades, N. and Vlahavas, I., 1994, Modelling form as rules in CVOs and consequently, in displaying Constraints with Exceptions in Object-Oriented constraints they should be converted into a form close to Databases, In proceedings of the 13th International natural language. The implementation of this feature can Conference on the Entity-Relationship Approach be performed using a parser, which reads and converts (ER’94), Loucopoulos P. (eds.), Manchester, U.K, rules in each CVO to natural language. 189 – 204.
  • 8. 2) Buchmann, A.P., Carrera, R.S. and Vazquez- 13) Katz, R.H., 1990, Towards a Unifying Framework Galindo, M.A., 1992,Handling Constraints and their for Version Modeling in Engineering Databases, Exceptions: An Attached Constraint Handler for ACM Computing Surveys, vol. 22 (4), 376-408. Object-Oriented CAD Databases, On Object- 14) Katz, R.H. and Chang, E., 1992,Inheritance Issues in Oriented Database Systems, Dittrich K.R., Dayal U. Computer-Aided Design Databases, On Object- and Buchmann P. (eds.), Springer-Verlag, 65-83. Oriented Database Systems, Dittrich, K.R., Dayal, 3) Carnduff, T.W., 1993, Supporting Engineering U., Buchmann, A.P. (eds.), Springer-Verlag, 45-52. Design with Object-Oriented Databases, PhD thesis, 15) Lin, J., Fox, M.S. and Bilgic, T., 1996, A Department of Computer Science, University of Requirement Ontology for Engineering Design, In Wales Cardiff, UK. Proceedings of Advances in Concurrent Engineering 4) Ceri, S. and Fraternali, P., 1997, Database (CE’96), Sobolewski, M., Fox, M. (eds.), Toronto, Applications with Objects and Rules, Addison- 343-351. Wesley. 16) Lin, J., Fox, M.S. and Bilgic, T., 1996, A 5) Ceri, S. and Ramarishnan, R., 1996, Rules in Requirement Ontology for Engineering Design, Database Systems, ACM Computing Surveys, vol. Concurrent Engineering Research and Applications, 28 (1), 109-111. vol. 4(3), September, 279-291. 6) Date, C.J., 1995, An Introduction to the Database 17) Meyer, B., 2000, Object-Oriented Software Systems, Addison-Wesley. Construction, Prentice Hall International Series in Computer Science. 7) Diaz, O., Paton, N. and Gray, P., 1991, Rule Management in Object Oriented Databases, A 18) Pfieifer, A. and Wulf, V., 1997, Negotiating Uniform Approach, 17th National Conference on Conflicts in Active Databases, In Proceedings of the Very Large Databases (VLDB 91), Barcelona, 317- Concurrent Engineering: Research and Applications 326. Conference (CE97), Ganesan, S. and Prasad, B. (eds.), 443-450. 8) Elmasri, R. and Navathe, S., 1994, Fundamentals of Database Systems, Second Edition, Addison- 19) Ram, D.J., Vivekananda, N., Rao, C.S. and Mohan, Wesley. N.K., 1997, Constraint Meta-Object: A New Object Model for Distributed Collaborative Designing, 9) Finin, T.W, Nicholas, C.K and Yesha, Y., 1992, IEEE Transactions on Systems, Man and Consistency Checking in Object Oriented Databases: Cybernetics, March, vol. 27(2), 208-220. Behavioral Approach, Information and Knowledge Management, First International Conference 20) SICStus Prolog User’s Manual, 2000, Release 3.8.4, (CIKM’92), Baltimore, Maryland, USA, 53-68. Swedish Institute of Computer Science,Sweden. 10) Friesen, O, Gauthier-Villars, G., Lefebvre, A. and 21) Twari, S. and Franklin, H., 1994, Automated Vieille, L., 1994, Applications of Deductive Object- Configuration Management in Concurrent Oriented Databases Using DEL, Applications of Engineering Projects, Concurrent Engineering Logic Databases, Ramakrishnan R. (eds.), Kluwer Research and Applications, vol. 2(3), 149-161. Academic Publishers, 1-22. 22) Urban, S., Karadimce, P and Nannapaneni, R., 1992, 11) Goonetillake, J.S., Carnduff, T.W. and Gray, W.A, The Implementation and Evaluation of Integrity 2001, Integrity Validation for Object Versions in a Maintenance Rules in an Object-Oriented Database, Co-operative Design Environment, In Proceedings Proceedings of 8th International Conference on Data of the 6th International Conference on Computer Engineering, 565-572. Supported Cooperative Work in Design 23) Wilkes, W., 1988, Instance Inheritance Mechanism (CSCWD’01), Shen, W., Lin, Z., Barthes, J. and for OODBS, Object Oriented Database Systems Kamel, M. (eds.), Ontario, IEEE, 89-94. (OODBS 88), 274-279. 12) Goonetillake, J.S., Carnduff, T.W. and Gray, W.A., 2002, An Integrity Constraint Management Framework in Engineering Design, In the International Journal of Computers in Industry, vol. 48(1), Elsevier Science.
  • 9. Hard Range Soft Hard Enumeration Physical Soft Relationship Hard Imposed on artifact Soft properties Hard Formation Relationship features Imposed on Structural Soft Design artifact Constraint functionality Composition Imposed on the design process artifact Figure 2: Constraint Categories frameVersion1: VersionableFrame seat_tube = 52 cm frameCVO_1 top_tube = 56 cm tube_diameter = 31.8 mm seat_tube = {42, 44, 46, 52} cm tube_diameter = {25.4, 26.8, 27.2, 31.8} mm head_angle = 71 head_angle >65 and < 72 chainstay = 25 cm chainstay = {25, 26} cm material = “aluminium” material = {aluminium, steel} --------------------- FrameVersion2: VersionableFrame frameCVO_2 seat_tube = 52 cm seat_tube >52 cm and <68 cm top_tube = 56 cm top_tube – ( if seat_tube < 60 then tube_diameter = 24.5 mm top_tube = seat_tube + 4) or head_angle = 71 ( if seat_tube between 60 and 68 then chainstay = 42 cm top_tube = seat_tube - 3) material = “steel” chainstay = {40, 41, 42, 45} cm --------------------- tube_diameter - if (material = “aluminium” then tube_diameter > 27.4 and <32) or if (material = “steel” then tube diameter > 24 and <27.4) FrameVersion3: VersionableFrame seat_tube = 61 cm top_tube = 58 cm tube_diameter = 24.5 mm head_angle = 71 chainstay = 42 cm material = “steel” --------------------- Figure 4b: Illustration of the Proposed Framework using Frame Versions and the Frame CVOs
  • 10. Issues Static Approach Object-Oriented Active Rules Approach Constraints impose on Globally on class level Globally on class level Globally on class level Flexibility in Not flexible Not flexible Quite flexible as they are manipulating maintained separately from evolutionary constraints the schema. Designer’s ability to Difficult since it requires Difficult since it requires Difficult since it requires define/modify constraints programming knowledge programming knowledge programming knowledge and compilation of the and compilation of the and compilation of the program. program. program. Possibility for re-use of Yes, if the existing schema Yes, if the existing class is Yes, as constraint unchanged constraints is modified with new modified with new modifications can be while preventing their re- constraints. No, if a new constraints. No, if a new performed independently definition schema is defined with new class is defined with new from the schema. constraints. constraints. Triggering validation on No, as validation is Depends on how the No, as constraints get explicit user request normally invoked application program is triggered based on the immediately and designed. event. automatically by the DBMS. Enforcing the currently Automatically enforced by Can be enforced Automatic, as the active set of constraints the DBMS. automatically through the constraints get triggered application program. based on the event. Messages to report Validation is associated Can be provided through The rule may have an violations enabling the with a transaction and the the application program. action part to repair designers to correct them transaction is aborted in a violations without violation cancelling all the designer’s involvement. work done so far. Validation of existing Automatically takes place Not available Not available objects in constraint but inappropriate for CAD modifications since it prevents modifications if previous objects in the DB do not adhere with the new constraints. Managing constraint Histories can only be kept Histories can only be kept Histories can be kept evolution histories through producing new through producing new through producing new class definitions. class definitions. class definitions. Ability to retrieve Difficult as they are Difficult as the constraints Difficult as constraints are constraints applicable to embedded in the schema. are scattered in the class scattered in different a particular object definition. operations. Moving back to a Possible through using the Possible through using the Possible through using the previous constraint set class/schema version with class version with the class version with the the required constraints. required constraints. required constraints. Association between Not applicable. Not applicable. Not applicable. constraint evolution and object evolution Figure 3: Comparison between the widely used constraint management approaches