CoDesign A Highly Extensible Collaborative Software Modeling Framework

Size: px
Start display at page:

Download "CoDesign A Highly Extensible Collaborative Software Modeling Framework"

Transcription

1 CoDesign A Highly Extensible Collaborative Software Modeling Framework Jae young Bang, Daniel Popescu, George Edwards, and Nenad Medvidovic University of Southern California Los Angeles, CA , USA {jaeyounb, dpopescu, gedwards, neno}@usc.edu Naveen Kulkarni, Girish M. Rama, and Srinivas Padmanabhuni Infosys Technologies Limited Bangalore , India {Naveen_Kulkarni, Girish_Rama, srinivas_p}@infosys.com ABSTRACT Large, multinational software development organizations face a number of issues in supporting software design and modeling by geographically distributed architects. To address these issues, we present CoDesign, an extensible, collaborative, event-based software modeling framework developed in a distributed, collaborative setting by our two organizations. CoDesign s core capabilities include real-time model synchronization between geographically distributed architects, as well as detection and resolution of a range of modeling conflicts via several off-the-shelf conflict detection engines. 1. INTRODUCTION In recent years, many technology companies have transferred significant portions of their software development activities to emerging economies such as India and China [15]. At the same time, many stakeholders, such as customers and requirements engineers, remain in developed countries. As a result, companies have created global software development teams in which engineers are separated by large geographic distances. While the economic advantages of distributed software development are real, communication challenges must be overcome in order to fully realize these advantages. Convincing evidence shows that geographic separation can drastically reduce communication among coworkers [6, 7, 13]. Irregular and ineffective communication typically prevents shared understanding of problems and solutions, and incurs redundant work during software development. In the past, global software teams relied on traditional IDEs that were developed for co-located development teams along with software configuration management (SCM) systems. SCM tools, such as CVS and Subversion, allow engineers to work on software artifacts independently and with reduced planning and coordination because they automat- Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. ICSE 10 Cape Town, South Africa Copyright 200X ACM X-XXXXX-XX-X/XX/XX...$ ically merge modifications and detect conflicting changes. However, SCM systems do not detect conflicts until the engineers check in changes, at which point unnecessary or useless effort may have already been expended. Furthermore, conflicts may be more difficult and time-consuming to resolve at this stage. To detect conflicts earlier and avoid costly conflict resolution, collaborative IDEs have become a popular mechanism to provide engineers with awareness of the concurrent development activities of their coworkers [1, 3, 5, 14]. Most collaborative IDEs detect conflicting concurrent modifications to the same artifact such as the same file and provide real-time notifications of these obvious, direct conflicts. A more limited number of collaborative IDEs also detect indirect conflicts that require more rigorous analysis [5, 14]. For example, if one engineer changes the implementation of a component while another engineer concurrently modifies the component s interface, an indirect conflict could result. Current collaborative IDEs primarily focus on distributed programming. Other critical development tasks, particularly architecture design and modeling, are not readily supported, even though these activities require frequent interactions among team members and short feedback cycles [2]. As a result, geographically-distributed software architects still create and edit their models in traditional modeling environments and check-in their changes to a repository using an SCM system. Of course, this results in all the same problems noted above that collaborative IDEs help to solve. Like collaborative IDEs for programmers, software architects need collaborative modeling environments that detect conflicts in real-time, rather than waiting for a check-in action. We present CoDesign, a collaborative software modeling environment that supports system design in geographically distributed work settings. A conceptual view of CoDesign is depicted in Figure 1. At its core, CoDesign relies on CoWare, a lightweight middleware platform that (1) provides the integration infrastructure, (2) synchronizes concurrent edits made in distributed CoDesign instances, and (3) notifies architects of conflicting modeling decisions. CoDesign s main contribution is an extensible conflict detection framework for collaborative modeling. CoDesign utilizes an event-based architecture [16] in which highly-decoupled components different instances of CoDesign exchange messages via implicit invocation, allowing flexible system composition and adaptation. CoDesign couples this event-based

2 Figure 1: High-Level Architecture of CoDesign. architecture with an API that provides explicit extension points for plugging in conflict detection engines. This allows different CoDesign clients (e.g., a UML modeling tool or a finite state machine modeling tool) to be paired with the most appropriate consistency checkers. It also allows multiple consistency checkers to be used in concert, in order to handle different types of modeling inconsistencies (see Section 2). To demonstrate this capability of CoDesign, we have integrated three off-the-shelf conflict detection engines: Drools [8], Jess [9], and a metamodel checker [4]. In Section 2, we classify the types of conflicts that can occur during collaborative distributed architectural modeling. Section 3 then explains the architecture and implementation of CoDesign, with a particular focus on CoDesign s extensibility mechanism. The paper concludes with a summary of lessons learned and a discussion of planned future work. 2. DESIGN-TIME CONFLICTS When designing distributed collaborative systems, it is necessary to understand the potential issues and conflicts caused by modeling events that are generated simultaneously in remote locations. Two categories of issues may occur in collaborative software modeling over the network: parallel modification and modeling conflicts. Parallel modification represents a situation when multiple architects modify the same modeling object or multiple objects that are very close in a model, e.g., an object and its parent. Parallel modification need not manifest itself as a conflict. However, detecting it and notifying the architects may be crucial as a warning to exercise caution and avoid future conflicts. For example, even though two simultaneous modifications to an object and its parent may be consistent with one another, each of the architects making one of those modifications may be unaware of the other architect s actions and may be more likely to make subsequent changes that will, in fact, result in a conflict. A conflict, as we define it, is an issue that is engendered by synchronization latency, that is, when one architect makes a design decision that cannot be reconciled with another design decision that was made previously but that has not yet been synchronized with the architect s local model data (i.e., with the local CoDesign Instance in Figure 1). Because of their nature, decentralized systems cannot always be perfectly synchronized, inducing the architects to make such potentially erroneous decisions. We categorize modeling-level conflicts into three classes based on the rules that the system modeling events violate: (1) synchronization, (2) syntactic, and (3) semantic conflicts. Each category is briefly elaborated next. Synchronization conflicts can be resolved with little or no human intervention. For example, if an architect removes a class from a system model and another architect decides to add an attribute to the same class before the removal event arrives, those two events would result in inconsistent states in the two CoDesign instances. This type of conflict would not happen if the two architects were in the same workspace, since the removal event would be instantly recorded and the class would no longer be there for the second architect to modify. Although synchronization conflicts are the simplest of the three conflict types, they are the most common and thus must be detected and resolved efficiently and scalably. Syntactic conflicts violate a modeling tool s or language s meta-model constraints. Suppose, e.g., that an architect connects an instance a1 of class A with an instance b1 of class B and, before the connection addition event arrives, another architect connects a1 and a new instance b2 of class B. If the cardinality constraint of the meta-model allows class A to have an association to only one instance of class B, this becomes a conflict that would likely not have occurred if the two architects were co-located. When the modeling tool such as CoDesign receives the second event, the tool s meta-model constraint checker will detect an error. Alternatively, the tool could experience an unexpected crash if it does not support syntactic conflict detection. Either way, unlike the synchronization conflicts, the resolution of syntactic conflicts will typically require human intervention. Unlike the synchronization and syntactic conflicts, semantic conflicts reflect violations in the intended, implicit rules by which a system s model should abide. For example, a collaboratively completed design in a given architecture description language (ADL) [16] may have no irreconcilable events on the same model elements (i.e., no synchronization conflicts) and no violations of the ADL s grammar (i.e., no syntactic conflicts). However, the model may be modified in a way that violates, e.g., the rules of the underlying design style. As a simple example, let us assume that the intended style is client-server. An architect may model component C1 to make direct requests of component C2 in the system; the implication of this is that C1 is a client and C2 is a server. Another architect may, however, model component C2 to make direct requests of component C1 ; the implication of this interaction dependency is that C1 is, in fact, a server and C2 a client. Hence, the same component is erroneosly modeled both as a client and a server. Again, the language in which the model is specified (e.g., UML) may not consider this a conflict. In order to be properly checked for, this semantic rule would have to be specified externally (e.g., in the Object Constraint Language, or OCL). As with syntactic conflicts, semantic conflicts such as the one illustrated

