-->

Nice Domains 2

Linear and Non-linear Boundaries:
Nice domain boundaries are defined by linear inequalities or equations
Testing is affected by the following facts
Only two points to determine a straight line
Three points to determine a plane
(n + 1) points determine a n-dimensional hyper plane
Practically, more than 99.99% of all boundary predicates are either linear or can be linearized by employing certain variable transformations
Complete Boundaries:
Nice Domain boundaries are complete and they span the number space from "plus infinity to minus infinity" in every dimension
Image on the screen shows some incomplete boundaries, Boundaries A and E have gaps
Such boundaries can come about because the path that hypothetically corresponds to them is unachievable, as the inputs are constrained in a way that existence of such values is not viable
This is also because of the following reasons
The compound predicates define a single boundary
The redundant predicates convert such boundary values into a null set
In complete boundaries, the advantage is that one set of tests is required for confirming the boundary irrespective of the number of domains it bounds
If the boundary is chopped up and has holes in it, then every segment of that boundary must be tested for every domain it bounds

Systematic Boundaries:
The boundary inequalities which are related by a simple function like constnat are known as systematic boundary
Example: The domain boundaries for u and v differ only by a constant, we want relations such as
f1(X) >= k1 or f1(X) >= g(1,c)
f2(X) >= k2     f2(X) >= g(2,c)
---------------      --------------------
f1(X) >= ki      fi(X) >= g(i,c)

Where fis an arbitrary linear function, X is the input vector, kand c are constants, and g(i,c) is a decent function over i and c that yields a constant, such as k + ic
The first example is a set of parallel lines and the second example is a set of systematically (equally) spaced parallel lines (such as the spokes of a wheel, if equally spaced in angles, systematic)
Consider that the boundaries are systematic. If you tie down one boundary and generate tests for it, the tests for all the remaining boundaries in that set can be generated automatically


Orthogonal Boundaries:
If every inequality in the boundary set U is perpendicular to every inequality in another boundary set V, the boundary sets U and V (nice two dimensional domains image) are said to be orthogonal
The two boundary sets, which are orthogonal, can be tested independently
In nice two dimensional domains, we have six boundaries in U and four in V. We can confirm the boundary properties in a number of tests proportional to 6+6=10 (O(n))
If we tilt the boundaries to get on the screen image, we must now test the intersections, We have gone from a linear number of cases to a quadratic: from O(n) to O(n2)
Actually, two different but related orthogonality conditions exist, They are:
Condition 1: Sets of boundaries can be orthogonal to one another but not to the coordinate axes
Condition 2: Boundaries can be orthogonal to the coordinate axes

Closure Consistency:
The image displayed below explains another desirable domain property -'boundary closures are consistent and systematic'
It is indicated by the shaded areas on the boundary that the boundary belongs to the domain wherein the shading lies
Example: The boundary lines belong to the domains on the right
Consistent closure means that there is a simple pattern to the closures
Example: Using the same relational operator for all boundaries of a set of parallel boundaries

Convex:
Any geometric figure in any number of dimensions is said to be convex if two arbitrary points can be taken on any two different boundaries and joined by a line, and all points on that line lie within that geometric figure
Nice domains are convex, dirty domains are not
We can smell a suspected impression when you see phrases such as: "------ except if-----", "However ------", "---- but not ----". In programming, it is often the 'buts' in the specification that kill you

Simply Connected:
Nice domains are simply connected, That are in a single piece but not as pieces all over the place distributed with other domains
Comparatively, the requirement of simple connectivity is a weaker than convexity, If a domain is convex, it is simply connected, but not vice versa
Consider the domain boundaries which are defined by compound predicated of the (boolean) form ABC. If the input space is divided into two domains then one is defined by ABC other is defined by its negation
Example: Suppose we define valid numbers as those lying between 10 and 17 inclusive. The invalid numbers are the disconnected domain consisting of numbers less than 10 and grater than 17
Simple connectivity, especially for fault cases, may be impossible

Related Posts

Post a Comment

Subscribe Our Newsletter