Conflict Resolution of Boolean Operations by Integration in Real-Time Collaborative CAD Systems

Size: px
Start display at page:

Download "Conflict Resolution of Boolean Operations by Integration in Real-Time Collaborative CAD Systems"

Transcription

1 Conflict Resolution of Boolean Operations by Integration in Real-Time Collaborative CAD Systems Yang Zheng, Haifeng Shen, Steven Xia, and Chengzheng Sun School of Computer Engineering, Nanyang Technological University, Block N4, Nanyang Avenue, Singapore {zhen0042, ashfshen, stevenxia, Abstract. Boolean operations are widely used in CAD applications to construct complex objects out of primitive ones. Conflict resolution of Boolean operations is a special and challenging issue in real-time collaborative CAD systems, which allow a group of geographically dispersed users to jointly perform design tasks over computer networks. In this paper, we contribute a novel conflict resolution technique that can retain the effects of individual conflicting Boolean operations by integrating them. This technique, named as CRIBO (Conflict Resolution by Integration for Boolean Operations), is in a sharp contrast to other ones that either desert the effects of some operations or keep the effects of different operations in different versions of the design. It is particularly good for collaborative CAD applications, where integration of different mindsets is a main source of creation and innovation. This technique lays a good foundation for resolving conflicting operations in design-oriented collaborative applications that require collective wisdom and stimulus of creation. Keywords: CAD, Boolean operation, conflict resolution, real-time collaborative system, creative design. 1 Introduction Computer Aided Design (CAD) is the use of a wide range of computer-based tools to assist engineers, architects and other design professionals in their design activities. In general, a CAD system is used to design, develop and optimize products, which can be goods used by end consumers or intermediate goods used in other products. It is also extensively used in the design of tools and machinery used in the manufacturing of components as well as in the drafting and design of all types of buildings, from small residential types (e.g., houses) to large commercial and industrial structures (e.g., hospitals and factories). Collaboration has been increasingly needed in the CAD community since early 1990s. As design tasks are getting more and more complex, designers have to work together more and more often as a team rather than individually. With the help of computer networks and online collaboration tools, it is possible to effectively fill up communication gaps among geographically dispersed designers and to significantly R. Meersman, Z. Tari et al. (Eds.): OTM 2007, Part I, LNCS 4803, pp , Springer-Verlag Berlin Heidelberg 2007

2 Conflict Resolution of Boolean Operations 239 reduce the time in both the design and the implementation phase in a product development cycle. CAD designers/draftsmen may use a real-time collaborative CAD system to clarify doubts quickly without leaving their desktops. Designers and the project leader can track bugs and discuss changes in front of computers instead of face-to-face. Engineers from different streams or departments can collaborate to work around a conflicting situation. Furthermore, a collaborative CAD system can be used to interactively demonstrate its main features to customers, or to train or get feedback from customers. Before the advent of real-time collaborative CAD systems, collaboration is mainly facilitated by various online chatting applications such as ICQ [2] and MSN [10]. However, this kind of collaboration could hardly meet the specific needs of technical discussions, in which verbal communication is not enough to express designers ideas clearly and to represent graphical features accurately. Some designers use applicationsharing systems such as Microsoft NetMeeting [11] to share their CAD applications for real-time collaboration. These systems, however, do not support concurrent work and are not responsive in Wide Area Networking (WAN) environments. To meet specific requirements in the CAD community, a few real-time collaborative CAD systems have been developed, which allow designers to manipulate the same design documents at the same time. To achieve high responsiveness in a networking environment, shared documents are usually replicated at each collaborating site so that editing operations can be performed at local sites immediately and then propagated to remote sites. Consistency maintenance is a fundamental issue in these real-time collaborative CAD systems, especially in the presence of conflicting operations. In a distributed environment, users may concurrently issue operations that semantically or syntactically conflict with each other. For example, two move operations may conflict with each other when two users concurrently try to move a particular object to different positions. Several strategies have been proposed to solve conflicting operations. One of those strategies is to adopt a conflict prevention strategy based on pessimistic concurrency control mechanisms such as locking and turn-taking. In these systems, a user has to gain the ownership of the target objects before she/he can edit it, thus preventing other users from generating conflicting operations on the same object. For example, the TOBACO system [8] adopts a floor control mechanism; the Cooperative ARCADE system [13] uses a locking mechanism. This means that at any moment in time, only one active user (i.e., the one who holds the floor/lock on the particular objects) is allowed to perform her/his design. This could significantly degrade the system s responsiveness and furthermore make a design process tedious. Another alternative conflict resolution approach is by means of serialization, which ensures that the effect of executing a group of concurrent operations be the same as if these operations were executed in the same order at all sites. If there is any conflict among concurrent operations, only the effect of the last operation (based on the total ordering) will be kept. This approach was mostly used in early collaborative systems such as GroupDesign [4] and LICRA [3]. However, as a design process is usually complex, it is undesirable to keep the effect of only one operation while destroying the effects of others.

3 240 Y. Zheng et al. A more advanced conflict resolution technique is Multi-Versioning (MV) [9, 14]. The MV technique preserves all users work by keeping multiple versions of shared artifacts. Such a strategy provides better feedback to the users, helps the users to better understand the nature of the conflicts, and to better adjust and coordinate their actions in the face of conflicts. However, MV is not suitable for design-oriented collaborative systems because keeping conflicting operations in different versions of shared objects does not help designers analyze conflicts as a whole or make use of conflicts to stimulate creative design. In this paper, we contribute a novel technique to resolve conflicting Boolean operations. The technique, named as CRIBO (Conflict Resolution by Integration for Boolean Operations), is able to retain the effects of individual conflicting Boolean operations and integrate them as a whole. Compared with previous conflict resolution techniques that either desert the effects of some conflicting operations or keep the effects of different operations in different versions of the design, CRIBO provides designers with a more comprehensive and straightforward view of the conflict. This is particularly good for design-oriented applications as integration of different mindsets is a main source of creation and innovation. The rest of this paper is organized as follows. In Section 2, conflicting Boolean operations are introduced and their special characteristics are analyzed. Section 3 then explains how to resolve conflicting Boolean operations using CRIBO in detail. This includes selecting proper techniques to support CRIBO and specifying rules on how to determine the results for a group of conflicting Boolean operations. In Section 4, we discuss how to use CRIBO to better support collaborative design scenarios that involve Boolean operations and other typical CAD operations. Finally, major contributions of this paper and the future work are summarized in Section 5. 2 Conflicting Boolean Operations Consistency maintenance in the presence of conflicting operations is a challenging issue in collaborative systems. Conflicts are domain-specific and application-specific. Our investigation reveals that operations in the CAD domain have several special characteristics that raise challenging but interesting issues in the face of conflicts. For example, the process of performing a particular CAD operation takes relatively longer time, as users have to interact with the system to specify parameters and select options. In addition, a CAD operation may involve a considerable number of objects, which significantly increases the possibility that concurrent operations have common target objects and may consequently lead to potential conflicts. This paper takes Boolean operations, a representative category of CAD operations, as an example to illustrate the characteristics of conflicting CAD operations and to devise an effective conflict resolution technique for CAD operations. 2.1 Boolean Operations Nowadays, most off-the-shelf CAD systems (e.g., AutoCAD [1] and OneSpace Modeling [12]) are object-based, in which geometrical objects such as rectangles,

4 Conflict Resolution of Boolean Operations 241 circles, polygons and 3D solids can be created and modified. In these systems, complex artificial objects can be constructed out of primitive ones using Boolean operations. In this paper, Boolean operations refer to the three primitive ones Union, Subtract and Intersect, which are supported by most CAD systems. The Union operation, denoted as, is used to join two or more objects into one based on the total geometry of all. The Subtract operation, denoted as, is used to subtract one or more objects from another to create an object based on the remaining geometry. The Intersect operation, denoted as, is used to create a single object from two or more objects based on the intersected geometry. For the good of presentation, we express a Boolean operation with its target objects and its operator. That is, operation O = A B is to Union two objects A and B; operation O = A - B is to Subtract object B from A; and operation O = A B is to Intersect two objects A and B. Figure 1 illustrates the three primitive Boolean operations and their effects 1. Fig. 1. Primitive Boolean operations and their effects 2.2 Conflicting Boolean Operations A Boolean operation has several target objects. In a real-time collaborative CAD environment, when different designers concurrently issue their own Boolean operations, it is possible that those Boolean operations have common target objects. To illustrate this, let s look at a collaborative design scenario. Assume two designers are working together to mold a cubical diamond (marked as D in Figure 2 (a)). To get a desirable shape, a cylinder (marked as C in Figure 2 (a)) and a box (marked as B in Figure 2 (a)) are created. All the three objects are 3D solids. Suppose the two 1 It should be pointed out that there is a specific geometrical relationship between objects A and B and they are actually overlapping with each other. However, this geometrical relationship is not revealed explicitly in Figure1. This is done on purpose so that readers can get a clear idea about the effects of Boolean operations.

5 242 Y. Zheng et al. Fig. 2. Conflicting Boolean operations and their individual effects designers concurrently issue Boolean operations that target at D, C and B. The first designer s operation is O 1 = D C, whereas the second designer s operation is O 2 = D B. Definition 1 Conflicting Boolean operations. Two Boolean operations O 1 and O 2 2 conflict with each other, denoted as O 1 O 2, if and only if O 1 O 2 (i.e., they are concurrent) 3 and Target (O 1 ) Target (O 2 ) null; or there exists another concurrent operation O x, such that O O 1 x and O O x 2. Here, Target (O) denotes the set of objects targeted by a Boolean operation O. 2 In this paper, we suppose O 1 and O 2 are always generated at the same document state. 3 Two operations are concurrent if they are generated without any knowledge of each other. For the formal definition of concurrent operations, readers may refer to [6, 14].

6 Conflict Resolution of Boolean Operations 243 For example, in Figure 2, O O because O O 2 and Target (O 1 ) Target (O 2 ) = {D} null. 3 Resolving Conflicting Boolean Operations by Integration 3.1 Resolving Conflicting Boolean Operations In the face of conflicting Boolean operations, it is important to preserve operations intentions using appropriate techniques to resolve the conflicts. This implies several requirements. First, after resolving the conflicts, only one version that has the effects of all the operations should be produced. This allows designers to analyze the conflicts as a whole and to make use of the conflicts to stimulate design innovation. Second, for an arbitrary group of conflicting Boolean operations, rules should exist to precisely determine the effects of the operations. These rules should be independent of the execution order of those Boolean operations so that consistency can be maintained [14]. Third, the produced effects should be understandable to users so that they can assess the situation, react accordingly and make use of the effects in a collaborative design environment. We propose an innovative conflict resolution technique, which can retain the effects of individual conflicting Boolean operations by integrating them. The biggest challenge here is how to achieve the integration. To explain our solution, we will first introduce some notations. First, given a Boolean operation O, its effect, denoted as E (O), is the geometrical effect when O is successfully performed. Second, given a group of conflicting Boolean operations O 1, O 2,..., O n, their Integrated Effect is denoted as IE ( O1 O 2... On ), where operator is union, subtract or intersect. In a collaborative environment, IE ( O1 O 2... On ) defines the effect after those operations are successfully performed. Third, given a Boolean operation expression whose targeting objects are A 1, A 2,..., A m, its effect is denoted as A A A, where operator is union, subtract or intersect. It should 1 2 m be pointed out that the definitions of E and IE are defined at the operation level whereas is defined at the object level. Therefore, from users point of view, an E or IE expression can always be mapped to an object expression with the format of A1 A2 Am, which provides a more straightforward way to understand the effects of an E or IE expression. We have investigated possible techniques to integrate a group of conflicting Boolean operations. The results revealed that the most appropriate one is to use Union to integrate those operations. For the example in Figure 2, after integrating O 1 and O 2 using Union, the result is ( D C) ( D B) (as shown in Figure 3). The advantages of selecting Union to resolve conflicting Boolean operations are as follows. First, a single version can be obtained from the N individual versions that are created by a group of conflicting Boolean operations O 1, O 2,..., O n. Based on the semantics of Union, all individual operations effects (i.e., E (O 1 ), E (O 2 ),, E (O n ))

7 244 Y. Zheng et al. Fig. 3. The obtained effect after integrating O 1 and O 2 will be interpreted in the produced version and reflected to designers. It should be pointed out that, on some occasions, the effects of the produced version could also be achieved through a serializable execution (to be explained in Section 3.3). However, compared with the serialized one in which the resultant effects can be expected, our approach produces totally unexpected effects, which could well be the source of creative design (to be explained in Section 4). Second, by using Union, the produced version will be consistent at different sites. This is because the Union operator conforms to the Commutative Law (i.e., O 1 O 2 = O 2 O 1 ) and the Associative Law (i.e., (O 1 O 2 ) O 3 = O 1 (O 2 O 3 )). Therefore, given an arbitrary group of conflicting Boolean operations O 1, O 2,..., O n, no matter in which order the operations are executed at a particular site, the obtained geometrical effect is always the same as IE (O 1 O 2 O n ). Third, as Union is an operator that belongs to the CAD community, it is relatively easy for users to understand the produced result as it is natural for them to analyze it using their knowledge about the operator. 3.2 Rules According to our solution, given a group of conflicting Boolean operations O 1, O 2,, O n, the effect of the produced version is IE (O 1 O 2, O n ). As mentioned in the previous section, Union conforms to both the Commutative Law and the Associative Law. As a result, it can be drawn that O 1 O 2 O n = (O 1 O 2, O n-1 ) O n, which means that the effect of Unioning N objects is equal to that of Unioning one object with the other N - 1 objects. Assuming that there are two operations O i and O j, where 1<= i < j <= n, if we can correctly determine IE (O i O j ), then we can correctly determine IE (O 1 O 2 O n ). Therefore, we only need to focus on how to draw rules to determine IE (O i O j ). We first start from the simplest scenario, in which each of the two conflicting Boolean operations targets at only two objects and one of the two objects is targeted by both operations, e.g., Target (O 1 ) = {A, B} and Target (O 2 ) = {B, C}, and Target (O 1 ) Target (O 2 ) = {B}. All possible results of IE (O 1 O 2 ) are listed in Table 1.

8 Conflict Resolution of Boolean Operations 245 O 1 O 2 Table 1. The effects of resolving conflicting Boolean operations B C BmC B - C C - B A B B (AmC) BmC (A B)m(B - C) (A B)m(C - B) A B A B A B C A B A B C A - B (A - B)m(B C) A B C (A - B)m(B - C) (AC) - B B - A (B - A)m(B C) BmC (B - A)m(B - C) (B - A)m(C - B) The rules between two arbitrary conflicting Boolean operations start from the above table and in the end four rules are drawn. In the following part of this section, we will first introduce the four rules and then make an analysis on them. For the good of presentation, we first define complex object sets A, B, C, D and E as operands in conflicting Boolean operations. These object sets are A = A... A, B = B... B, C = C... C, 1 K 1 L 1 M D = D... D, and E = E... E 1 N 1 P where A k (1 k K ), B l (1 l L ), C m (1 m M ), D n (1 n N ) and E p (1 p P) are primitive objects that are the smallest units and not required to be further split in the given Boolean operations. For Boolean operators Union ( ), Intersect ( ), Subtract ( ), we categorize Union and Intersect as positive operators since these two operators conform to the Commutative Law, whereas Subtract is considered as negative operator as it dose not conform to the Commutative Law. Given two conflicting Boolean operations O i and O j, where Oi = A B and Oj = B C, based on Table 1, the effect of integrating O i and O j is A B C. If the two conflicting Boolean operations are O i and O j, where Oi = A B and Oj = B C, the effect of integrating O i and O j is ( A C) B. Based on these two results, we can derive Rule 1 as follows. Rule 1. Conflicting Boolean operations with the same positive operators. Given two conflicting Boolean operations O i and O j, where operator is either Union or Intersect, if O i = A B and O = B C, then the effect of integrating O j i and O j is B ( A C). Rule 2. Conflicting Boolean operations with different positive operators. Given two conflicting Boolean operations O i and O j, where Oi = A B and Oj = B C, the effect of integrating O i and O j is A B, which is the same as E (O i ).

9 246 Y. Zheng et al. Rule 3. Conflicting Boolean Operations with Union and Subtract. Given two conflicting Boolean operations O i and O j, where O = A B, i O = C B D B ( B j S1 S2 S1 BS2 = null, BS1 BS2 = B ) 4, the effect of integrating O i and O j is A B ( C D). Rule 4. Conflicting Boolean Operations with Intersect and Subtract. Given two conflicting Boolean operations O i and O j, where O = D C i X1 E C X 2 ( CX1 CX2 = null, CX1 CX 2 = C ), and Oj = A B or Oj = A CY1 B CY2 ( CY1 CY2 = null, CY1 CY2 = C ), then the effect of integrating O i and O j is E (O i ) E (O j ). 3.3 Rules Analysis In the face of an arbitrary group of conflicting Boolean operations, the four rules can preserve individual operations effects and integrate them as a whole. From designers perspective, the integrated effect is not a premeditated one and thus is new to them. In a collaborative design environment, this new effect could be a great stimulus to design innovation. That is, in a design process, when conflicting Boolean operations are generated, it is usually because there is no obvious or pre-defined solution to those commonly targeted objects (Otherwise, the designers would not target at the same objects and instead, would perform operations on their own objects). In this case, it is vital that a designer has a comprehensive and yet easy-to-understand way to learn other designers ideas, which is provided by applying CRIBO. As a result, a designer can easily analyze other designers ideas and thus achieve design efficiency. It should be pointed out that the integrated effect may also be achieved in a singleuser design environment. To Rule 1, Rule 2 and the Rule 3, a target object appears once and only once in the rule expression, which means that the resulted effect could be achieved by sequentially performing a set of Boolean operations on the target objects. Nevertheless, efficiency can be significantly increased by achieving parallel computing in a collaborative design environment as individual operations are performed at different sites. 4 Significance of the CRIBO Technique in Supporting Creative Design The conflict resolution technique CRIBO distinguishes itself from other techniques in that it can retain the effects of individual conflicting operations by integrating them. This characteristic could significantly benefit a design process, where integration of different mindsets is a main source of creation and innovation. In this section, we 4 i.e., B s1 and B s2 are disjoint subsets of B, and all the elements of B belong to either B s1 or B s2 but not both.

10 Conflict Resolution of Boolean Operations 247 provide concrete examples to show how CRIBO is applied to support collaborative designs that involve Boolean operations and other typical CAD operations. 4.1 Obtain Hard-to-Achieve Effects As mentioned in previous sections, Boolean operations have been widely used in design representation, analysis and manufacturing. In these domains, the inherent complexities of geometrical configuration require strong capability from the CAD tools for the purpose of complex modeling. These applications, with specific requirements in their respective domains [5, 15], require comprehensive and complex modeling functionalities. As a result, the three basic Boolean operations are not enough, and more complex and domain-specific Boolean operations are required. Our investigation on the complex Boolean operations, however, reveals that those operations are all based on the three basic Boolean operations and therefore can be achieved with a proper combination of the basic Boolean operations. However, it is non-trivial to implement complex Boolean operations by combining basic Boolean operations in single-user design environment. For example, the Combine operation is a widely-used complex Boolean operation [16]. As shown in Figure 4, the Combine operation is like the Union operation but removes the portions in common (e.g., the geometrically overlapping part), i.e., Combine (A, B) = (A B) U (B A). It is obvious that the Combine operation cannot be achieved by sequentially executing Boolean operations as it requires a pair of A and B. For example, to achieve this operation in AutoCAD, designers have to make a copy of both A and B, locate them at exactly the same position, perform A B and B A respectively, and in the end union them together. Fig. 4. The Combine operation Such a process is tedious and undesirable in a design session. However, this could be easily solved in a collaborative design environment by purposely generating conflicting Boolean operations and using our conflict resolution strategy to achieve the desired effects. For example, given two users in a real-time collaborative design session, one user performs A B and the other performs B A concurrently. Under the well-defined rules of our conflict resolution strategy (actually based on Rule 4),

11 248 Y. Zheng et al. we can immediately get the geometry of the required result (i.e., (A B) U (B A)), which significantly saves design efforts and simplifies the design process. 4.2 Stimulate Design Innovation Another significant contribution of our conflict resolution strategy is that it can not only resolve conflicts, but also provide new effects based on the conflicting operations. We believe that these effects could dramatically stimulate design innovation and in the long run could significantly benefit the design of collaborative systems. To the best of our knowledge, previous conflict resolution strategies in the CAD community consider a design process as purely a technical process, in which conflicts are usually regarded as being abnormal and should be avoided as soon as possible. However, a collaborative design process is not as simple as this and other factors, especially social factors between different designers (who are usually from different domains) should also be taken into account. As argued in [7], a collaborative design process is mostly a socio-technical process, in which conflicts must be systematically and explicitly dealt with as a resource to drive design innovations. For example, consider a collaborative design scenario in Figure 5. Three users are trying to get creative shapes based on the three primitive ones, which are represented as A, B and C. At a particular time, they concurrently issue their own Boolean operations as O 1 = A B, O 2 = A C and O 3 = B C. Three effects are achieved as A B, A C and B C, but none has obvious meanings. However, these operations conflict with each other and as a result, the underlying collaborative system unions the three effects into a new one, which resembles a simple model of an airscrew. This example demonstrates that a collaborative CAD system can not only resolve conflicts, but also achieve new effects based on conflicting operations. More importantly, these new effects are not randomly generated, but are based on welldefined rules. This ensures that the effects have relationships with all the individual effects and thus could very likely stimulate designers ideas. 4.3 Applying CRIBO to Other CAD Operations As proved in previous sections, CRIBO can resolve conflicting Boolean operations by integration and provide new effects to stimulate design innovation. Our investigation shows that this technique lays a good foundation for resolving other conflicting operations in design-oriented collaborative applications. The key to achieving this, however, is to select the most appropriate approach to integrate those conflicting operations. Such a selection is non-trivial because the integration depends on several aspects, such as the conflicting operations semantics and their working environments. In the following section, we will explain how to find out the appropriate approaches to resolving conflicts that involve other typical CAD operations, including the rotate operation and the color operation.

12 Conflict Resolution of Boolean Operations Apply CRIBO to the Rotate Operation Rotate is a typical CAD operation, which allows users to rotate an object around a specified point based on a particular angle value. In a real-time collaborative design environment, two rotate operations may conflict with each other if they concurrently target at the same object but attempt to rotate it in different directions. Fig. 5. Achieve the effects of an airscrew by resolving conflicts Let s look at a simple but interesting scenario. Suppose two designers are collaborating to design the layout of a living room. At a time, they are to determine where to arrange the bed, as shown in Figure 6 (a). Both designers have their own arrangement criteria. The first designer wants the bed to be near the window so that it can gain more sunshine whereas the second designer wants it to be opposite to the door to avoid noise at the corridor. As a result, they concurrently issue their own rotate operations and locate the bed according to their preferences, as shown in Figure 6 (b) and (c), respectively. Obviously, the two designers intentions can coexist (as they are based on different criteria) and therefore should both be reflected in the design. However, previous collaborative design systems would consider them as a conflict as they rotate the same objects to different positions and directions. As a result, designers may receive messages about the conflicts, communicate to explain their intentions to each other and then try to find another solution to satisfy both criteria. This tedious process could be effectively shortened by using CRIBO. For example, suppose a rotate operation is represented as Rotate (object, base-point, rotate-angle).

13 250 Y. Zheng et al. In the face of two conflicting rotate operations, we can integrate both operations effects into one, in which the centroid of the object is the mid-point of the two basepoints and the new direction is an average of the rotate-angles. Based on this rule, we can determine the arrangement of the bed by integrating both designers operations. As shown in Figure 6 (d), the bed is located at a position that is opposite to the door and not far from the window, which could satisfy both designers intentions Apply CRIBO to Color Operation Color is a vastly-used CAD operation. It can fill a graphic object based on user specified colors or texture patterns. In a real-time collaborative design environment, two color operations may conflict with each other if they concurrently target at the same object but fills it with different colors. Fig. 6. Resolve conflicting rotate operations using CRIBO To explicitly explain this scenario, let s look at an example. Suppose three designers are in a real-time design process to determine which colors should be filled in to an object A, whose original color is black. For the good of presentation, we assume a color operation is represented as Color (object, old-color, new-color). Suppose the designers concurrently issue three color operations O 1, O 2 and O 3. These operations are O 1 = color (A, black, red), O 2 = color (A, black, green) and O 3 = color (A, black, blue). Obviously, the three operations conflict with each other as they are trying to change the same object (i.e., A) to different colors.

14 Conflict Resolution of Boolean Operations 251 This conflict can be resolved using CRIBO by integrating the three colors into another based on classical color storage scheme in graphic design. That is, for three operations O 1, O 2 and O 3, suppose O 1 s new color is represented as an RGB triple <R 1, G 1, B 1 >, O 2 s is represented as <R 2, G 2, B 2 > and O 3 s is represented as <R 3, G 3, B 3 >. Then the mixture of O 1, O 2 and O 3 s new colors is equal to <(R 1 +R 2 +R 3 ) mod 256, (G 1 +G 2 +G 3 ) mod 256, (B 1 +B 2 +B 3 ) mod 256>. Based on this rule, the integration of O 1, O 2 and O 3 in this scenario is filling the object A with the color of white, which is new to all the three designers. Furthermore, the white color is not the only possible new color achievable using CRIBO. As shown in Table 2, we can altogether obtain eight colors from the three original colors. To the best of our knowledge, existing conflict resolution strategies can at most achieve the first four color effects (i.e., black, red, green and blue). However, CRIBO can obtain not only these four colors but also four more colors (i.e., yellow, purple, cyan and white) that could not directly be achieved by using any other strategies. We believe that these new effects could greatly provide designers with collective wisdom and stimulus of creation, especially in those complex design scenarios. It should be pointed out that the aim of using CRIBO is to provide designers with several options to resolve a conflict rather than to produce a specific result. By using CRIBO, designers are able to have all the possible results (e.g., the eight resultant colors in Table 2). After negotiation and discussion, they can inform the underlying collaborative design systems about the selected effects. Such an approach ensures that designers ideas are correctly realized in the design process and prevent potential disputes and conflicts from happening 5 Conclusion Table 2. Differnt color effects achieved by integration Color Integrated operations 1. Black ( no operation integrated ) 2. Red (O 1 ) 3. Green (O 2 ) 4. Blue (O 3 ) 5. Yellow (O 1, O 2 ) 6. Purple (O 1, O 3 ) 7. Cyan (O 2, O 3 ) 8. White (O 1, O 2, O 3 ) Real-time collaborative CAD systems allow a group of users to view and edit the same design document at the same time from geographically dispersed sites connected by networks. With several members working on a project collaboratively and concurrently, it is possible to shorten design cycle, improve design quality and reduce design cost. As those collaborative CAD systems adopt a replicated architecture to achieve quick local responsiveness, consistency maintenance is a fundamental issue, especially in the face of conflicting operations. This article contributes a novel technique CRIBO to resolve conflicting Boolean operations. CRIBO distinguishes itself from previous ones in that it can retain the

15 252 Y. Zheng et al. effects of all the conflicting Boolean operations by integration. Our research shows that such an approach could provide as much information as possible for users to understand the conflicts. Additionally, the technique can be used to create new effects that could significantly increase design efficiency and stimulate design innovation. The paper also explicitly specifies how to obtain the desired effects in the face of a group of conflicting Boolean operations. Future work of this paper includes several aspects. The CRIBO technique is being implemented in a collaborative AutoCAD system. We are moving towards making the system publicly demonstrable. We plan to apply the technique to resolving other conflicting operations in CAD applications and other domains such as graphic systems and Word processing tools. References 1. Autodesk Inc.: AutoCAD: AutoCAD products information, adsk/servlet/index?siteid= ICQ Inc.: ICQ Community people search and messaging service, 3. Kanawati, R.: LICRA: A replicated-data management algorithm for distributed synchronous groupware applications. Parallel Computing 22(13), (1997) 4. Karsenty, A., Tronche, C., Beaudouin-Lafon, M.: Groupdesign: Shared editing in a heterogeneous environment. Usenix Journal of Computing Systems 6(2), (1993) 5. Kumar, V., Dutta, D.: An approach to modeling and representation of heterogeneous objects. Journal of Mechanical Design 120(4), (1998) 6. Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Communications of the ACM 21(7), (1978) 7. Lu, S., Cai, J., Burkett, W., Udwadia, F.: A methodology for collaborative design process and conflict analysis. CIRP Annals - Manufacturing Technology 49(1), (2000) 8. Lukas, U.: Collaborative geometric modeling using CORBA services. In: Proceedings of the ECSCW 1997 Workshop on Object-Oriented GroupWare Platforms OOGP 1997, Lancaster, UK, pp (1997) 9. Moran, T., McCall, K., Van Melle, B., Pedersen, E., Halasz, F.: Some design principles for sharing in Tivoli, a whiteboard meeting-support tool. In: Greenberg, S. (ed.) Groupware for Real-time Drawings: A Designer s Guide, pp McGraw-Hill International, UK (1995) 10. Microsoft Corporation, M.S.N.: Windows Live Messenger, im/home/?source=msntdlink 11. Microsoft Corporation. NetMeeting Home, netmeeting/ 12. CoCreate Inc. OneSpace Modeling.: CoCreate OneSpace Modeling, com/designer_modeling.cfm 13. Stork, A., Jasonch, U.: A collaborative Engineering Environment. In: Proceedings of TeamCAD 1997 Workshop on Collaborative Design, Atlanta, USA, pp (1997) 14. Sun, C., Chen, D.: Consistency maintenance in real-time collaborative graphics editing systems. ACM Transactions on Computer-Human Interaction 9(1), 1 41 (2002) 15. Sun, W., Lin, F., Hu, X.: Computer-aided design and modeling of composite unit cells. Composite Science and Technology 61, (2001) 16. Microsoft Corporation. Visio Home Microsoft Office Online, en-us/visio/default.aspx

CIMES: a Collaborative Image Editing System for Pattern Design

CIMES: a Collaborative Image Editing System for Pattern Design CIMES: a Collaborative Image Editing System for Pattern Design Xianghua Xu, Jiajun Bu, Chun Chen and Yong Li College of Computer Science, Zhejiang University, Hangzhou 310027, China {xuxh_cs, bjj, chenc,

More information

Semantic Preservation in Real-time Collaborative Graphics Designing Systems

Semantic Preservation in Real-time Collaborative Graphics Designing Systems Semantic Preservation in Real-time Collaborative Graphics Designing Systems Xueyi Wang, Jiajun Bu, and Chun Chen College of Computer Science, Zhejiang University Hangzhou, Zhejiang, 310013 China xueyiwang@yahoo.com,

More information

Concept. Shared Editing. The notion of congruence. Types of shared editors. Master Recherche - Université Paris-Sud. M. Beaudouin-Lafon - Groupware 1

Concept. Shared Editing. The notion of congruence. Types of shared editors. Master Recherche - Université Paris-Sud. M. Beaudouin-Lafon - Groupware 1 Concept Shared Editing Michel Beaudouin-Lafon Collaborative creation and editing of shared computer artifacts - Typically a shared document - All users have the illusion that they edit the same document

More information

How to make CAD tools more useful to designers through re- representation

How to make CAD tools more useful to designers through re- representation How to make CAD tools more useful to designers through re- representation John S Gero and Nick Kelly Key Centre of Design Computing and Cognition, University of Sydney, Australia ABSTRACT: This paper describes

More information

An Approach to Software Component Specification

An Approach to Software Component Specification Page 1 of 5 An Approach to Software Component Specification Jun Han Peninsula School of Computing and Information Technology Monash University, Melbourne, Australia Abstract. Current models for software

More information

Trust4All: a Trustworthy Middleware Platform for Component Software

Trust4All: a Trustworthy Middleware Platform for Component Software Proceedings of the 7th WSEAS International Conference on Applied Informatics and Communications, Athens, Greece, August 24-26, 2007 124 Trust4All: a Trustworthy Middleware Platform for Component Software

More information

Höllische Programmiersprachen Hauptseminar im Wintersemester 2014/2015 Determinism and reliability in the context of parallel programming

Höllische Programmiersprachen Hauptseminar im Wintersemester 2014/2015 Determinism and reliability in the context of parallel programming Höllische Programmiersprachen Hauptseminar im Wintersemester 2014/2015 Determinism and reliability in the context of parallel programming Raphael Arias Technische Universität München 19.1.2015 Abstract

More information

Mathematics Curriculum

Mathematics Curriculum 6 G R A D E Mathematics Curriculum GRADE 6 5 Table of Contents 1... 1 Topic A: Area of Triangles, Quadrilaterals, and Polygons (6.G.A.1)... 11 Lesson 1: The Area of Parallelograms Through Rectangle Facts...

More information

Thesis Defense: Developing Real-Time Collaborative Editing Using Formal Methods

Thesis Defense: Developing Real-Time Collaborative Editing Using Formal Methods Thesis Defense: Developing Real-Time Collaborative Editing Using Formal Methods Lars Tveito September 9th, 2016 Department of Informatics, University of Oslo Outline Introduction Formal Semantics of Editing

More information

BIM Goes to School AUTODESK REVIT BUILDING INFORMATION MODELING. BIM in the Architectural Curriculum. Savannah College of Art and Design, USA

BIM Goes to School AUTODESK REVIT BUILDING INFORMATION MODELING. BIM in the Architectural Curriculum. Savannah College of Art and Design, USA AUTODESK REVIT BUILDING INFORMATION MODELING As BIM adoption grows in the building industry, so does the use of BIM in educational curricula. This white paper focuses on how BIM is being leveraged within

More information

Rapid Modeling of Digital City Based on Sketchup

Rapid Modeling of Digital City Based on Sketchup Journal of Mechanical Engineering Research and Developments ISSN: 1024-1752 Website: http://www.jmerd.org Vol. 38, No. 1, 2015, pp. 130-134 J. Y. Li *, H. L. Yuan, & C. Reithmeier Department of Architectural

More information

A taxonomy of race. D. P. Helmbold, C. E. McDowell. September 28, University of California, Santa Cruz. Santa Cruz, CA

A taxonomy of race. D. P. Helmbold, C. E. McDowell. September 28, University of California, Santa Cruz. Santa Cruz, CA A taxonomy of race conditions. D. P. Helmbold, C. E. McDowell UCSC-CRL-94-34 September 28, 1994 Board of Studies in Computer and Information Sciences University of California, Santa Cruz Santa Cruz, CA

More information

Subject: Scheduling Region Questions and Problems of new SystemVerilog commands

Subject: Scheduling Region Questions and Problems of new SystemVerilog commands Subject: Scheduling Region Questions and Problems of new SystemVerilog commands I have read and re-read sections 14-17 of the SystemVerilog 3.1 Standard multiple times and am still confused about exactly

More information

Volume1, Issue 2 October ISSN: Title. The importance of Computer Visualization in technical education. Anshu Singhal

Volume1, Issue 2 October ISSN: Title. The importance of Computer Visualization in technical education. Anshu Singhal Title The importance of Computer Visualization in technical education Anshu Singhal Student, Department of Computer Engineering BMN college of Engineering and Technology, India ABSTRACT Computer 3D displaying

More information

Theoretical Computer Science

Theoretical Computer Science Theoretical Computer Science 410 (2009) 3372 3390 Contents lists available at ScienceDirect Theoretical Computer Science journal homepage: www.elsevier.com/locate/tcs An (18/11)n upper bound for sorting

More information

Extending real-time collaborative editing systems with asynchronous communication

Extending real-time collaborative editing systems with asynchronous communication Extending real-time collaborative editing systems with asynchronous communication Claudia-Lavinia Ignat and Moira C. Norrie Institute for Information Systems, ETH Zurich {ignat,norrie}@inf.ethz.ch Abstract

More information

Amarillo ISD Math Curriculum

Amarillo ISD Math Curriculum Amarillo Independent School District follows the Texas Essential Knowledge and Skills (TEKS). All of AISD curriculum and documents and resources are aligned to the TEKS. The State of Texas State Board

More information

ADVANCED DIRECT MANIPULATION OF FEATURE MODELS

ADVANCED DIRECT MANIPULATION OF FEATURE MODELS ADVANCED DIRECT MANIPULATION OF FEATURE MODELS Rafael Bidarra, Alex Noort Faculty of Electrical Engineering, Mathematics and Computer Science, Delft University of Technology, The Netherlands A.R.Bidarra@tudelft.nl,

More information

The study of total-removal-volume (TRV) feature in handling the flexible machining shapes generation

The study of total-removal-volume (TRV) feature in handling the flexible machining shapes generation The study of total-removal-volume (TRV) feature in handling the flexible machining shapes generation Mohammad M. Isnaini,1, Wisnu Aribowo 2 Study Program of Industrial Engineering Bandung Institute of

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

OPTIMIZATION, OPTIMAL DESIGN AND DE NOVO PROGRAMMING: DISCUSSION NOTES

OPTIMIZATION, OPTIMAL DESIGN AND DE NOVO PROGRAMMING: DISCUSSION NOTES OPTIMIZATION, OPTIMAL DESIGN AND DE NOVO PROGRAMMING: DISCUSSION NOTES MILAN ZELENY Introduction Fordham University, New York, USA mzeleny@fordham.edu Many older texts, with titles like Globally Optimal

More information

Lesson 5 Solid Modeling - Constructive Solid Geometry

Lesson 5 Solid Modeling - Constructive Solid Geometry AutoCAD 2000i Tutorial 5-1 Lesson 5 Solid Modeling - Constructive Solid Geometry Understand the Constructive Solid Geometry Concept. Create a Binary Tree. Understand the basic Boolean Operations. Create

More information

CITS5501 Software Testing and Quality Assurance Formal methods

CITS5501 Software Testing and Quality Assurance Formal methods CITS5501 Software Testing and Quality Assurance Formal methods Unit coordinator: Arran Stewart May 1, 2018 1 / 49 Sources Pressman, R., Software Engineering: A Practitioner s Approach, McGraw-Hill, 2005

More information

Interactions A link message

Interactions A link message Interactions An interaction is a behavior that is composed of a set of messages exchanged among a set of objects within a context to accomplish a purpose. A message specifies the communication between

More information

6 Mathematics Curriculum

6 Mathematics Curriculum New York State Common Core 6 Mathematics Curriculum GRADE GRADE 6 MODULE 5 Table of Contents 1 Area, Surface Area, and Volume Problems... 3 Topic A: Area of Triangles, Quadrilaterals, and Polygons (6.G.A.1)...

More information

Recent Design Optimization Methods for Energy- Efficient Electric Motors and Derived Requirements for a New Improved Method Part 3

Recent Design Optimization Methods for Energy- Efficient Electric Motors and Derived Requirements for a New Improved Method Part 3 Proceedings Recent Design Optimization Methods for Energy- Efficient Electric Motors and Derived Requirements for a New Improved Method Part 3 Johannes Schmelcher 1, *, Max Kleine Büning 2, Kai Kreisköther

More information

Wallpaper Groups and Statistical Geometry

Wallpaper Groups and Statistical Geometry Wallpaper Groups and Statistical Geometry John Shier Abstract. The arrangement of regions filled by statistical geometry into arrays with specific symmetry properties is studied for the space groups p2mm,

More information

This blog addresses the question: how do we determine the intersection of two circles in the Cartesian plane?

This blog addresses the question: how do we determine the intersection of two circles in the Cartesian plane? Intersecting Circles This blog addresses the question: how do we determine the intersection of two circles in the Cartesian plane? This is a problem that a programmer might have to solve, for example,

More information

A New Dimension to Land Development and Subdivision Design: Application of AutoCAD Civil 3D

A New Dimension to Land Development and Subdivision Design: Application of AutoCAD Civil 3D A New Dimension to Land Development and Subdivision Design: Application of AutoCAD Civil 3D Tarig Ali College of Engineering and Computer Science University of Central Florida Orlando, Florida taali@mail.ucf.edu

More information

Algorithms and Flowcharts

Algorithms and Flowcharts UNIT 2 Chapter 1 Algorithms and Flowcharts After studying this lesson, the students will be able to understand the need of Algorithm and Flowcharts; solve problems by using algorithms and flowcharts; get

More information

Augmenting Reality with Projected Interactive Displays

Augmenting Reality with Projected Interactive Displays Augmenting Reality with Projected Interactive Displays Claudio Pinhanez IBM T.J. Watson Research Center, P.O. Box 218 Yorktown Heights, N.Y. 10598, USA Abstract. This paper examines a steerable projection

More information

An Integrated Regression Testing Framework to Multi-Threaded Java Programs

An Integrated Regression Testing Framework to Multi-Threaded Java Programs An Integrated Regression Testing Framework to Multi-Threaded Java Programs Bixin Li 1,2, Yancheng Wang 1, and LiLi Yang 1 1 School of Computer Science and Engineering, Southeast University No.2 Sipailou

More information

Connected Components of Underlying Graphs of Halving Lines

Connected Components of Underlying Graphs of Halving Lines arxiv:1304.5658v1 [math.co] 20 Apr 2013 Connected Components of Underlying Graphs of Halving Lines Tanya Khovanova MIT November 5, 2018 Abstract Dai Yang MIT In this paper we discuss the connected components

More information

OCL Support in MOF Repositories

OCL Support in MOF Repositories OCL Support in MOF Repositories Joachim Hoessler, Michael Soden Department of Computer Science Technical University Berlin hoessler@cs.tu-berlin.de, soden@cs.tu-berlin.de Abstract From metamodels that

More information

Heuristic Evaluation of Groupware. How to do Heuristic Evaluation of Groupware. Benefits

Heuristic Evaluation of Groupware. How to do Heuristic Evaluation of Groupware. Benefits Kimberly Tee ketee@ucalgary.ca CPSC 681 Topic Heuristic Evaluation of Groupware Heuristic evaluation [9] is a discount evaluation method for finding usability problems in a singleuser interface design.

More information

ITERATIVE MULTI-LEVEL MODELLING - A METHODOLOGY FOR COMPUTER SYSTEM DESIGN. F. W. Zurcher B. Randell

ITERATIVE MULTI-LEVEL MODELLING - A METHODOLOGY FOR COMPUTER SYSTEM DESIGN. F. W. Zurcher B. Randell ITERATIVE MULTI-LEVEL MODELLING - A METHODOLOGY FOR COMPUTER SYSTEM DESIGN F. W. Zurcher B. Randell Thomas J. Watson Research Center Yorktown Heights, New York Abstract: The paper presents a method of

More information

A.1 Numbers, Sets and Arithmetic

A.1 Numbers, Sets and Arithmetic 522 APPENDIX A. MATHEMATICS FOUNDATIONS A.1 Numbers, Sets and Arithmetic Numbers started as a conceptual way to quantify count objects. Later, numbers were used to measure quantities that were extensive,

More information

A Novel Model for Encryption of Telugu Text Using Visual Cryptography Scheme

A Novel Model for Encryption of Telugu Text Using Visual Cryptography Scheme A Novel Model for Encryption of Telugu Text Using Visual Cryptography Scheme G. Lakshmeeswari *, D. Rajya Lakshmi, Y. Srinivas, and G. Hima Bindu GIT, GITAM University, Visakhapatnam, Andhra Pradesh {lak_pr,rdavuluri}@yahoo.com,

More information

Lesson 5: Definition of Rotation and Basic Properties

Lesson 5: Definition of Rotation and Basic Properties Student Outcomes Students know how to rotate a figure a given degree around a given center. Students know that rotations move lines to lines, rays to rays, segments to segments, and angles to angles. Students

More information

Selective Space Structures Manual

Selective Space Structures Manual Selective Space Structures Manual February 2017 CONTENTS 1 Contents 1 Overview and Concept 4 1.1 General Concept........................... 4 1.2 Modules................................ 6 2 The 3S Generator

More information

Intersection of sets *

Intersection of sets * OpenStax-CNX module: m15196 1 Intersection of sets * Sunil Kumar Singh This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution License 2.0 We have pointed out that a set

More information

Geometric Modeling. Introduction

Geometric Modeling. Introduction Geometric Modeling Introduction Geometric modeling is as important to CAD as governing equilibrium equations to classical engineering fields as mechanics and thermal fluids. intelligent decision on the

More information

UML-Based Conceptual Modeling of Pattern-Bases

UML-Based Conceptual Modeling of Pattern-Bases UML-Based Conceptual Modeling of Pattern-Bases Stefano Rizzi DEIS - University of Bologna Viale Risorgimento, 2 40136 Bologna - Italy srizzi@deis.unibo.it Abstract. The concept of pattern, meant as an

More information

3.4 Deduction and Evaluation: Tools Conditional-Equational Logic

3.4 Deduction and Evaluation: Tools Conditional-Equational Logic 3.4 Deduction and Evaluation: Tools 3.4.1 Conditional-Equational Logic The general definition of a formal specification from above was based on the existence of a precisely defined semantics for the syntax

More information

T. Biedl and B. Genc. 1 Introduction

T. Biedl and B. Genc. 1 Introduction Complexity of Octagonal and Rectangular Cartograms T. Biedl and B. Genc 1 Introduction A cartogram is a type of map used to visualize data. In a map regions are displayed in their true shapes and with

More information

DIGITAL DESIGN STRATEGIES

DIGITAL DESIGN STRATEGIES INTERNATIONAL DESIGN CONFERENCE - DESIGN 2004 Dubrovnik, May 18-21, 2004. DIGITAL DESIGN STRATEGIES H. Bier Keywords: digital design, methodologies of digital design, education of digital design, learning

More information

One-Point Geometric Crossover

One-Point Geometric Crossover One-Point Geometric Crossover Alberto Moraglio School of Computing and Center for Reasoning, University of Kent, Canterbury, UK A.Moraglio@kent.ac.uk Abstract. Uniform crossover for binary strings has

More information

Reasoning Boolean Operation for Modeling, Simulation and Fabrication of Heterogeneous Objects. Abstract

Reasoning Boolean Operation for Modeling, Simulation and Fabrication of Heterogeneous Objects. Abstract Reasoning Boolean Operation for Modeling, Simulation and Fabrication of Heterogeneous Objects X. Hu, T. Jiang, F. Lin, and W. Sun Department of Mechanical Engineering and Mechanics, Drexel University,

More information

Open Access Apriori Algorithm Research Based on Map-Reduce in Cloud Computing Environments

Open Access Apriori Algorithm Research Based on Map-Reduce in Cloud Computing Environments Send Orders for Reprints to reprints@benthamscience.ae 368 The Open Automation and Control Systems Journal, 2014, 6, 368-373 Open Access Apriori Algorithm Research Based on Map-Reduce in Cloud Computing

More information

Category Theory in Ontology Research: Concrete Gain from an Abstract Approach

Category Theory in Ontology Research: Concrete Gain from an Abstract Approach Category Theory in Ontology Research: Concrete Gain from an Abstract Approach Markus Krötzsch Pascal Hitzler Marc Ehrig York Sure Institute AIFB, University of Karlsruhe, Germany; {mak,hitzler,ehrig,sure}@aifb.uni-karlsruhe.de

More information

Test Cases Generation from UML Activity Diagrams

Test Cases Generation from UML Activity Diagrams Eighth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing Test Cases Generation from UML Activity Diagrams Hyungchoul Kim, Sungwon

More information

Parametric Maps for Performance-Based Urban Design

Parametric Maps for Performance-Based Urban Design Parametric Maps for Performance-Based Urban Design A lateral method for 3D urban design Jernej Vidmar University of Ljubljana, Faculty of Architecture, Slovenia http://www.modelur.com jernej.vidmar@modelur.com

More information

An intelligent task programming system for modular manufacturing machines

An intelligent task programming system for modular manufacturing machines Loughborough University Institutional Repository An intelligent task programming system for modular manufacturing machines This item was submitted to Loughborough University's Institutional Repository

More information

A Comprehensive Introduction to SolidWorks 2011

A Comprehensive Introduction to SolidWorks 2011 A Comprehensive Introduction to SolidWorks 2011 Godfrey Onwubolu, Ph.D. SDC PUBLICATIONS www.sdcpublications.com Schroff Development Corporation Chapter 2 Geometric Construction Tools Objectives: When

More information

A Content Based Image Retrieval System Based on Color Features

A Content Based Image Retrieval System Based on Color Features A Content Based Image Retrieval System Based on Features Irena Valova, University of Rousse Angel Kanchev, Department of Computer Systems and Technologies, Rousse, Bulgaria, Irena@ecs.ru.acad.bg Boris

More information

Design Intent of Geometric Models

Design Intent of Geometric Models School of Computer Science Cardiff University Design Intent of Geometric Models Frank C. Langbein GR/M78267 GR/S69085/01 NUF-NAL 00638/G Massey University 22nd September 2004; Version 1.0 Design Intent

More information

A CONSISTENCY MAINTENANCE OF SHARED BOUNDARY AFTER POLYGON GENERALIZATION

A CONSISTENCY MAINTENANCE OF SHARED BOUNDARY AFTER POLYGON GENERALIZATION CO-182 A CONSISTENCY MAINTENANCE OF SHARED BOUNDARY AFTER POLYGON GENERALIZATION AI T.(1), ZHANG W.(2) (1) Wuhan University, WUHAN CITY, CHINA ; (2) Zhongnan University of Economics and Law, WUHAN CITY,

More information

Generalized Coordinates for Cellular Automata Grids

Generalized Coordinates for Cellular Automata Grids Generalized Coordinates for Cellular Automata Grids Lev Naumov Saint-Peterburg State Institute of Fine Mechanics and Optics, Computer Science Department, 197101 Sablinskaya st. 14, Saint-Peterburg, Russia

More information

Revision of Inconsistent Orthographic Views

Revision of Inconsistent Orthographic Views Journal for Geometry and Graphics Volume 2 (1998), No. 1, 45 53 Revision of Inconsistent Orthographic Views Takashi Watanabe School of Informatics and Sciences, Nagoya University, Nagoya 464-8601, Japan

More information

2 The BEinGRID Project

2 The BEinGRID Project 2 The BEinGRID Project Theo Dimitrakos 2.1 Introduction Most of the results presented in this book were created within the BEinGRID project. BEinGRID, Business Experiments in GRID, is the European Commission

More information

ITT Technical Institute. DT2630 3D Modeling and Visualization Onsite and Online Course SYLLABUS

ITT Technical Institute. DT2630 3D Modeling and Visualization Onsite and Online Course SYLLABUS ITT Technical Institute DT2630 3D Modeling and Visualization Onsite and Online Course SYLLABUS Credit hours: 4.5 Contact/Instructional hours: 56 (34 Theory Hours, 22 Lab Hours) Prerequisite(s) and/or Corequisite(s):

More information

COMPUTER SIMULATION OF COMPLEX SYSTEMS USING AUTOMATA NETWORKS K. Ming Leung

COMPUTER SIMULATION OF COMPLEX SYSTEMS USING AUTOMATA NETWORKS K. Ming Leung POLYTECHNIC UNIVERSITY Department of Computer and Information Science COMPUTER SIMULATION OF COMPLEX SYSTEMS USING AUTOMATA NETWORKS K. Ming Leung Abstract: Computer simulation of the dynamics of complex

More information

CS4758: Rovio Augmented Vision Mapping Project

CS4758: Rovio Augmented Vision Mapping Project CS4758: Rovio Augmented Vision Mapping Project Sam Fladung, James Mwaura Abstract The goal of this project is to use the Rovio to create a 2D map of its environment using a camera and a fixed laser pointer

More information

COMPUTER AIDED ARCHITECTURAL GRAPHICS FFD 201/Fall 2013 HAND OUT 1 : INTRODUCTION TO 3D

COMPUTER AIDED ARCHITECTURAL GRAPHICS FFD 201/Fall 2013 HAND OUT 1 : INTRODUCTION TO 3D COMPUTER AIDED ARCHITECTURAL GRAPHICS FFD 201/Fall 2013 INSTRUCTORS E-MAIL ADDRESS OFFICE HOURS Özgür Genca ozgurgenca@gmail.com part time Tuba Doğu tubadogu@gmail.com part time Şebnem Yanç Demirkan sebnem.demirkan@gmail.com

More information

iserver Free Archimate ArchiMate 1.0 Template Stencil: Getting from Started Orbus Guide Software Thanks for Downloading the Free ArchiMate Template! Orbus Software have created a set of Visio ArchiMate

More information

Fausto Giunchiglia and Mattia Fumagalli

Fausto Giunchiglia and Mattia Fumagalli DISI - Via Sommarive 5-38123 Povo - Trento (Italy) http://disi.unitn.it FROM ER MODELS TO THE ENTITY MODEL Fausto Giunchiglia and Mattia Fumagalli Date (2014-October) Technical Report # DISI-14-014 From

More information

DEVELOPING A THREE-DIMENSIONAL TOPOLOGICAL DATA MODEL

DEVELOPING A THREE-DIMENSIONAL TOPOLOGICAL DATA MODEL DEVELOPING A THREE-DIMENSIONAL TOPOLOGICAL DATA MODEL Saadi MESGARI International Institute for Aerospace Survey and Earth Sciences (ITC) The Netherlands Mesgari@itc.nl Working Group IC/16 KEY WORDS: Data

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

Sequence Related IT Functions for String Based Update Operations by New Operational Transformation Algorithms for Wide-Area Collaborative Applications

Sequence Related IT Functions for String Based Update Operations by New Operational Transformation Algorithms for Wide-Area Collaborative Applications Sequence Related IT Functions for String Based Update Operations by New Operational Transformation Algorithms for Wide-Area Collaborative Applications 1 Santosh kumawat 2 Ajay Khunteta Mtech Scholar Asst

More information

Graph Matching: Fast Candidate Elimination Using Machine Learning Techniques

Graph Matching: Fast Candidate Elimination Using Machine Learning Techniques Graph Matching: Fast Candidate Elimination Using Machine Learning Techniques M. Lazarescu 1,2, H. Bunke 1, and S. Venkatesh 2 1 Computer Science Department, University of Bern, Switzerland 2 School of

More information

DesignMinders: A Design Knowledge Collaboration Approach

DesignMinders: A Design Knowledge Collaboration Approach DesignMinders: A Design Knowledge Collaboration Approach Gerald Bortis and André van der Hoek University of California, Irvine Department of Informatics Irvine, CA 92697-3440 {gbortis, andre}@ics.uci.edu

More information

Petri-net-based Workflow Management Software

Petri-net-based Workflow Management Software Petri-net-based Workflow Management Software W.M.P. van der Aalst Department of Mathematics and Computing Science, Eindhoven University of Technology, P.O. Box 513, NL-5600 MB, Eindhoven, The Netherlands,

More information

Core Membership Computation for Succinct Representations of Coalitional Games

Core Membership Computation for Succinct Representations of Coalitional Games Core Membership Computation for Succinct Representations of Coalitional Games Xi Alice Gao May 11, 2009 Abstract In this paper, I compare and contrast two formal results on the computational complexity

More information

Building Information Modeling

Building Information Modeling Chapter Building Information Modeling 1 Building information modeling (BIM) is an integrated workflow built on coordinated, reliable information about a project from design through construction and into

More information

UNIT 1 GEOMETRY TEMPLATE CREATED BY REGION 1 ESA UNIT 1

UNIT 1 GEOMETRY TEMPLATE CREATED BY REGION 1 ESA UNIT 1 UNIT 1 GEOMETRY TEMPLATE CREATED BY REGION 1 ESA UNIT 1 Traditional Pathway: Geometry The fundamental purpose of the course in Geometry is to formalize and extend students geometric experiences from the

More information

CS 445 HW#6 Solutions

CS 445 HW#6 Solutions CS 445 HW#6 Solutions Text problem 6.1 From the figure, x = 0.43 and y = 0.4. Since x + y + z = 1, it follows that z = 0.17. These are the trichromatic coefficients. We are interested in tristimulus values

More information

Usability Evaluation as a Component of the OPEN Development Framework

Usability Evaluation as a Component of the OPEN Development Framework Usability Evaluation as a Component of the OPEN Development Framework John Eklund Access Testing Centre and The University of Sydney 112 Alexander Street, Crows Nest NSW 2065 Australia johne@testingcentre.com

More information

Figure 1: From Left to Right, General Venn Diagrams for One, Two, and Three Sets

Figure 1: From Left to Right, General Venn Diagrams for One, Two, and Three Sets 2.3. VENN DIAGRAMS & SET OPERATIONS In this section we introduce Venn diagrams and define four basic operations on sets. We also present some important properties related to these operations. Venn Diagrams

More information

Solids as point set. Solid models. Solid representation schemes (cont d) Solid representation schemes. Solid representation schemes (cont d)

Solids as point set. Solid models. Solid representation schemes (cont d) Solid representation schemes. Solid representation schemes (cont d) Solid models Solid models developed to address limitations of wireframe modeling. Attempt was to create systems which create only complete representations. Modelers would support direct creation of 3D

More information

Standards for Mathematics: Grade 1

Standards for Mathematics: Grade 1 Standards for Mathematics: Grade 1 In Grade 1, instructional time should focus on four critical areas: 1. developing understanding of addition, subtraction, and strategies for addition and subtraction

More information

Ohio Tutorials are designed specifically for the Ohio Learning Standards to prepare students for the Ohio State Tests and end-ofcourse

Ohio Tutorials are designed specifically for the Ohio Learning Standards to prepare students for the Ohio State Tests and end-ofcourse Tutorial Outline Ohio Tutorials are designed specifically for the Ohio Learning Standards to prepare students for the Ohio State Tests and end-ofcourse exams. Math Tutorials offer targeted instruction,

More information

SCOS-2000 Technical Note

SCOS-2000 Technical Note SCOS-2000 Technical Note MDA Study Prototyping Technical Note Document Reference: Document Status: Issue 1.0 Prepared By: Eugenio Zanatta MDA Study Prototyping Page: 2 Action Name Date Signature Prepared

More information

TYPES OF PARAMETRIC MODELLING

TYPES OF PARAMETRIC MODELLING Y. Ikeda, C. M. Herr, D. Holzer, S. Kaijima, M. J. J. Kim. M, A, A, Schnabel (eds.), Emerging Experiences of in Past, the Past, Present Present and and Future Future of Digital of Digital Architecture,

More information

Representing Symbolic Reasoning

Representing Symbolic Reasoning Representing Symbolic Reasoning Brian Mastenbrook and Eric Berkowitz 1400 N. Roosevelt Blvd. Schaumburg, IL 60173 chandler@acm.roosevelt.edu eric@cs.roosevelt.edu Abstract Introspection is a fundamental

More information

Building Information Modeling

Building Information Modeling Chapter Building Information Modeling 1 Building information modeling (BIM) is an integrated workflow built on coordinated, reliable information about a project from design through construction and into

More information

Autodesk Vault and Data Management Questions and Answers

Autodesk Vault and Data Management Questions and Answers Autodesk Civil 3D 2007 Autodesk Vault and Data Management Questions and Answers Autodesk Civil 3D software is a powerful, mature, civil engineering application designed to significantly increase productivity,

More information

S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A

S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A G R A M S ) WHAT IS CLASS DIAGRAM? A class diagram

More information

1. INTRODUCTION. AMS Subject Classification. 68U10 Image Processing

1. INTRODUCTION. AMS Subject Classification. 68U10 Image Processing ANALYSING THE NOISE SENSITIVITY OF SKELETONIZATION ALGORITHMS Attila Fazekas and András Hajdu Lajos Kossuth University 4010, Debrecen PO Box 12, Hungary Abstract. Many skeletonization algorithms have been

More information

The Architecture of Federations From Process to Software

The Architecture of Federations From Process to Software The Architecture of Federations From Process to Software (Position Paper) First Working IFIP Conference on Software Architecture 22-24 February 1999, San Antonio, TX, USA J. Estublier, Y. Ledru, P.Y. Cunin

More information

6. CAD SOFTWARE. CAD is a really useful tool for every engineer, and especially for all the designers.

6. CAD SOFTWARE. CAD is a really useful tool for every engineer, and especially for all the designers. 6. CAD SOFTWARE CAD is a really useful tool for every engineer, and especially for all the designers. Not only because it makes drawing easier, but because it presents the advantage that if any detail

More information

Introducing Collaboration to Single User Applications

Introducing Collaboration to Single User Applications Introducing Collaboration to Single User Applications Abstract Brian Cornell UNC Chapel Hill brian@cs.unc.edu Most research in collaborative systems has been based on designing an ideal system from ground

More information

An Information Model for High-Integrity Real Time Systems

An Information Model for High-Integrity Real Time Systems An Information Model for High-Integrity Real Time Systems Alek Radjenovic, Richard Paige, Philippa Conmy, Malcolm Wallace, and John McDermid High-Integrity Systems Group, Department of Computer Science,

More information

4D CONSTRUCTION SEQUENCE PLANNING NEW PROCESS AND DATA MODEL

4D CONSTRUCTION SEQUENCE PLANNING NEW PROCESS AND DATA MODEL 4D CONSTRUCTION SEQUENCE PLANNING NEW PROCESS AND DATA MODEL Jan Tulke 1, Jochen Hanff 2 1 Bauhaus-University Weimar, Dept. Informatics in Construction, Germany 2 HOCHTIEF ViCon GmbH,Essen, Germany ABSTRACT:

More information

The Geometry of Carpentry and Joinery

The Geometry of Carpentry and Joinery The Geometry of Carpentry and Joinery Pat Morin and Jason Morrison School of Computer Science, Carleton University, 115 Colonel By Drive Ottawa, Ontario, CANADA K1S 5B6 Abstract In this paper we propose

More information

Evolutionary form design: the application of genetic algorithmic techniques to computer-aided product design

Evolutionary form design: the application of genetic algorithmic techniques to computer-aided product design Loughborough University Institutional Repository Evolutionary form design: the application of genetic algorithmic techniques to computer-aided product design This item was submitted to Loughborough University's

More information

Joint Entity Resolution

Joint Entity Resolution Joint Entity Resolution Steven Euijong Whang, Hector Garcia-Molina Computer Science Department, Stanford University 353 Serra Mall, Stanford, CA 94305, USA {swhang, hector}@cs.stanford.edu No Institute

More information

DERIVING TOPOLOGICAL RELATIONSHIPS BETWEEN SIMPLE REGIONS WITH HOLES

DERIVING TOPOLOGICAL RELATIONSHIPS BETWEEN SIMPLE REGIONS WITH HOLES DERIVING TOPOLOGICAL RELATIONSHIPS BETWEEN SIMPLE REGIONS WITH HOLES Mark McKenney, Reasey Praing, and Markus Schneider Department of Computer and Information Science & Engineering, University of Florida

More information

Computer-Aided Design Facilities Management System for Geneva International Airport

Computer-Aided Design Facilities Management System for Geneva International Airport Computer-Aided Design Facilities Management System for Geneva International Airport Eperon Informatique Technique SA - Pierre-Alain Eperon, PhD Abstract Geneva International Airport uses a comprehensive

More information

How useful is the UML profile SPT without Semantics? 1

How useful is the UML profile SPT without Semantics? 1 How useful is the UML profile SPT without Semantics? 1 Susanne Graf, Ileana Ober VERIMAG 2, avenue de Vignate - F-38610 Gières - France e-mail:{susanne.graf, Ileana.Ober}@imag.fr http://www-verimag.imag.fr/~{graf,iober}

More information

Chapter 9. Software Testing

Chapter 9. Software Testing Chapter 9. Software Testing Table of Contents Objectives... 1 Introduction to software testing... 1 The testers... 2 The developers... 2 An independent testing team... 2 The customer... 2 Principles of

More information