3 Architect GME (Modeling Tool) Event Handler GME API (BON) Update Handler CoDesign/CoWare Connector CoDesign GME Adapter Conflict-free Events Event Queue Prism Connector Login GUI Conflict-free Events Conflict-free Events User Information Conflict Notifications & Broadcasted Conflict-free Events User Information & User Information User DB DB Connector User Information User Management User Information Conflicts Drools Prism Connector Conflict Detector Conflict-free Events Conflict Detector Connector Event Storage GME Metamodel Checker Conflicts Conflicts Conflict Notifications Events CoWare Client Architect-side CoWare Server Server-side Figure 2: CoDesign s Architecture. The double-lined polygons represent off-the-shelf software. above can only be highlighted by a tool such as CoDesign, but cannot be resolved without human intervention. 3. CODESIGN In this section, we describe CoDesign s architecture and mechanism for enabling the integration of off-the-shelf (OTS) conflict detection engines. As mentioned previously, CoDesign aims to support integration of a variety of modeling languages and environments. Since modeling languages differ in the way their syntax and semantics are defined, CoDesign allows distributed architecture teams to use their own specific conflict detection engines rather than attempting to provide a general-purpose conflict detection engine. Section 3.1 provides an example use case scenario of a collaborative conflict that helps to describe CoDesign s architecture. Section 3.2 describes CoDesign s conflict detection extension points and the integration and customization of two OTS components for conflict detection; other such components (e.g., Jess) have been integrated in the same manner. 3.1 CoDesign s Architecture CoDesign uses a modeling tool-specific adapter (comprising a CoDesign Instance in Figure 1) to capture design decisions, in the form of model updates, from architecture modeling tools. Each model update is subsequently encapsulated within a CoWare design event and is transferred through the CoWare infrastructure. A CoWare Client is installed at each architect location to connect a CoDesign adapter to a CoWare Server, which is running a Conflict Detector module. The design events are forwarded from the CoDesign adapter, through the CoWare Client and CoWare Server, to the Conflict Detector. The Conflict Detector evaluates each event to determine whether it conflicts with any previous event(s) by requesting all plugged-in conflict detection engines to analyze the event. The CoWare Server broadcasts each event back to all CoWare Clients only if all plugged-in conflict detection modules affirm that the design event does not cause any conflict. However, if a conflict exists, CoWare (1) tries to resolve the conflict by itself and (2) alerts those architects involved in the conflict by generating a notification message. Figure 2 depicts our implementation. We use three offthe-shelf software components: (1) GME [4], a software modeling tool from Vanderbilt University, (2) Drools [8], a rule-based business logic integration platform developed by the JBoss community, and (3) Prism-MW [12], an eventbased middleware platform created at the University of Southern California. As noted above, the use of GME with CoDesign requires a GME-CoDesign Adapter. The adapter captures design decisions made by architects using GME via GME s native API, packages them within Prism-MW events, and transfers them to the CoWare Client. The CoWare Client receives the events and utilizes Prism-MW s connector facilities to send them to the Conflict Detector in the CoWare Server. In this particular CoDesign configuration, we use Drools to detect synchronization conflicts, GME s native metamodel checker to detect syntactic conflicts and GME s OCL constraint checker to detect semantic conflicts. As a simple scenario of conflict detection, suppose an architect A1 deletes a design element e1 from her model in GME. Once the Prism-MW event generated by this design decision arrives at the Conflict Detector, each plugged-in conflict detection engine will analyze it. The GME metamodel checker and Drools respond that the event does not cause a conflict. Both engines may also store the event temporarily or permanently, depending on the circumstances. The CoWare Server then broadcasts the event back to all CoWare Clients except the original sender, A1. Now suppose another architect A2 changes the geometric location of e1 before the remote deletion event is applied to her local model data. The event is sent to the Conflict

4 Detector via the same route, and this time the Drools engine detects that the model update applies to an object that no longer exists. CoWare does not broadcast the location event, and since the intentions of the two architects differ, CoWare notifies the involved architects to ensure that they are aware of the situation. 3.2 Extending CoDesign We illustrate CoDesign s support for integrating and customizing conflict detection engines using two example engines: Drools and GME s metamodel checker. Detecting synchronization conflicts using Drools: Drools is a production rule system that can be used to detect complex events [11]. Drools evaluates whether a production rule triggers based on the facts it receives and computes. A production rule follows a simple pattern: when <condition> then <action>. A complex event(e.g., a synchronization conflict) is a pattern-based abstraction of other events and can also be evaluated using production rule systems [10]. Whenever CoDesign s Drools customization receives a CoDesign event to evaluate, it adds the event to its working memory and evaluates all synchronization conflict rules. Figure 3 shows a simplified example of a Drools rule that detects when one CoDesign client changes a model element that had already been deleted by another CoDesign client. CoDesign is able to detect modifications to the same model elements because all distributed instances of a model element have a single objectid in every CoDesign client. Detecting syntactic and semantic conflicts using GME: In the CoDesign configuration described thus far, GME is used as the system modeling environment. Hence, this CoDesign configuration s syntactic and semantic conflict detection engines need to understand the syntax and semantic constraints of GME models. To ensure that syntactic and semantic conflicts are detected early, we reused and integrated the relevant components of GME. GME s metamodel checker contains the logic that manages the data model and checks whether executing a received CoDesign event keeps the data model consistent with its meta-model. Integrating conflict engines into CoDesign: To integrate an OTS conflict engine, we need to implement an adapter connector to translate CoWare events into invocations of the conflict engine s API and to tie the results returned by the conflict engine back to the conflicting events (see Figure 2). The Conflict Detector component checks each event that the CoWare Server receives from the CoDesign Clients. Since the Conflict Detector is unaware of the syntax and the semantic constraints of the edited models, it does not itself check whether an event causes a conflict but forwards each event to the Conflict Detector Connector. The Conflict Detector Connector distributes the event to each 1 rule Object was e d i t e d a f t e r 2 i t had a l r e a d y been removed 3 when 4 $e1 : Event ( name == remove ) 5 $e2 : Event ( $e1. objectid == objectid, 6 timestamp > $e1. timestamp ) 7 then 8 out. send ( new C o n f l i c t E v e n t ( $e1, $e2 ) ; 9 end Figure 3: Synchronization Conflict Detection Rule integrated conflict detection engine, which in turn evaluate the received event in parallel. The results are returned to the connector and evaluated by the Conflict Detector, which notifies the CoDesign Clients in the case of conflicts. 4. CONCLUSION AND FUTURE WORK CoDesign is a software modeling infrastructure, developed collaboratively at our two institutions, that supports real-time model synchronization between geographically distributed software architects, as well as detection and resolution of syntactic and semantic modeling conflicts. While CoDesign is a mature prototype, the work on CoDesign is on-going. We are investigating the root causes of designtime conflicts, the relationships between conflict types and modeling activities, and conflicts caused by complex event sequences, such as those caused by many parallel events. Since we are a geographically distributed team, CoDesign has presented a unique opportunity for reflective use in its own design and implementation. In turn, this has allowed us to test first-hand its scalability, efficiency, and extensibility. 5. REFERENCES [1] J. T. Biehl et al. Fastdash: a visual dashboard for fostering awareness in software teams. In Proc. CHI [2] M. Cataldo et al. Camel: A tool for collaborative distributed software design. In Proc. ICGSE [3] L.-T. Cheng et al. Jazzing up eclipse with collaborative tools. In Proc. OOPSLA Workshop on Eclipse Technology exchange. ACM, [4] GME. [5] R. Hegde and P. Dewan. Connecting programming environments to support ad-hoc collaboration. In Proc. ASE [6] J. Herbsleb. Global Software Engineering: The Future of Socio-technical Coordination. In ICSE: 2007 Future of Software Engineering. ACM, [7] P. J. Hinds and D. E. Bailey. Out of sight, out of sync: Understanding conflict in distributed teams. Organization Science, 14(6): , [8] jboss Drools. [9] Jess. [10] G. Li and H.-A. Jacobsen. Composite subscriptions in content-based publish/subscribe systems. In Proc. Middleware, [11] D. Luckham. The power of events: an introduction to complex event processing in distributed enterprise systems. Springer, [12] S. Malek et al. A style-aware architectural middleware for resource-constrained, distributed systems. IEEE TSE, pages , [13] G. M. Olson and J. S. Olson. Distance matters. Human-Computer Interaction, 15(2): , [14] A. Sarma et al. Towards supporting awareness of indirect conflicts across software configuration management workspaces. In Proc. ASE ACM. [15] B. Sengupta et al. A research agenda for distributed software development. In Proc. ICSE [16] R. N. Taylor et al. Software Architecture: Foundations, Theory, and Practice. John Wiley & Sons, 2009.

5 CoDesign Demonstration Script Jae young Bang, Daniel Popescu, George Edwards, Nenad Medvidovic Computer Science Department University of Southern California Naveen Kulkarni, Girish M. Rama, and Srinivas Padmanabhuni Infosys Technologies Limited Bangalore , India The CoDesign research demonstration will begin after a short presentation highlighting the main points of the accompanying research paper. The short presentation will explain: The motivation of the work why a collaborative software modeling infrastructure is needed. We will give examples of software development off-shoring, explain the development of collaborative software design systems, and introduce the overview of the project. The theoretical foundations of our approach how we categorized and defined the potential issues created by geographically distributed software modeling. We have grouped the issues, which we refer as conflicts, into three categories: (1) synchronization conflicts, which are directly conflicting design decisions that occur due to the latency between distributed architects, (2) syntactic conflicts, which are design decisions that cannot be simultaneously accommodated by the metamodel of the modeling tool or language being used, and (3) semantic conflicts, which are design decisions that break the intended rules of the system being modeled. We define the terms using examples since the definitions of these terms vary based on context. The CoDesign architecture how we detect and resolve conflicts. We discuss how extensibility is achieved and the roles of components in the high-level CoDesign architecture. We show the implementation of the architecture and the list of research off-the-shelf software used in the system. We will then begin our demonstration. In this demonstration, we will use (1) GME, a software modeling tool created by Vanderbilt University, (2) Drools, a business logic integration platform developed by the JBoss Community, and (3) Prism-MW, a lightweight middleware created by the software architecture research group at USC. Start up: 1. An instance of the CoWare Server is initialized and waits for connections from CoWare Clients. 2. The plug-in conflict detection engines within the CoWare Server are instantiated automatically as CoWare Server initializes. Figure 1: CoWare Server Initialization 3. Two or more architects (depending on the projection equipment in the demonstration room) denoted A 1 A n connect CoWare Clients to the CoWare Server. Each architect logs in with a unique user ID and password.

6 The action of A 2 creates a conflict through modification of an object that no longer exists. CoWare detects the conflict and notifies the architects. The notification includes information about the conflict, including (1) the identities of the architects involved, (2) the modeling elements involved, and (3) the actions that created the conflict. (See Figure 5) Figure 2: CoWare Client Start-up 4. After logging in, all architects receive identical copies of a design model from the CoWare Server. A diagram showing a portion of the design model is displayed on each architect s screen. Figure 5: Conflict Detection Figure 3: Screens after Model Check-out 5. Each of the architects makes a modification to a design element in the model, such as changing its attributes, relations, or location in the model hierarchy. All other architects see the changes in near real-time. Examples of Conflict Detection: 6. Synchronization Conflict Architect A 1 removes a modeling object, and Architect A 2 changes the geometric location of it before the remote removal event has arrived and been applied to the second architect s model data. We will (1) introduce an artificial delay in the event distribution and (2) color the relevant object(s) so that the audience may appreciate what is occurring. (See Figure 4) 7. Syntactic Conflict We show the metamodel for a client/server system in which each server can only support n clients. In the modeling environment, A 1 connects n clients to a server and A 2 connects an additional client to the server. CoWare detects the conflict and notifies the architects. 8. Semantic Conflict We show a set of OCL constraints for a component-based system. In this system, a component that makes requests of other components is a client, and a component that receives requests is a server. A component may not be both a client and a server. A 1 creates a design element indicating that component C 1 makes a request of component C 2. A 2 creates a design element indicating that component C 2 makes a request of component C 1. CoWare detects the conflict and notifies the architects. We conclude the demonstration by mentioning the potential of CoWare/CoDesign as an infrastructure for conducting additional research on collaborative modeling environments. Figure 4: Coloring Removed Objects

7 CoDesign Screenshots Jae young Bang, Daniel Popescu, George Edwards, Nenad Medvidovic Computer Science Department University of Southern California Naveen Kulkarni, Girish M. Rama, and Srinivas Padmanabhuni Infosys Technologies Limited Bangalore , India This screenshots document depicts an example conflict that two architects are collaboratively modeling at remote locations. Figure 1: CoWare Server Start-up As the first step, CoWare Server is turned on. Two architects then connect from CoWare Client to CoWare Server. The architects are requested to log in to CoWare. Figure 2: A1 initializes CoWare Client Figure 3: A2 Initializes CoWare Client

8 Figure 4: A1 s CoWare Client Status after Log-in Figure 5: A2's CoWare Client Status after Log-in Figure 6: CoWare Server Status after the Logging-in The architects turn on GME, and check out the current model data to join the remote modeling session. Figure 7: A1's Screen after Checking out the Model Figure 8: A2's Screen after Checking out the Model

9 The architect A1 moves a design element, and A2 sees the change on her/his screen after synchronization. Figure 9: A1's Screen after Moving an Element Figure 10: A2's Screen after Moving an Element The architect A1 removes a design element, and the element appears in red on A2 s screen. Figure 11: A1's Screen after the Removal Figure 12: A2's Screen after the Removal

10 The architect A2 changes the geometric location of removed object, which creates a synchronization conflict since A2 deletes an element that no longer exists in the model. CoDesign captures the conflict, and notifies both of them. Figure 13: A1 Receives a Conflict Notification Figure 14: A2 Receives a Conflict Notification Figure 15: CoWare Server Status after It Detects a Conflict between A1 and A2 The log of Conflict Detector shows that A1 and A2 have a conflict, and it sends conflict notification messages to both A1 and A2.

Computer Science Department, phone: +1 (213) 740-5211

Computer Science Department, phone: +1 (213) 740-5211 Jae young Bang Computer Science Department, phone: +1 (213) 740-5211 Viterbi School of Engineering, e-mail: jaeyounb@usc.edu University of Southern California, web: http://ronia.net Los Angeles, CA 90089

More information

Round-Trip Software Engineering Using UML: From Architecture to Design and Back

Round-Trip Software Engineering Using UML: From Architecture to Design and Back Round-Trip Software Engineering Using UML: From Architecture to Design and Back Nenad Medvidovic Alexander Egyed David S. Rosenblum Computer Science Department University of Southern California Los Angeles,

More information

Event-based middleware services

Event-based middleware services 3 Event-based middleware services The term event service has different definitions. In general, an event service connects producers of information and interested consumers. The service acquires events

More information

Applying 4+1 View Architecture with UML 2. White Paper

Applying 4+1 View Architecture with UML 2. White Paper Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was

More information

Collaborative Software Engineering: A Survey

Collaborative Software Engineering: A Survey Collaborative Software Engineering: A Survey Agam Brahma November 21, 2006 Abstract This paper surveys recent work in the field of collaborative software engineering and relates it to concepts discussed

More information

Analysis of Software Architectures

Analysis of Software Architectures Analysis of Software Architectures Software Architecture Lecture 13 Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Learning Objectives Define architectural analysis

More information

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL This chapter is to introduce the client-server model and its role in the development of distributed network systems. The chapter

More information

Best Practices: Extending Enterprise Applications to Mobile Devices

Best Practices: Extending Enterprise Applications to Mobile Devices Best Practices: Extending Enterprise Applications to Mobile Devices by Kulathumani Hariharan Summary: Extending enterprise applications to mobile devices is increasingly becoming a priority for organizations

More information

Integration of an open source rule engine to enhance the IHTSDO Workbench testing

Integration of an open source rule engine to enhance the IHTSDO Workbench testing Integration of an open source rule engine to enhance the IHTSDO Workbench testing Dr. Guillermo Reynoso Dr. Alejandro Lopez Osornio termmed IT Buenos Aires, Argentina 2009 termmed SA Terminology maintenance

More information

The Role of Computers in Synchronous Collaborative Design

The Role of Computers in Synchronous Collaborative Design The Role of Computers in Synchronous Collaborative Design Wassim M. Jabi, The University of Michigan Theodore W. Hall, Chinese University of Hong Kong Abstract In this paper we discuss the role of computers

More information

Dynamism and Data Management in Distributed, Collaborative Working Environments

Dynamism and Data Management in Distributed, Collaborative Working Environments Dynamism and Data Management in Distributed, Collaborative Working Environments Alexander Kipp 1, Lutz Schubert 1, Matthias Assel 1 and Terrence Fernando 2, 1 High Performance Computing Center Stuttgart,

More information

How Software Architects Collaborate: Insights from Collaborative Software Design in Practice

How Software Architects Collaborate: Insights from Collaborative Software Design in Practice How Software s Collaborate: Insights from Collaborative Software Design in Practice Jae Young Bang, Ivo Krka, and Nenad Medvidovic University of Southern California 941 Bloom Walk, Los Angeles, California,

More information

Model Interpreter Frameworks: A Foundation for the Analysis of Domain-Specific Software Architectures

Model Interpreter Frameworks: A Foundation for the Analysis of Domain-Specific Software Architectures Journal of Universal Computer Science, vol. 14, no. 8 (2008), 1182-1206 submitted: 15/1/07, accepted: 25/3/08, appeared: 28/4/08 J.UCS Model Interpreter Frameworks: A Foundation for the Analysis of Domain-Specific

More information

q for Gods Whitepaper Series (Edition 7) Common Design Principles for kdb+ Gateways

q for Gods Whitepaper Series (Edition 7) Common Design Principles for kdb+ Gateways Series (Edition 7) Common Design Principles for kdb+ Gateways May 2013 Author: Michael McClintock joined First Derivatives in 2009 and has worked as a consultant on a range of kdb+ applications for hedge

More information

Peer-to-peer Face-to-face collaboration

Peer-to-peer Face-to-face collaboration Peer-to-peer Face-to-face collaboration Delfina Malandrino and Ilaria Manno ISISLab Dipartimento di Informatica ed Applicazioni R.M. Capocelli, Università di Salerno, 84081 Baronissi (Salerno), Italy.

More information

Software Configuration Management. Slides derived from Dr. Sara Stoecklin s notes and various web sources.

Software Configuration Management. Slides derived from Dr. Sara Stoecklin s notes and various web sources. Software Configuration Management Slides derived from Dr. Sara Stoecklin s notes and various web sources. What is SCM? SCM goals Manage the changes to documents, programs, files, etc. Track history Identify

More information

How to Ingest Data into Google BigQuery using Talend for Big Data. A Technical Solution Paper from Saama Technologies, Inc.

How to Ingest Data into Google BigQuery using Talend for Big Data. A Technical Solution Paper from Saama Technologies, Inc. How to Ingest Data into Google BigQuery using Talend for Big Data A Technical Solution Paper from Saama Technologies, Inc. July 30, 2013 Table of Contents Intended Audience What you will Learn Background

More information

Monitoring Infrastructure (MIS) Software Architecture Document. Version 1.1

Monitoring Infrastructure (MIS) Software Architecture Document. Version 1.1 Monitoring Infrastructure (MIS) Software Architecture Document Version 1.1 Revision History Date Version Description Author 28-9-2004 1.0 Created Peter Fennema 8-10-2004 1.1 Processed review comments Peter

More information

The Service Availability Forum Specification for High Availability Middleware

The Service Availability Forum Specification for High Availability Middleware The Availability Forum Specification for High Availability Middleware Timo Jokiaho, Fred Herrmann, Dave Penkler, Manfred Reitenspiess, Louise Moser Availability Forum Timo.Jokiaho@nokia.com, Frederic.Herrmann@sun.com,

More information

IBM Rational ClearCase, Version 8.0

IBM Rational ClearCase, Version 8.0 IBM Rational ClearCase, Version 8.0 Improve software and systems delivery with automated software configuration management solutions Highlights Improve software delivery and software development life cycle

More information

Beginning with SubclipseSVN

Beginning with SubclipseSVN Version 2 July 2007 Beginning with SubclipseSVN A user guide to begin using the Subclipse for source code management on the CropForge collaborative software development site. Copyright International Rice

More information

A Framework of Model-Driven Web Application Testing

A Framework of Model-Driven Web Application Testing A Framework of Model-Driven Web Application Testing Nuo Li, Qin-qin Ma, Ji Wu, Mao-zhong Jin, Chao Liu Software Engineering Institute, School of Computer Science and Engineering, Beihang University, China

More information

Chap 1. Introduction to Software Architecture

Chap 1. Introduction to Software Architecture Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)

More information

DANGER indicates that death or severe personal injury will result if proper precautions are not taken.

DANGER indicates that death or severe personal injury will result if proper precautions are not taken. Multi-User Systems 1 ArchiveServer 2 SIMATIC HMI WinCC V7.0 SP1 File Server 3 WinCC ServiceMode 4 Redundant Systems 5 System Manual Print of the Online Help 11/2008 Legal information Warning notice system

More information

A Monitored Student Testing Application Using Cloud Computing

A Monitored Student Testing Application Using Cloud Computing A Monitored Student Testing Application Using Cloud Computing R. Mullapudi and G. Hsieh Department of Computer Science, Norfolk State University, Norfolk, Virginia, USA r.mullapudi@spartans.nsu.edu, ghsieh@nsu.edu

More information

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

Tool Support for Software Variability Management and Product Derivation in Software Product Lines Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,

More information

Software Configuration Management over a Global Software Development Environment: Lessons Learned from a Case Study

Software Configuration Management over a Global Software Development Environment: Lessons Learned from a Case Study Software Configuration Management over a Global Software Development Environment: Lessons Learned from a Case Study Leonardo Pilatti Pontifícia Universidade Católica do Rio Grande do Sul + 55 (51) 3320-3558

More information

Christian Thum, Michael Schwind, Martin Schader

Christian Thum, Michael Schwind, Martin Schader Christian Thum, Michael Schwind, Martin Schader Agenda Motivation and Research Objectives Design Aspects The SLiM Collaboration Environment Conclusion - 2 - Motivation: Challenges in Collaborative Software

More information

GRAVITYZONE HERE. Deployment Guide VLE Environment

GRAVITYZONE HERE. Deployment Guide VLE Environment GRAVITYZONE HERE Deployment Guide VLE Environment LEGAL NOTICE All rights reserved. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, including

More information

A Model Repository for Collaborative Modeling with the Jazz Development Platform

A Model Repository for Collaborative Modeling with the Jazz Development Platform A Model Repository for Collaborative Modeling with the Jazz Development Platform Christian Bartelt University of Clausthal christian.bartelt@tu-clausthal.de Georg Molter Zühlke Engineering GmbH Georg.Molter@zuehlke.com

More information

The ADOxx Metamodelling Platform Workshop "Methods as Plug-Ins for Meta-Modelling" in conjunction with "Modellierung 2010", Klagenfurt

The ADOxx Metamodelling Platform Workshop Methods as Plug-Ins for Meta-Modelling in conjunction with Modellierung 2010, Klagenfurt The ADOxx Metamodelling Platform Workshop "Methods as Plug-Ins for Meta-Modelling" in conjunction with "Modellierung 2010", Klagenfurt Dr. Harald Kühn 24.03.2010 Agenda 1 Overview 2 Deployment and Integration

More information

Business Process. Automation. Automation. David Chernicoff Susan Perschke. sponsored by

Business Process. Automation. Automation. David Chernicoff Susan Perschke. sponsored by Business Process Automation Managing Cost in Your Automation Enterprise David Chernicoff Susan Perschke sponsored by i Contents Business Process Automation Managing Cost in Your Enterprise Chapter 4: BPA

More information

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems SOFT 437 Software Performance Analysis Ch 5:Web Applications and Other Distributed Systems Outline Overview of Web applications, distributed object technologies, and the important considerations for SPE

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2008 Vol. 7, No. 8, November-December 2008 What s Your Information Agenda? Mahesh H. Dodani,

More information

Configuration Management for Distributed Development

Configuration Management for Distributed Development Software Configuration Management Configuration Management for Distributed Development By Nina Rajkumar. Think Business Networks Pvt. Ltd., July 2001 All rights reserved. You may make one attributed copy

More information

Best Practices Report

Best Practices Report Overview As an IT leader within your organization, you face new challenges every day from managing user requirements and operational needs to the burden of IT Compliance. Developing a strong IT general

More information

Surround SCM Best Practices

Surround SCM Best Practices Surround SCM Best Practices This document addresses some of the common activities in Surround SCM and offers best practices for each. These best practices are designed with Surround SCM users in mind,

More information

PLUMgrid Toolbox: Tools to Install, Operate and Monitor Your Virtual Network Infrastructure

PLUMgrid Toolbox: Tools to Install, Operate and Monitor Your Virtual Network Infrastructure Toolbox: Tools to Install, Operate and Monitor Your Virtual Network Infrastructure Introduction The concept of Virtual Networking Infrastructure (VNI) is disrupting the networking space and is enabling

More information

On Preparing Students for Distributed Software Development with a Synchronous, Collaborative Development Platform

On Preparing Students for Distributed Software Development with a Synchronous, Collaborative Development Platform On Preparing Students for Distributed Software Development with a Synchronous, Collaborative Development Platform Andrew Meneely and Laurie Williams North Carolina State University Raleigh, NC, USA {apmeneel,

More information

CA Workload Automation Agents for Mainframe-Hosted Implementations

CA Workload Automation Agents for Mainframe-Hosted Implementations PRODUCT SHEET CA Workload Automation Agents CA Workload Automation Agents for Mainframe-Hosted Operating Systems, ERP, Database, Application Services and Web Services CA Workload Automation Agents are

More information

The Real Challenges of Configuration Management

The Real Challenges of Configuration Management The Real Challenges of Configuration Management McCabe & Associates Table of Contents The Real Challenges of CM 3 Introduction 3 Parallel Development 3 Maintaining Multiple Releases 3 Rapid Development

More information

Software Configuration Management. Context. Learning Objectives

Software Configuration Management. Context. Learning Objectives Software Configuration Management Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk Context Requirements Inception Elaboration Construction Transition

More information

Model Simulation in Rational Software Architect: Business Process Simulation

Model Simulation in Rational Software Architect: Business Process Simulation Model Simulation in Rational Software Architect: Business Process Simulation Mattias Mohlin Senior Software Architect IBM The BPMN (Business Process Model and Notation) is the industry standard notation

More information

WSO2 Business Process Server Clustering Guide for 3.2.0

WSO2 Business Process Server Clustering Guide for 3.2.0 WSO2 Business Process Server Clustering Guide for 3.2.0 Throughout this document we would refer to WSO2 Business Process server as BPS. Cluster Architecture Server clustering is done mainly in order to

More information

In-Time Project Status Notification for All Team Members in Global Software Development as Part of Their Work Environments

In-Time Project Status Notification for All Team Members in Global Software Development as Part of Their Work Environments In-Time Project Status Notification for All Team Members in Global Software Development as Part of Their Work Environments Dindin Wahyudin 1 Matthias Heindl 2 Ronald Berger 3 Alexander Schatten 1 Stefan

More information

Global Software Change Management for PVCS Version Manager

Global Software Change Management for PVCS Version Manager Global Software Change Management for PVCS Version Manager... www.ikanalm.com Summary PVCS Version Manager is considered as one of the leading versioning tools that offers complete versioning control.

More information

Towards Software Configuration Management for Test-Driven Development

Towards Software Configuration Management for Test-Driven Development Towards Software Configuration Management for Test-Driven Development Tammo Freese OFFIS, Escherweg 2, 26121 Oldenburg, Germany tammo.freese@offis.de Abstract. Test-Driven Development is a technique where

More information

Generating Aspect Code from UML Models

Generating Aspect Code from UML Models Generating Aspect Code from UML Models Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany Iris.Groher@fh-hagenberg.at Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,

More information

Agile Development with Jazz and Rational Team Concert

Agile Development with Jazz and Rational Team Concert Agile Development with Jazz and Rational Team Concert Mayank Parikh mayank.parikh.@in.ibm.com Acknowledgements: Thanks to Khurram Nizami for some of the slides in this presentation Agile Values: A Foundation

More information

Sybase Unwired Platform 2.0

Sybase Unwired Platform 2.0 white paper Sybase Unwired Platform 2.0 Development Paradigm www.sybase.com TABLE OF CONTENTS 1 Sybase Unwired Platform 1 Mobile Application Development 2 Mobile Business Object (MBO) Development 4 Mobile

More information

Architecture of a Software Configuration Management System for Globally Distributed Software Development Teams

Architecture of a Software Configuration Management System for Globally Distributed Software Development Teams Architecture of a Software Configuration Management System for Globally Distributed Software Development Teams Muhammad Wasim Bhatti Engineering Management Department CASE, Center for Advanced Studies

More information

Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools

Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools Michaela Rindt, Timo Kehrer, Udo Kelter Software Engineering Group University of Siegen {mrindt,kehrer,kelter}@informatik.uni-siegen.de

More information

DAVE Usage with SVN. Presentation and Tutorial v 2.0. May, 2014

DAVE Usage with SVN. Presentation and Tutorial v 2.0. May, 2014 DAVE Usage with SVN Presentation and Tutorial v 2.0 May, 2014 Required DAVE Version Required DAVE version: v 3.1.6 or higher (recommend to use the most latest version, as of Feb 28, 2014, v 3.1.10) Required

More information

CA Data Protection. Content Provider Development Guide. Release 15.0

CA Data Protection. Content Provider Development Guide. Release 15.0 CA Data Protection Content Provider Development Guide Release 15.0 This Documentation, which includes embedded help systems and electronically distributed materials (hereinafter referred to as the Documentation

More information

11 Tips to make the requirements definition process more effective and results more usable

11 Tips to make the requirements definition process more effective and results more usable 1 11 Tips to make the s definition process more effective and results more usable This article discusses what I believe are the key techniques for making s definition process repeatable from project to

More information

What is a life cycle model?

What is a life cycle model? What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each

More information

WHITE PAPER. Getting started with Continuous Integration in software development. - Amruta Kumbhar, Madhavi Shailaja & Ravi Shankar Anupindi

WHITE PAPER. Getting started with Continuous Integration in software development. - Amruta Kumbhar, Madhavi Shailaja & Ravi Shankar Anupindi WHITE PAPER Getting started with Continuous Integration in software development - Amruta Kumbhar, Madhavi Shailaja & Ravi Shankar Anupindi Introduction DevOps culture is gaining rapid momentum in the IT

More information

Aspects of Lyee Configuration Management

Aspects of Lyee Configuration Management Aspects of Lyee Configuration Management Volker GRUHN, Raschid IJIOUI, Dirk PETERS, Robert QUECK, Clemens SCHÄFER Chair for Applied Telematics / e-business, Universität Leipzig, Klostergasse 3, D-04109

More information

Skynax. Mobility Management System. System Manual

Skynax. Mobility Management System. System Manual Skynax Mobility Management System System Manual Intermec by Honeywell 6001 36th Ave. W. Everett, WA 98203 U.S.A. www.intermec.com The information contained herein is provided solely for the purpose of

More information

Understanding. Active Directory Replication

Understanding. Active Directory Replication PH010-Simmons14 2/17/00 6:56 AM Page 171 F O U R T E E N Understanding Active Directory Replication In previous chapters, you have been introduced to Active Directory replication. Replication is the process

More information

The Role of the Software Architect

The Role of the Software Architect IBM Software Group The Role of the Software Architect Peter Eeles peter.eeles@uk.ibm.com 2004 IBM Corporation Agenda Architecture Architect Architecting Requirements Analysis and design Implementation

More information

Ikasan ESB Reference Architecture Review

Ikasan ESB Reference Architecture Review Ikasan ESB Reference Architecture Review EXECUTIVE SUMMARY This paper reviews the Ikasan Enterprise Integration Platform within the construct of a typical ESB Reference Architecture model showing Ikasan

More information

ProGUM-Web: Tool Support for Model-Based Development of Web Applications

ProGUM-Web: Tool Support for Model-Based Development of Web Applications ProGUM-Web: Tool Support for Model-Based Development of Web Applications Marc Lohmann 1, Stefan Sauer 1, and Tim Schattkowsky 2 1 University of Paderborn, Computer Science, D 33095 Paderborn, Germany {mlohmann,sauer}@upb.de

More information

Developing SOA solutions using IBM SOA Foundation

Developing SOA solutions using IBM SOA Foundation Developing SOA solutions using IBM SOA Foundation Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 4.0.3 4.0.3 Unit objectives After completing this

More information

Self-* Software Architectures and Component Middleware in Pervasive Environments

Self-* Software Architectures and Component Middleware in Pervasive Environments Self-* Software Architectures and Component Middleware in Pervasive Environments George Edwards 1 Chiyoung Seo 1 Daniel Popescu 1 Sam Malek 2 Nenad Medvidovic 1 1 Computer Science Department University

More information

SavvyDox Publishing Augmenting SharePoint and Office 365 Document Content Management Systems

SavvyDox Publishing Augmenting SharePoint and Office 365 Document Content Management Systems SavvyDox Publishing Augmenting SharePoint and Office 365 Document Content Management Systems Executive Summary This white paper examines the challenges of obtaining timely review feedback and managing

More information

Keeping Databases in Sync during migration from z/os to a distributed platform

Keeping Databases in Sync during migration from z/os to a distributed platform Keeping Databases in Sync during migration from z/os to a distributed platform Avijit Goswami, PMP, ITIL, IBM Certified DB2 DBA, Sr. Technology Architect, Infosys Limited avijit_goswami@infosys.com Abstract

More information

Version Control with Subversion

Version Control with Subversion Version Control with Subversion Introduction Wouldn t you like to have a time machine? Software developers already have one! it is called version control Version control (aka Revision Control System or

More information

Features of AnyShare

Features of AnyShare of AnyShare of AnyShare CONTENT Brief Introduction of AnyShare... 3 Chapter 1 Centralized Management... 5 1.1 Operation Management... 5 1.2 User Management... 5 1.3 User Authentication... 6 1.4 Roles...

More information

REST Client Pattern. [Draft] Bhim P. Upadhyaya ABSTRACT

REST Client Pattern. [Draft] Bhim P. Upadhyaya ABSTRACT REST Client Pattern [Draft] Bhim P. Upadhyaya EqualInformation Chicago, USA bpupadhyaya@gmail.com ABSTRACT Service oriented architecture (SOA) is a common architectural practice in large enterprises. There

More information

CS 565 Business Process & Workflow Management Systems

CS 565 Business Process & Workflow Management Systems CS 565 Business Process & Workflow Management Systems Professor & Researcher Department of Computer Science, University of Crete & ICS-FORTH E-mail: dp@csd.uoc.gr, kritikos@ics.forth.gr Office: K.307,

More information

A Need-Based Collaboration Classification Framework

A Need-Based Collaboration Classification Framework A Need-Based Collaboration Classification Framework Anita Sarma, André van der Hoek and Li-Te Cheng Department of Informatics Donald Bren School of Info & Comp Sciences University of California Irvine

More information

Monitoring BPMN-Processes with Rules in a Distributed Environment

Monitoring BPMN-Processes with Rules in a Distributed Environment Monitoring BPMN-Processes with Rules in a Distributed Environment Lothar Hotz 1, Stephanie von Riegen 1, Lars Braubach 2, Alexander Pokahr 2, and Torsten Schwinghammer 3 1 HITeC e.v. c/o Fachbereich Informatik,

More information

Five best practices for deploying a successful service-oriented architecture

Five best practices for deploying a successful service-oriented architecture IBM Global Services April 2008 Five best practices for deploying a successful service-oriented architecture Leveraging lessons learned from the IBM Academy of Technology Executive Summary Today s innovative

More information

Microsoft Project Server 2010 Administrator's Guide

Microsoft Project Server 2010 Administrator's Guide Microsoft Project Server 2010 Administrator's Guide 1 Copyright This document is provided as-is. Information and views expressed in this document, including URL and other Internet Web site references,

More information

Chapter 5. Regression Testing of Web-Components

Chapter 5. Regression Testing of Web-Components Chapter 5 Regression Testing of Web-Components With emergence of services and information over the internet and intranet, Web sites have become complex. Web components and their underlying parts are evolving

More information

BPMN by example. Bizagi Suite. Copyright 2014 Bizagi

BPMN by example. Bizagi Suite. Copyright 2014 Bizagi BPMN by example Bizagi Suite Recruitment and Selection 1 Table of Contents Scope... 2 BPMN 2.0 Business Process Modeling Notation... 2 Why Is It Important To Model With Bpmn?... 2 Introduction to BPMN...

More information

Concern Driven Software Development

Concern Driven Software Development Concern Driven Software Development Omar Alam School of Computer Science, McGill University, Montreal, Canada Omar.Alam@mail.mcgill.ca Abstract Model Driven Engineering (MDE) has achieved success in many

More information

SOA @ ebay : How is it a hit

SOA @ ebay : How is it a hit SOA @ ebay : How is it a hit Sastry Malladi Distinguished Architect. ebay, Inc. Agenda The context : SOA @ebay Brief recap of SOA concepts and benefits Challenges encountered in large scale SOA deployments

More information

Pipeline Orchestration for Test Automation using Extended Buildbot Architecture

Pipeline Orchestration for Test Automation using Extended Buildbot Architecture Pipeline Orchestration for Test Automation using Extended Buildbot Architecture Sushant G.Gaikwad Department of Computer Science and engineering, Walchand College of Engineering, Sangli, India. M.A.Shah

More information

Software Engineering Best Practices. Christian Hartshorne Field Engineer Daniel Thomas Internal Sales Engineer

Software Engineering Best Practices. Christian Hartshorne Field Engineer Daniel Thomas Internal Sales Engineer Software Engineering Best Practices Christian Hartshorne Field Engineer Daniel Thomas Internal Sales Engineer 2 3 4 Examples of Software Engineering Debt (just some of the most common LabVIEW development

More information

Basic Concepts. Software Architecture Lecture 3. Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved.

Basic Concepts. Software Architecture Lecture 3. Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Basic Concepts Software Architecture Lecture 3 Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Learning Objectives Formally define software architecture Distinguish

More information

Eclipse as a Platform for Research on Interruption Management in Software Development

Eclipse as a Platform for Research on Interruption Management in Software Development Eclipse as a Platform for Research on Interruption Management in Software Development Uri Dekel ISRI, School of Computer Science Carnegie Mellon University 5000 Forbes Avenue, Pittsburgh, PA 15213 udekel@cs.cmu.edu

More information

Business Modeling with UML

Business Modeling with UML Business Modeling with UML Hans-Erik Eriksson and Magnus Penker, Open Training Hans-Erik In order to keep up and be competitive, all companies Ericsson is and enterprises must assess the quality of their

More information

EMC DOCUMENTUM MANAGING DISTRIBUTED ACCESS

EMC DOCUMENTUM MANAGING DISTRIBUTED ACCESS EMC DOCUMENTUM MANAGING DISTRIBUTED ACCESS This white paper describes the various distributed architectures supported by EMC Documentum and the relative merits and demerits of each model. It can be used

More information

New Generation of Software Development

New Generation of Software Development New Generation of Software Development Terry Hon University of British Columbia 201-2366 Main Mall Vancouver B.C. V6T 1Z4 tyehon@cs.ubc.ca ABSTRACT In this paper, I present a picture of what software development

More information

White Paper. CCRM Services on Cloud Benefits of Private Cloud for CCRM Services. Abstract. - Krishna Vaddadi

White Paper. CCRM Services on Cloud Benefits of Private Cloud for CCRM Services. Abstract. - Krishna Vaddadi White Paper CCRM Services on Cloud Benefits of Private Cloud for CCRM Services - Krishna Vaddadi Abstract Configuration, Change and Release Management (CCRM) activities are the primary deliverables in

More information

Exploring Architectural Design Decision Management Paradigms for Global Software Development

Exploring Architectural Design Decision Management Paradigms for Global Software Development Exploring Architectural Design Decision Management Paradigms for Global Software Development Meiru Che, Dewayne E. Perry Department of Electrical & Computer Engineering The University of Texas at Austin

More information

Continuous Integration. CSC 440: Software Engineering Slide #1

Continuous Integration. CSC 440: Software Engineering Slide #1 Continuous Integration CSC 440: Software Engineering Slide #1 Topics 1. Continuous integration 2. Configuration management 3. Types of version control 1. None 2. Lock-Modify-Unlock 3. Copy-Modify-Merge

More information

Stock Trader System. Architecture Description

Stock Trader System. Architecture Description Stock Trader System Architecture Description Michael Stevens mike@mestevens.com http://www.mestevens.com Table of Contents 1. Purpose of Document 2 2. System Synopsis 2 3. Current Situation and Environment

More information

Continuous Integration (CI)

Continuous Integration (CI) Introduction A long standing problem for software development teams has been to maintain the stability of an application while integrating the changes made by multiple developers. The later that integration

More information

Delivering Quality Software with Continuous Integration

Delivering Quality Software with Continuous Integration Delivering Quality Software with Continuous Integration 01 02 03 04 Unit Check- Test Review In 05 06 07 Build Deploy Test In the following pages we will discuss the approach and systems that together make

More information

Sybase Unwired Platform 2.1.x

Sybase Unwired Platform 2.1.x white paper Sybase Unwired Platform 2.1.x Development Paradigm www.sybase.com Table of Contents 1 Sybase Unwired Platform 2 Mobile Application Development 3 Mobile Business Object (MBO) Development 5 Mobile

More information

How To Write A Composition Engine In A Microsoft Ip System

How To Write A Composition Engine In A Microsoft Ip System Service composition in IMS using Java EE SIP servlet containers Torsten Dinsing, Göran AP Eriksson, Ioannis Fikouras, Kristoffer Gronowski, Roman Levenshteyn, Per Pettersson and Patrik Wiss The IP Multimedia

More information

Software Development In the Cloud Cloud management and ALM

Software Development In the Cloud Cloud management and ALM Software Development In the Cloud Cloud management and ALM First published in Dr. Dobb's Journal, February 2009: http://www.ddj.com/development-tools/212900736 Nick Gulrajani is a Senior Solutions Architect

More information

A Classification and Comparison Framework for Software Architecture Description Languages

A Classification and Comparison Framework for Software Architecture Description Languages 1 of 24 A Classification and Comparison Framework for Software Architecture Description Languages Nenad Medvidovic and Richard N. Taylor Abstract Software architectures shift the focus of developers from

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2007 Vol. 6, No. 1, January-February 2007 CM Configuration Change Management John D.

More information

Reusable Connectors in Component-Based Software Architecture

Reusable Connectors in Component-Based Software Architecture in Component-Based Software Architecture Abdelkrim Amirat, Mourad Oussalah To cite this version: Abdelkrim Amirat, Mourad Oussalah. Reusable Connectors in Component-Based Software Architecture. Ninth international

More information

Approach to Service Management

Approach to Service Management Approach to Service Management In SOA Space Gopala Krishna Behara & Srikanth Inaganti Abstract SOA Management covers the Management and Monitoring of applications, services, processes, middleware, infrastructure,

More information

Process Modeling using BPMN 2.0

Process Modeling using BPMN 2.0 Process Modeling using BPMN 2.0 This chapter provides a brief overview of Business Process Modeling Notation (BPMN) concepts with particular emphasis on the BPMN 2.0 additions. In addition, it describes

More information