On the Integration of Text Editing and Version Control

Size: px
Start display at page:

Download "On the Integration of Text Editing and Version Control"

Transcription

1 Presented at the Eighth Nordic Workshop on Programming Environment Research (NWPER 98), Ronneby, Sweden, August On the Integration of Text Editing and Version Control Patrik Persson Dept of Computer Science, Lund University Box 118, S Lund, Sweden Abstract. The COOP/Orm environment is a client/server based environment for collaborative development work, such as software development. The environment is built as a framework where different kinds of editors can be plugged in. We present an important special case, the COOP/Orm text editor. The editor has access to version information and presents it to the user directly during editing. The editor s hierarchical user interface can display version information regarding single characters, subdocuments and the document as a whole. We also describe how the editor detects merge conflicts in our fine-grained model. 1 Introduction In this paper we present the text editor of the COOP/Orm environment. COOP/Orm, originating from the Mjølner project [5], is a system supporting collaborative development work using fine-grained version control. Although our emphasis is on software development, our work can also be applied to other kinds of writing, such as two or more authors writing a paper. One can divide the collaborative editing needs of an organization into two styles: asynchronous editing, where a document (or a version of it) can only be edited by a single user at any given time. Example: emacs. synchronous editing, where multiple users edit a document simultaneously and the changes made by one user makes becomes instantly visible to other users. Example: ShrEdit [4]. The text editors of today typically support one of these editing styles, but we believe that both styles are useful at different times during development. Consequently, a text editor should support both styles, and preferably a smooth transition between them [6]. The COOP/Orm environment [2][3][6] is a framework for version control and the text editor is an application within this framework. The COOP/Orm environment has a number of properties (applying not only to the text editor) which together define our basic approach to supporting collaborative work: Documents are represented hierarchically, which is in general close to our mental view of documents. An object-oriented program consists of classes, which in turn consist of methods. A paper consists of a heading and a set of sections, which in turn consist of paragraphs and subsections. In this paper, we use the term subdocument to refer

2 Compiler Text editor File system Version control Fig. 1. Version control in a traditional environment. All tools work with the file system with no or little knowledge of each other. to a subtree of this structure. A subdocument is either user data (such as text in a text editor) or a folder possibly containing other subdocuments. The environment maintains a version graph, which describes the dependencies between all versions of the document. The viewed version is always displayed in comparison to a compare version. The compare version is simply a reference for displaying recent changes in the viewed version, and both versions may be set quite arbitrarily (as long as the viewed version is later than, and developed from, the compare version). Since all versions are always visible to all users, any user can watch the work of another at any time (awareness). Note that this facility is similar to the synchronous editing case described earlier. There is no such thing as checking out or checking in a document, as in traditional version control systems. Instead a user may create a new version at any time, and later merge that new version with another version. Consequently, no version of a document is ever locked from any user and users may work asynchronously. The system has a client-server architecture, where all versions of all documents are stored in the server and no data is stored locally. This allows users in different locations to work on the same document. We will place the emphasis in this paper on the client, since that is where the text editor resides. Instead of handling version control and editing in two independent applications (for instance, using RCS [8] and emacs), editors interact directly with the version control system. The editor can present detailed information regarding the document s history directly to the user while editing. The COOP/Orm environment integrates editing and version control of several kinds of data. Apart from the text editor described in this paper, the environment can also handle, for instance, editors for more complex data structures such as abstract syntax trees. In this paper, the text editing case will be described and related to the rest of the COOP/Orm environment. In Section 2 we describe our integration of version control and editing, followed by a brief overview of our user interface in Section 3. Our approach to merging versions is described in Section 4. In Section 5 we give an overview of the text editor s design and

3 in Section 6 we briefly describe the status of the implementation. Section 7 summarizes the paper. 2 Integrated version control Traditional version control tools such as RCS [8] typically provide facilities for checking in and checking out files to and from some central repository. The development tools (text editors, compilers and others) generally know nothing of the version history of the files they read or manipulate, as displayed in Figure 1. One direct effect of this is that it is usually quite awkward for a developer to see, for instance, the differences between the version at hand and a preceding one. Such differences are usually displayed in terms of which lines were added or deleted, much like the output of the UNIX diff command. Usually such differences must be requested by the user using some special tool. In contrast, the fundamental approach of COOP/Orm is to integrate version control into the very core of the environment. The editor and other tools do not interact directly with the file system, but with the version control system of COOP/Orm. Figure 2 outlines the relations between the editor, the version control system, and the file system. This structure allows the editor (the text editor in our case) to have access to all versions of the document. One important property of this approach is that the editor can interact with all versions of the document, rather than just the version currently checked out by the user. The COOP/Orm text editor makes use of the version information available and presents it to the user. The details of this presentation are given in Section 3. COOP/Orm Text editor Client Server Version control File system Fig. 2. Version control in the COOP/Orm environment. Only the version control system interacts with the file system; editors interact with the version control system instead. The version control is divided between client and server.

4 Fine grained incremental version control Traditional version control systems let users edit a document in its entirety outside the version control system. When the document is checked in, the system determines the differences from the previous version and stores that difference. The difference is expressed in terms of added, deleted, or changed lines. In the COOP/Orm text editor, the version history of every character is maintained during editing. Whenever a character is added or deleted, the version information of the document is updated instantly. To put it differently, the version information is updated incrementally during editing. Note that the version information is fine grained in that the information describes the history of individual characters rather than entire lines. One attractive property of our incremental approach is that a user s changes instantly become visible as deltas 1 to other users. 3 The presentation and user interface Presenting hierarchical documents COOP/Orm supports hierarchical documents as described in Section 1. This is reflected in the graphical user interface, where the document window contains subwindows which in turn may contain subwindows in a recursive manner. COOP/Orm subwindows may be of different kinds: Editors, such as text editor instances. Folders, which do not hold any explicit information of their own apart from a name. However, folders may contain additional folders and/or editors. Other special windows for displaying various information, such as the version graph. A hierarchical COOP/Orm document may be (abstractly) described as a tree, where the internal nodes are folders and the leaf nodes are editors or empty folders. Figure 3 shows a COOP/Orm client with the Java source code for a sample program. A folder called package BankSystem holds two other folders (classes Account and Bank). These two folders in turn contain text editors for methods, constructors and instance variables. The method deposit in Bank is open but methods withdraw and get- Balance are closed (i.e. iconized). 1 Difference in data (as stored in the server) between two consecutive versions.

5 Fig. 3. The COOP/Orm client. Four instances of the text editor are visible; two more are iconized. Visualizing version history during editing Editors have detailed information regarding the history of the edited document. The text editor uses this information and presents parts of it to the user during editing. Recall that the COOP/Orm environment always displays a comparison between two versions, the viewed version and the compare version. All displayed information describes the viewed version, and two basic markings (shown in Figure 4) are used to display the changes from the compare version: Text that has been added since the compare version is underlined. Text that has been deleted since the compare version is shown but struck out.

6 Fig. 4. An example of deleted and added text. Using color: the pen metaphor Editing is always made in the viewed version, and changes made while editing are special cases of the markings above. We use a pen metaphor, where all changes during edit are displayed in a special pen color. This means that a word that is added during edit is displayed as any other added text (underlined), but both the text and its marking are drawn in the pen color. Deleting text while editing gives one of two results. If the deleted text originates from an older version (i. e. not the viewed one), it is struck out using the pen color. If text is deleted in the same version it was added in, it is simply discarded and removed from the version control system. In other words, deleting that text is interpreted as undoing the adding of text. Change propagation The notion of added and deleted characters scales to entire editors and folders in the COOP/Orm environment. Whenever a new editor or folder is created, it is marked as added in the current version. Editors and folders can assume a third state in addition to added or deleted : whenever text is added or deleted in an editor, that editor is considered changed in that version. Similarly, whenever a component (editor or folder) within a folder is added, deleted, or changed, that folder is considered changed. This implies that a simple change in a text editor, such as the addition of a word, propagates upwards through the text editor s surrounding folder(s). We call this change propagation. 4 Merging An important aspect of the COOP/Orm approach is that a user can always create a new version or variant, which can later be merged with another version. The environment performs merging of entire hierarchical documents composed of subdocuments [1]. While merging, every subdocument has two instances of add/delete/change tags: one for each of the versions the merged document is based on. Conflict handling Traditional version control systems typically avoid conflicting changes to a file by different users by only allowing a file to be checked out by one user at a time. This approach in effect serializes the development work, which is often not acceptable.

7 Many version control systems such as Teamware [7] support a copy-merge approach, where versioned files may be copied (rather than checked out) to a local workspace and modified in parallel with the original files. The files in the local workspace can later be put back, that is, copied to and possibly merged with the original files. Such systems report a conflict when two users put back different versions of the same file and one or more lines have changed in both versions. The first user to put back his version succeeds, but the second user will be informed of the conflict and prompted to resolve it. Merge conflicts are, in general, difficult to handle since they require two or more developers to decide how their individual changes are to be combined. The intention of COOP/Orm is to minimize the number of conflicts and, when they occur, to make them as easy to resolve as possible. Conflicts occur when two or more users work in the same part of the document. In COOP/Orm, a user can always select a suitable viewed version to monitor the work of another user. This feature is intended to reduce the number of conflicts in that the users can find out whether they are working within the same part of the document. Consequently, it should be possible to avoid conflicts rather than detecting them after they occur. To simplify conflict resolution, COOP/Orm suggests a default merge in every position where the two merged documents differ. The default merge is based on the simple rule that all changes from both branches 1 should be included in the merged version. For example, if a sentence is added in one of the branches and the corresponding position in the other branch is untouched, the default merge is to include the added sentence. Additions and deletions originating from the merge branches are displayed using a pen metaphor in a way similar to editing changes, but using other colors. During normal editing, a single pen color is used. During merge, two more colors are introduced to display changes introduced in branches. Our fine-grained model can always suggest a default merge, even if there is a conflict present. Suppose a version of the document contains the word beleeve (sic). Two different users create new versions from that version, and the first user re-spells the word to believe while the other replaces it with the word think. COOP/Orm s fine-grained version control will identify the combination of the two as the addition of the letter i (as done in the first version), the addition of the string think (second version), the deletion of the strings bel and eve (as done in the second version), and the deletion of the second e (both versions). The result is the string ithink, which is probably not what either of the users intended (refer to Figure 5). We define some combinations of add/delete/change information as conflicts (requiring user intervention), and other combinations as non-conflicting. We have cho- Fig. 5. Merge example. The box around the string belieeve indicates a conflict. 1 We use the term branches to refer to the two versions which are merged into one.

8 sen to define a merge conflict as the case where changes from both branches appear in the same position in the text. This model covers the conflict just described. When a user performs a merge operation, any conflicts are marked in the text and can be examined one by one. The user can accept the default merge or use the changes from either of the branches. (In the example just given, these alternatives refer to the strings believe and think, respectively.) The text can also be edited directly during merge. Note that such choices can be made for entire subdocuments: if the default merge is selected for a folder, it also applies for any subdocuments within that folder. Note that the text editor s conflict model covers syntactic conflicts rather than semantic ones. The text editor does not interpret the users text in any way. 5 Design The COOP/Orm environment supports version control of considerably more complex data structures than text. The text editor is thus a special case of a generic editor concept within COOP/Orm. COOP/Orm is implemented as an object-oriented framework [3] in Simula. Relation to the COOP/Orm framework Individual editors are installed by subclassing a Configurator class, instances of which are created whenever the user creates a new subdocument. The Configurator class declares a number of callback functions, which the subclass is responsible for implementing. Such callbacks are called by the framework in the following situations (amongst others): The user selects a new compare or viewed version The user requests a merge Other user interface related events (such as key presses, menu selections, and mouse actions The Configurator class also provides a number of functions to be called by the editor in various situations. Examples of such functions are: Mark the subdocument as added, deleted, or changed Load versioned data from the server Store versioned data in the server The editor (i.e. subclass of Configurator) is responsible for calling these functions when appropriate. For example, a key press may result in marking the editor as changed and selecting a new viewed version may require data to be loaded from the server. The editor uses version descriptors to tag its data with version information. A version descriptor encapsulates the entire history of a versioned piece of data, such as when it was created and when it was deleted. In the COOP/Orm text editor, every indi-

9 vidual character may be perceived as having its own version descriptor. Optimizations are made, however, to combine adjacent characters with the same history into a single versioned text block. The Configurator superclass holds a reference to the global version graph, which is responsible for managing all the system s versions and their relations. The version graph can answer straightforward questions regarding version descriptors, for example, whether the data associated with a given descriptor is present in a given version. Editor design overview The details of the design of COOP/Orm and its text editor are probably of little interest to most readers. Instead, we give an overview of the major design components from the text editor s point of view. A class diagram (in UML notation) is given in Figure 6. The text editor is given a window for its user interaction. The text is represented as a list of text blocks, each representing a set of consecutive characters with the same version history. These blocks are split whenever a new character with a different history is inserted. Similarly, when a deletion results in two adjacent blocks with the same history, they are joined. As indicated in the previous section, each text block is equipped with a version descriptor to encapsulate its history. Configurator Views Most traditional version control systems regard a versioned document as a set of text files, each tagged with a version number. In COOP/Orm, however, a versioned document can be regarded as a set of characters where each character has its individual history. Coordinates in a document (i.e. row and column indices) are not unambiguous: in general, such coordinates refer to different positions in different versions of a docu- Version- 0..* Graph Version- Descriptor COOP/Orm framework Text editor application TextWindow DocEditor View TextBlock 1..* 0..* 0..* Fig. 6. Overview (simplified) of the COOP/Orm text editor design in UML notation. Most of the framework has been left out for brevity.

10 ment. In a sense, a COOP/Orm text document is three-dimensional: row and column indices are not enough to identify a position, version information is required as well. To allow the text editor to manipulate the document in a uniform manner, it internally maintains a set of views (or filters). A view can be seen as a subset of all text blocks, selected according to some simple rule. For instance, one view defines which blocks are visible in the user s window. Another kind of view is used when the user selects an older compare version. Such an action results in the loading of a delta to re-create the version v1 from a newer version v2 from the server. In this case, a view is created where only blocks visible in version v2 are present. (All coordinates in such a delta are relative to the coordinate system of v2.) This view is used to insert the loaded data into the document. All insertion and deletion operations, as well as traversals (i.e. moving the cursor) are applied to some view. The view automatically ignores all text blocks not present in the view. The advantage of using views to access the document is that they resemble ordinary (non-versioned) text documents. Once a suitable view is selected, the document may be manipulated as any two-dimensional text document. The functionality to restrict the set of text blocks according to the view s rule is embedded within the view. 6 Implementation status The COOP/Orm framework is implemented in Simula and supports editors for a few kinds of data. Notably, most of the text editor is implemented, though the merge conflict handling is not yet complete. 7 Conclusions We have presented a way to integrate editing and version control. By integrating the editor and the version control system and making the editor aware of the version information, selected pieces of that version information can be presented to the user directly in the editor. The user can easily see what was changed since an arbitrary preceding version. The hierarchical structure of COOP/Orm documents allows such version information to be automatically displayed for entire subdocuments. It also allows for a structured presentation of potential merge conflicts. The presentation of version information is central to our approach. By making appropriate information available to the developer, our text editor appears to reduce the number of merge conflicts and simplify collaborative work. Users should be able to more easily keep track of each others work. In our fine-grained version model, every individual character can be perceived as having its own version history. This means that two independent changes to a single line do not necessarily result in a conflict. Instead, we define a conflict to occur when two (or more) independent changes are made at the same position in a document.

11 The COOP/Orm framework supports versioning of complex data structures. Our next step is to develop an editor for abstract syntax trees (ASTs) with the goal to integrate version control into the entire Mjølner/Orm system. Our text editor is one implemented example (albeit an important one) of an editor in the COOP/Orm environment. This editor shows, according to experiences so far, the usefulness of our integrated approach. Acknowledgments I want to thank Ulf Asklund and Boris Magnusson, who developed the COOP/Orm framework and provided significant input both for this paper and the COOP/Orm text editor. I also want to thank Görel Hedin and Klas Nilsson for many helpful comments on earlier versions of this paper. The anonymous reviewers provided several helpful comments. References 1. U. Asklund, Identifying Conflicts During Structural Merge. Proceedings of the Nordic Workshop on Programming Environment Research, Lund, Sweden, June 1-3, U. Asklund, Integrated Version Control in the COOP/Orm Version Server. Proceedings of the Nordic Workshop on Programming Environment Research, Aalborg, Denmark, May 29-31, U. Asklund, The COOP/Orm Framework. DRAFT, Lund University, L.J. McGuffin and G.M. Olson, ShrEdit: A Shared Electronic Workspace. Cognitive Science and Machine Intelligence Laboratory, Tech. report #45, University of Michigan, Ann Arbor, J.L. Knudsen, M. Löfgren, O.L. Madsen, and B. Magnusson, editors. Object-Oriented Environments the Mjølner Approach. Prentice Hall, S. Minör and B. Magnusson, A Model for Semi-(a)Synchronous Collaborative Editing. Proceedings of Third European Conference on Computer Supported Cooperative Work, Milano, Italy, September 13-17, Teamware User s Guides, Sun Microsystems, W.F. Tichy, RCS - a system for revision control. Software Practice and Experience, 15(7): , July 1985.

UNIT 5 - UML STATE DIAGRAMS AND MODELING

UNIT 5 - UML STATE DIAGRAMS AND MODELING UNIT 5 - UML STATE DIAGRAMS AND MODELING UML state diagrams and modeling - Operation contracts- Mapping design to code UML deployment and component diagrams UML state diagrams: State diagrams are used

More information

2.2 Syntax Definition

2.2 Syntax Definition 42 CHAPTER 2. A SIMPLE SYNTAX-DIRECTED TRANSLATOR sequence of "three-address" instructions; a more complete example appears in Fig. 2.2. This form of intermediate code takes its name from instructions

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

1 Executive Overview The Benefits and Objectives of BPDM

1 Executive Overview The Benefits and Objectives of BPDM 1 Executive Overview The Benefits and Objectives of BPDM This is an excerpt from the Final Submission BPDM document posted to OMG members on November 13 th 2006. The full version of the specification will

More information

Source control with Subversion A user perspective

Source control with Subversion A user perspective http://svnbook.red-bean.com/ Source control with Subversion A user perspective Aaron Ponti What is Subversion? } It is a free and open-source version control system } It manages files and directories,

More information

And check out a copy of your group's source tree, where N is your one-digit group number and user is your rss username

And check out a copy of your group's source tree, where N is your one-digit group number and user is your rss username RSS webmaster Subversion is a powerful, open-source version control system favored by the RSS course staff for use by RSS teams doing shared code development. This guide is a primer to the use of Subversion

More information

AADL Graphical Editor Design

AADL Graphical Editor Design AADL Graphical Editor Design Peter Feiler Software Engineering Institute phf@sei.cmu.edu Introduction An AADL specification is a set of component type and implementation declarations. They are organized

More information

A Deadlock-free Multi-granular, Hierarchical Locking Scheme for Real-time Collaborative Editing. Jon A. Preston Sushil K. Prasad

A Deadlock-free Multi-granular, Hierarchical Locking Scheme for Real-time Collaborative Editing. Jon A. Preston Sushil K. Prasad A Deadlock-free Multi-granular, Hierarchical Locking Scheme for Real-time Collaborative Editing Jon A. Preston Sushil K. Prasad Agenda Motivation Related Work in Collaborative Editing Systems The Tree

More information

Issues surrounding model consistency and QVT

Issues surrounding model consistency and QVT Issues surrounding model consistency and QVT Laurence Tratt, Tony Clark laurie@tratt.net, anclark@dcs.kcl.ac.uk December 6, 200. Introduction This document is intended to outline some of the issues surrounding

More information

Design Pattern: Composite

Design Pattern: Composite Design Pattern: Composite Intent Compose objects into tree structures to represent part-whole hierarchies. Composite lets clients treat individual objects and compositions of objects uniformly. Motivation

More information

Model-Independent Differences

Model-Independent Differences Model-Independent Differences Patrick Könemann Technical University of Denmark, Informatics and Mathematical Modelling Richard Petersens Plads, DK-2800 Kgs. Lyngby, Denmark pk@imm.dtu.dk Abstract Computing

More information

APPLAB User s Guide Version 1.2

APPLAB User s Guide Version 1.2 APPLAB User s Guide Version 1.2 Elizabeth Bjarnason LU-CS-IR:96-01 Department of Computer Science Lund Institute of Technology Lund University Box 118, S-221 00 Lund, Sweden APPLAB User s Guide (version

More information

Learning About Technology. The Desktop (cont'd) The Desktop. Playing Recorded Music

Learning About Technology. The Desktop (cont'd) The Desktop. Playing Recorded Music Chapter 2: What the Digerati Know: Exploring the Human-Computer Interface Fluency with Information Technology Third Edition by Lawrence Snyder Learning About Technology People do not have any innate technological

More information

Chapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design

Chapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design Chapter 6 Architectural Design Lecture 1 1 Topics covered ² Architectural design decisions ² Architectural views ² Architectural patterns ² Application architectures 2 Software architecture ² The design

More information

Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila

Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila Software Design and Architecture Software Design Software design is a process of problem-solving

More information

EDMS. Architecture and Concepts

EDMS. Architecture and Concepts EDMS Engineering Data Management System Architecture and Concepts Hannu Peltonen Helsinki University of Technology Department of Computer Science Laboratory of Information Processing Science Abstract

More information

Student Performance Q&A:

Student Performance Q&A: Student Performance Q&A: 2004 AP Computer Science A Free-Response Questions The following comments on the 2004 free-response questions for AP Computer Science A were written by the Chief Reader, Chris

More information

Task-Oriented Solutions to Over 175 Common Problems. Covers. Eclipse 3.0. Eclipse CookbookTM. Steve Holzner

Task-Oriented Solutions to Over 175 Common Problems. Covers. Eclipse 3.0. Eclipse CookbookTM. Steve Holzner Task-Oriented Solutions to Over 175 Common Problems Covers Eclipse 3.0 Eclipse CookbookTM Steve Holzner Chapter CHAPTER 6 6 Using Eclipse in Teams 6.0 Introduction Professional developers frequently work

More information

A Guide to Quark Author Web Edition 2015

A Guide to Quark Author Web Edition 2015 A Guide to Quark Author Web Edition 2015 CONTENTS Contents Getting Started...4 About Quark Author - Web Edition...4 Smart documents...4 Introduction to the Quark Author - Web Edition User Guide...4 Quark

More information

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered Topics covered Chapter 6 Architectural Design Architectural design decisions Architectural views Architectural patterns Application architectures Lecture 1 1 2 Software architecture The design process

More information

Curriculum Map Grade(s): Subject: AP Computer Science

Curriculum Map Grade(s): Subject: AP Computer Science Curriculum Map Grade(s): 11-12 Subject: AP Computer Science (Semester 1 - Weeks 1-18) Unit / Weeks Content Skills Assessments Standards Lesson 1 - Background Chapter 1 of Textbook (Weeks 1-3) - 1.1 History

More information

CSE 3. The Desktop. Learning About Technology. Playing Recorded Music. The Desktop (cont'd)

CSE 3. The Desktop. Learning About Technology. Playing Recorded Music. The Desktop (cont'd) CSE 3 Comics Updates U2 puzzle Shortcut(s) of the day Ch 1-2, 16-17 How Computers Work Textbook wrong: -Select / -Select Chapter 2: What the Digerati Know: Exploring the Human-Computer

More information

CSE 3. Learning About Technology. Comics Updates U2 puzzle Shortcut(s) of the day Ch 1-2, How Computers Work Textbook wrong:

CSE 3. Learning About Technology. Comics Updates U2 puzzle Shortcut(s) of the day Ch 1-2, How Computers Work Textbook wrong: CSE 3 Comics Updates U2 puzzle Shortcut(s) of the day Ch 1-2, 16-17 How Computers Work Textbook wrong: -Select / -Select 1-1 2-1 Chapter 2: What the Digerati Know: Exploring the Human-Computer

More information

10 Implinks and Endpoints

10 Implinks and Endpoints Chapter 10 Implinks and Endpoints Implementation links and endpoints are important concepts in the SOMT method (described in the SOMT Methodology Guidelines starting in chapter 69 in the User s Manual).

More information

Group sheets 2, 3, 4, and 5 1. Click on SHEET Hold down the CMD key and as you continue to hold it down, click on sheets 3, 4, and 5.

Group sheets 2, 3, 4, and 5 1. Click on SHEET Hold down the CMD key and as you continue to hold it down, click on sheets 3, 4, and 5. Data Entry, Cell Formatting, and Cell Protection in Excel 2004 In this workshop, you start by adding to the number of sheets in your workbook and then grouping four of the sheets to set up a small spreadsheet

More information

SOFA NetBeans Module

SOFA NetBeans Module Charles University, Prague Distributed Systems Research Group SOFA NetBeans Module an introductory guide Revision 1.0 June 2003 Contents 1 Module s Essentials 3 1.1 Introduction........................

More information

Quark XML Author for FileNet 2.5 with BusDocs Guide

Quark XML Author for FileNet 2.5 with BusDocs Guide Quark XML Author for FileNet 2.5 with BusDocs Guide CONTENTS Contents Getting started...6 About Quark XML Author...6 System setup and preferences...8 Logging in to the repository...8 Specifying the location

More information

JSF Tools Reference Guide. Version: M5

JSF Tools Reference Guide. Version: M5 JSF Tools Reference Guide Version: 3.3.0.M5 1. Introduction... 1 1.1. Key Features of JSF Tools... 1 2. 3. 4. 5. 1.2. Other relevant resources on the topic... 2 JavaServer Faces Support... 3 2.1. Facelets

More information

Chapter 6 Architectural Design. Chapter 6 Architectural design

Chapter 6 Architectural Design. Chapter 6 Architectural design Chapter 6 Architectural Design 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process for identifying

More information

Creating Accessible Documents

Creating Accessible Documents Creating Accessible Documents How-To Guide for MS Office 2016 This guide is intended users of Microsoft Office 2016 (PC and Mac) to help them make Word documents, PowerPoint presentations, and PDF files

More information

Quark XML Author September 2016 Update for Platform with Business Documents

Quark XML Author September 2016 Update for Platform with Business Documents Quark XML Author 05 - September 06 Update for Platform with Business Documents Contents Getting started... About Quark XML Author... Working with the Platform repository... Creating a new document from

More information

Functional Programming in Haskell Prof. Madhavan Mukund and S. P. Suresh Chennai Mathematical Institute

Functional Programming in Haskell Prof. Madhavan Mukund and S. P. Suresh Chennai Mathematical Institute Functional Programming in Haskell Prof. Madhavan Mukund and S. P. Suresh Chennai Mathematical Institute Module # 02 Lecture - 03 Characters and Strings So, let us turn our attention to a data type we have

More information

Introduction to Computers and Programming Languages. CS 180 Sunil Prabhakar Department of Computer Science Purdue University

Introduction to Computers and Programming Languages. CS 180 Sunil Prabhakar Department of Computer Science Purdue University Introduction to Computers and Programming Languages CS 180 Sunil Prabhakar Department of Computer Science Purdue University 1 Objectives This week we will study: The notion of hardware and software Programming

More information

Experiences with Architectural Software Configuration Management in Ragnarok

Experiences with Architectural Software Configuration Management in Ragnarok Experiences with Architectural Software Configuration Management in Ragnarok Henrik Bærbak Christensen Department of Computer Science University of Aarhus DK-8000 Århus C, Denmark hbc@daimi.aau.dk Abstract.

More information

Branching with Eclipse and CVS

Branching with Eclipse and CVS Eclipse Corner Article Copyright IBM Corp. 2003 Branching with Eclipse and CVS Summary This article presents a brief branch and merge scenario designed to quickly illustrate some branch and merge features

More information

StarTeam File Compare/Merge StarTeam File Compare/Merge Help

StarTeam File Compare/Merge StarTeam File Compare/Merge Help StarTeam File Compare/Merge 12.0 StarTeam File Compare/Merge Help Micro Focus 575 Anton Blvd., Suite 510 Costa Mesa, CA 92626 Copyright 2011 Micro Focus IP Development Limited. All Rights Reserved. Portions

More information

Flexible Collaboration over XML Documents

Flexible Collaboration over XML Documents Flexible Collaboration over XML Documents Claudia-Lavinia Ignat and Moira C. Norrie Institute for Information Systems, ETH Zurich CH-8092 Zurich, Switzerland {ignat,norrie}@inf.ethz.ch Abstract. XML documents

More information

Big Java Late Objects

Big Java Late Objects Big Java Late Objects Horstmann, Cay S. ISBN-13: 9781118087886 Table of Contents 1. Introduction 1.1 Computer Programs 1.2 The Anatomy of a Computer 1.3 The Java Programming Language 1.4 Becoming Familiar

More information

EDAN65: Compilers, Lecture 06 A LR parsing. Görel Hedin Revised:

EDAN65: Compilers, Lecture 06 A LR parsing. Görel Hedin Revised: EDAN65: Compilers, Lecture 06 A LR parsing Görel Hedin Revised: 2017-09-11 This lecture Regular expressions Context-free grammar Attribute grammar Lexical analyzer (scanner) Syntactic analyzer (parser)

More information

CS164: Programming Assignment 2 Dlex Lexer Generator and Decaf Lexer

CS164: Programming Assignment 2 Dlex Lexer Generator and Decaf Lexer CS164: Programming Assignment 2 Dlex Lexer Generator and Decaf Lexer Assigned: Thursday, September 16, 2004 Due: Tuesday, September 28, 2004, at 11:59pm September 16, 2004 1 Introduction Overview In this

More information

Enterprise Architect. User Guide Series. File Based Projects

Enterprise Architect. User Guide Series. File Based Projects Enterprise Architect User Guide Series File Based Projects In Sparx Systems Enterprise Architect, quickly create a new file-based repository as a.eap file (Access database) or.feap file (Firebird repository),

More information

Sri Vidya College of Engineering & Technology

Sri Vidya College of Engineering & Technology UNIT I INTRODUCTION TO OOP AND FUNDAMENTALS OF JAVA 1. Define OOP. Part A Object-Oriented Programming (OOP) is a methodology or paradigm to design a program using classes and objects. It simplifies the

More information

Quark XML Author for FileNet 2.8 with BusDocs Guide

Quark XML Author for FileNet 2.8 with BusDocs Guide Quark XML Author for FileNet.8 with BusDocs Guide Contents Getting started... About Quark XML Author... System setup and preferences... Logging on to the repository... Specifying the location of checked-out

More information

Utilizing a Common Language as a Generative Software Reuse Tool

Utilizing a Common Language as a Generative Software Reuse Tool Utilizing a Common Language as a Generative Software Reuse Tool Chris Henry and Stanislaw Jarzabek Department of Computer Science School of Computing, National University of Singapore 3 Science Drive,

More information

Lecture 1. Chapter 6 Architectural design

Lecture 1. Chapter 6 Architectural design Chapter 6 Architectural Design Lecture 1 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process

More information

The TTC 2011 Reengineering Challenge Using MOLA and Higher-Order Transformations

The TTC 2011 Reengineering Challenge Using MOLA and Higher-Order Transformations The TTC 2011 Reengineering Challenge Using MOLA and Higher-Order Transformations Agris Sostaks, Elina Kalnina, Audris Kalnins, Edgars Celms, and Janis Iraids Institute of Computer Science and Mathematics,

More information

FUNDAMENTALS OF COMPUTING & COMPUTER PROGRAMMING UNIT III. 2 Marks PROBLEM SOLVING AND OFFICE AUTOMATION

FUNDAMENTALS OF COMPUTING & COMPUTER PROGRAMMING UNIT III. 2 Marks PROBLEM SOLVING AND OFFICE AUTOMATION FUNDAMENTALS OF COMPUTING & COMPUTER PROGRAMMING UNIT III 2 Marks PROBLEM SOLVING AND OFFICE AUTOMATION Planning the Computer Program Purpose Algorithm Flow Charts Pseudocode -Application Software Packages-

More information

File Control System 1.0 Product Requirements Document (PRD)

File Control System 1.0 Product Requirements Document (PRD) File Control System 1.0 Product Requirements Document (PRD) Author: Ken Rodham Date: January 10, 2005 Revision: 2 Overview This document specifies the requirements for the File Control System 1.0 (FCS).

More information

Department of Computer Science College of Engineering Boise State University

Department of Computer Science College of Engineering Boise State University Department of Computer Science College of Engineering Boise State University 1/18 Introduction Wouldn t you like to have a time machine? Software developers already have one! it is called version control

More information

EDAN65: Compilers, Lecture 04 Grammar transformations: Eliminating ambiguities, adapting to LL parsing. Görel Hedin Revised:

EDAN65: Compilers, Lecture 04 Grammar transformations: Eliminating ambiguities, adapting to LL parsing. Görel Hedin Revised: EDAN65: Compilers, Lecture 04 Grammar transformations: Eliminating ambiguities, adapting to LL parsing Görel Hedin Revised: 2017-09-04 This lecture Regular expressions Context-free grammar Attribute grammar

More information

Towards semantic merging of versions of BDI agent systems

Towards semantic merging of versions of BDI agent systems Towards semantic merging of versions of BDI agent systems Yingzhi Gou, Hoa Khanh Dam and Aditya Ghose School of Computer Science and Software Engineering University of Wollongong New South Wales 2522,

More information

EECS 311: Data Structures and Data Management Program 1 Assigned: 10/21/10 Checkpoint: 11/2/10; Due: 11/9/10

EECS 311: Data Structures and Data Management Program 1 Assigned: 10/21/10 Checkpoint: 11/2/10; Due: 11/9/10 EECS 311: Data Structures and Data Management Program 1 Assigned: 10/21/10 Checkpoint: 11/2/10; Due: 11/9/10 1 Project: Scheme Parser. In many respects, the ultimate program is an interpreter. Why? Because

More information

Pattern-Oriented Development with Rational Rose

Pattern-Oriented Development with Rational Rose Pattern-Oriented Development with Rational Rose Professor Peter Forbrig, Department of Computer Science, University of Rostock, Germany; Dr. Ralf Laemmel, Department of Information Management and Software

More information

Black-Box Program Specialization

Black-Box Program Specialization Published in Technical Report 17/99, Department of Software Engineering and Computer Science, University of Karlskrona/Ronneby: Proceedings of WCOP 99 Black-Box Program Specialization Ulrik Pagh Schultz

More information

Visual Model Editor for Supporting Collaborative Semantic Modeling

Visual Model Editor for Supporting Collaborative Semantic Modeling Visual Model Editor for Supporting Collaborative Semantic Modeling C. Richter 1, H. Allert 1, V. Tchoumatchenko 2, T. Vasileva *2, L. Ilomäki 3 and Kari Kosonen 3 1 University of Applied Sciences Upper

More information

UNIT V SYSTEM SOFTWARE TOOLS

UNIT V SYSTEM SOFTWARE TOOLS 5.1 Text editors UNIT V SYSTEM SOFTWARE TOOLS A text editor is a type of program used for editing plain text files. Text editors are often provided with operating systems or software development packages,

More information

RFC: Metadata Journaling to Improve Crash Survivability

RFC: Metadata Journaling to Improve Crash Survivability RFC: Metadata Journaling to Improve Crash Survivability John Mainzer Introduction HDF5 files written via calls to the HDF5 library are susceptible to corruption in the event of application or system crash.

More information

Fundamentals of STEP Implementation

Fundamentals of STEP Implementation Fundamentals of STEP Implementation David Loffredo loffredo@steptools.com STEP Tools, Inc., Rensselaer Technology Park, Troy, New York 12180 A) Introduction The STEP standard documents contain such a large

More information

Structure of Abstract Syntax trees for Colored Nets in PNML

Structure of Abstract Syntax trees for Colored Nets in PNML Structure of Abstract Syntax trees for Colored Nets in PNML F. Kordon & L. Petrucci Fabrice.Kordon@lip6.fr Laure.Petrucci@lipn.univ-paris13.fr version 0.2 (draft) June 26, 2004 Abstract Formalising the

More information

Lab Exercise Refactoring using Eclipse

Lab Exercise Refactoring using Eclipse Lunds tekniska högskola Datavetenskap, Nov, 2017 Torbjörn Ekman and Görel Hedin (Modified from cvs to git by Ulf Asklund) EDAF45 Programvaruutveckling i grupp projekt Lab Exercise Refactoring using Eclipse

More information

Common Lisp Object System Specification. 1. Programmer Interface Concepts

Common Lisp Object System Specification. 1. Programmer Interface Concepts Common Lisp Object System Specification 1. Programmer Interface Concepts Authors: Daniel G. Bobrow, Linda G. DeMichiel, Richard P. Gabriel, Sonya E. Keene, Gregor Kiczales, and David A. Moon. Draft Dated:

More information

RAQUEL s Relational Operators

RAQUEL s Relational Operators Contents RAQUEL s Relational Operators Introduction 2 General Principles 2 Operator Parameters 3 Ordinary & High-Level Operators 3 Operator Valency 4 Default Tuples 5 The Relational Algebra Operators in

More information

Eclipse Plug-in for AccuRev User s Guide Version April 2012

Eclipse Plug-in for AccuRev User s Guide Version April 2012 Eclipse Plug-in for AccuRev User s Guide Version 2012.1 April 2012 Revised 4/16/12 Copyright AccuRev, Inc. 1995 2012 ALL RIGHTS RESERVED This product incorporates technology that may be covered by one

More information

CSE 12 Abstract Syntax Trees

CSE 12 Abstract Syntax Trees CSE 12 Abstract Syntax Trees Compilers and Interpreters Parse Trees and Abstract Syntax Trees (AST's) Creating and Evaluating AST's The Table ADT and Symbol Tables 16 Using Algorithms and Data Structures

More information

CS112 Lecture: Defining Instantiable Classes

CS112 Lecture: Defining Instantiable Classes CS112 Lecture: Defining Instantiable Classes Last revised 2/3/05 Objectives: 1. To describe the process of defining an instantiable class 2. To discuss public and private visibility modifiers. Materials:

More information

Compiler Theory. (Semantic Analysis and Run-Time Environments)

Compiler Theory. (Semantic Analysis and Run-Time Environments) Compiler Theory (Semantic Analysis and Run-Time Environments) 005 Semantic Actions A compiler must do more than recognise whether a sentence belongs to the language of a grammar it must do something useful

More information

Revision control systems (RCS) and. Subversion

Revision control systems (RCS) and. Subversion Revision control systems (RCS) and Subversion Problem area Software projects with multiple developers need to coordinate and synchronize the source code Approaches to version control Work on same computer

More information

PRINCIPLES OF COMPILER DESIGN UNIT I INTRODUCTION TO COMPILERS

PRINCIPLES OF COMPILER DESIGN UNIT I INTRODUCTION TO COMPILERS Objective PRINCIPLES OF COMPILER DESIGN UNIT I INTRODUCTION TO COMPILERS Explain what is meant by compiler. Explain how the compiler works. Describe various analysis of the source program. Describe the

More information

Keywords: Abstract Factory, Singleton, Factory Method, Prototype, Builder, Composite, Flyweight, Decorator.

Keywords: Abstract Factory, Singleton, Factory Method, Prototype, Builder, Composite, Flyweight, Decorator. Comparative Study In Utilization Of Creational And Structural Design Patterns In Solving Design Problems K.Wseem Abrar M.Tech., Student, Dept. of CSE, Amina Institute of Technology, Shamirpet, Hyderabad

More information

Review. Designing Interactive Systems II. Review. Base Window System. Apps UITK BWS GEL. 4-Layer Model Graphics and Event Library BWS GEL

Review. Designing Interactive Systems II. Review. Base Window System. Apps UITK BWS GEL. 4-Layer Model Graphics and Event Library BWS GEL Window Manager Base Window System Graphics & Event Library Hardware more abstract, application-/user- Applications User Interface Toolkit Review Designing Interactive Systems II 4-Layer Model Graphics

More information

User s guide to using the ForeTees TinyMCE online editor. Getting started with TinyMCE and basic things you need to know!

User s guide to using the ForeTees TinyMCE online editor. Getting started with TinyMCE and basic things you need to know! User s guide to using the ForeTees TinyMCE online editor TinyMCE is a WYSIWYG (what you see is what you get) editor that allows users a familiar word-processing interface to use when editing the announcement

More information

LINDA. The eval operation resembles out, except that it creates an active tuple. For example, if fcn is a function, then

LINDA. The eval operation resembles out, except that it creates an active tuple. For example, if fcn is a function, then LINDA Linda is different, which is why we've put it into a separate chapter. Linda is not a programming language, but a way of extending ( in principle ) any language to include parallelism IMP13, IMP14.

More information

UNIT - 5 EDITORS AND DEBUGGING SYSTEMS

UNIT - 5 EDITORS AND DEBUGGING SYSTEMS UNIT - 5 EDITORS AND DEBUGGING SYSTEMS 5.1 Introduction An Interactive text editor has become an important part of almost any computing environment. Text editor acts as a primary interface to the computer

More information

The Goal of this Document. Where to Start?

The Goal of this Document. Where to Start? A QUICK INTRODUCTION TO THE SEMILAR APPLICATION Mihai Lintean, Rajendra Banjade, and Vasile Rus vrus@memphis.edu linteam@gmail.com rbanjade@memphis.edu The Goal of this Document This document introduce

More information

A NEW DISTRIBUTED COMPOSITE OBJECT MODEL FOR COLLABORATIVE COMPUTING

A NEW DISTRIBUTED COMPOSITE OBJECT MODEL FOR COLLABORATIVE COMPUTING A NEW DISTRIBUTED COMPOSITE OBJECT MODEL FOR COLLABORATIVE COMPUTING Güray YILMAZ 1 and Nadia ERDOĞAN 2 1 Dept. of Computer Engineering, Air Force Academy, 34807 Yeşilyurt, İstanbul, Turkey 2 Dept. of

More information

Quark XML Author October 2017 Update for Platform with Business Documents

Quark XML Author October 2017 Update for Platform with Business Documents Quark XML Author 05 - October 07 Update for Platform with Business Documents Contents Getting started... About Quark XML Author... Working with the Platform repository...3 Creating a new document from

More information

- HALF YEARLY EXAM ANSWER KEY DEC-2016 COMPUTER SCIENCE ENGLISH MEDIUM

- HALF YEARLY EXAM ANSWER KEY DEC-2016 COMPUTER SCIENCE ENGLISH MEDIUM www.padasalai.net - HALF YEARLY EXAM ANSWER KEY DEC-2016 COMPUTER SCIENCE ENGLISH MEDIUM 1 A 26 D 51 C 2 C 27 D 52 D 3 C 28 C 53 B 4 A 29 B 54 D 5 B 30 B 55 B 6 A 31 C 56 A 7 B 32 C 57 D 8 C 33 B 58 C

More information

[Software Development] Development Tools. Davide Balzarotti. Eurecom Sophia Antipolis, France

[Software Development] Development Tools. Davide Balzarotti. Eurecom Sophia Antipolis, France [Software Development] Development Tools Davide Balzarotti Eurecom Sophia Antipolis, France Version Control Version (revision) control is the process of tracking and recording changes to files Most commonly

More information

Executable UML. Stephen J. Mellor

Executable UML. Stephen J. Mellor Executable UML Stephen J. Mellor Executable UML is here. While it is possible today to add code to UML diagrams and then execute them, in so doing you must make a series of decisions about implementation

More information

Quark XML Author 2015 October Update with Business Documents

Quark XML Author 2015 October Update with Business Documents Quark XML Author 2015 October Update with Business Documents CONTENTS Contents Getting started...6 About Quark XML Author...6 Working with documents...8 Basic document features...8 What is a business document...8

More information

Quark XML Author October 2017 Update with Business Documents

Quark XML Author October 2017 Update with Business Documents Quark XML Author 05 - October 07 Update with Business Documents Contents Getting started... About Quark XML Author... Working with documents... Basic document features... What is a business document...

More information

2 Getting Started. Getting Started (v1.8.6) 3/5/2007

2 Getting Started. Getting Started (v1.8.6) 3/5/2007 2 Getting Started Java will be used in the examples in this section; however, the information applies to all supported languages for which you have installed a compiler (e.g., Ada, C, C++, Java) unless

More information

Programming II. Modularity 2017/18

Programming II. Modularity 2017/18 Programming II Modularity 2017/18 Module? Lecture Outline Evolution and history of programming languages Modularity Example History of Programming Programming Paradigms How and why languages develop? How

More information

CPS122 Lecture: Detailed Design and Implementation

CPS122 Lecture: Detailed Design and Implementation CPS122 Lecture: Detailed Design and Implementation Objectives: Last revised March 3, 2017 1. To introduce the use of a complete UML class box to document the name, attributes, and methods of a class 2.

More information

Release Notes. PREEvision. Version 6.5 SP14 English

Release Notes. PREEvision. Version 6.5 SP14 English Release Notes PREEvision Version 6.5 SP14 English Imprint Vector Informatik GmbH Ingersheimer Straße 24 70499 Stuttgart, Germany Vector reserves the right to modify any information and/or data in this

More information

CHRIST THE KING BOYS MATRIC HR. SEC. SCHOOL, KUMBAKONAM CHAPTER 2 TEXT FORMATTING

CHRIST THE KING BOYS MATRIC HR. SEC. SCHOOL, KUMBAKONAM CHAPTER 2 TEXT FORMATTING CHAPTER 2 TEXT FORMATTING 1. Explain how to create a Bulleted and Numbered List in Star Office Writer? One way to create a list of points or topics in a document is to create a bulleted list. A bullet

More information

Implementing Software Connectors through First-Class Methods

Implementing Software Connectors through First-Class Methods Implementing Software Connectors through First-Class Methods Cheoljoo Jeong and Sangduck Lee Computer & Software Technology Laboratory Electronics and Telecommunications Research Institute Taejon, 305-350,

More information

Using Microsoft Word's "track changes" editing feature: a short guide for authors and editors

Using Microsoft Word's track changes editing feature: a short guide for authors and editors Using Microsoft Word's "track changes" editing feature: a short guide for authors and editors This guide summarizes how to work with an editor who has used Microsoft Word's "track changes" feature to edit

More information

A Guide to Quark Author Web Edition October 2017 Update

A Guide to Quark Author Web Edition October 2017 Update A Guide to Quark Author Web Edition 2015 - October 2017 Update Contents Getting Started...1 Smart Documents...1 Introduction to the Quark Author Web Edition User Guide...1 Quark Author Web Edition configuration...1

More information

Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 43 Dynamic Binding (Polymorphism): Part III Welcome to Module

More information

CPS221 Lecture: Threads

CPS221 Lecture: Threads Objectives CPS221 Lecture: Threads 1. To introduce threads in the context of processes 2. To introduce UML Activity Diagrams last revised 9/5/12 Materials: 1. Diagram showing state of memory for a process

More information

Chapter 12. UML and Patterns. Copyright 2008 Pearson Addison-Wesley. All rights reserved

Chapter 12. UML and Patterns. Copyright 2008 Pearson Addison-Wesley. All rights reserved Chapter 12 UML and Patterns Copyright 2008 Pearson Addison-Wesley. All rights reserved Introduction to UML and Patterns UML and patterns are two software design tools that can be used within the context

More information

Designing Dexter-based Cooperative Hypermedia Systems

Designing Dexter-based Cooperative Hypermedia Systems Designing Dexter-based Cooperative Hypermedia Systems Kaj Grønbæk, Jens A. Hem, Ole L. Madsen, and Lennert Sloth Computer Science Department, Aarhus University, Denmark. ABSTRACT This paper discusses issues

More information

Draft: MLDesigner and LinCVS

Draft: MLDesigner and LinCVS Draft: MLDesigner and LinCVS 17th April 2003 Daniel Zinn zinn@mldesigner.com MLDesign Technologies, Inc. 2230 St. Francis Drive Palo Alto, CA 94303 support : www.mldesigner.com/support http : www.mldesigner.com

More information

Semantic Interconnection Models & Inscape. Unit Interconnection Model. Example Uses of Unit IM

Semantic Interconnection Models & Inscape. Unit Interconnection Model. Example Uses of Unit IM Architecture and Design Intent Semantic Interconnection Models & Inscape Dewayne E Perry ENS 623A Office Hours: T/Th 11:00-12:00 perry @ ece.utexas.edu www.ece.utexas.edu/~perry/education/382v-s06/ Lecture

More information

Handout 4: Version Control Reference

Handout 4: Version Control Reference CSCI 2600 Principles of Software Handout 4: Version Control Reference Introduction SVN (Subversion) provides the following functionality: It allows multiple users to edit the same files independently,

More information

Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 31 Static Members Welcome to Module 16 of Programming in C++.

More information

Some (semi-)advanced tips for LibreOffice

Some (semi-)advanced tips for LibreOffice Some (semi-)advanced tips for LibreOffice by Andy Pepperdine Introduction We cover several tips on special things in Writer and Calc and anything else that turns up. Although I use LibreOffice, these should

More information

How to Write Word Documents for Easy Import into DOORS

How to Write Word Documents for Easy Import into DOORS How to Write Word Documents for Easy Import into DOORS Jeremy Dick, Keith Collyer, Ken Jackson & Ian Zimmermann Version 1 2 April 2004 This document contains proprietary information that belongs to Telelogic

More information

Release Notes. PREEvision. Version 6.5 SP13 English

Release Notes. PREEvision. Version 6.5 SP13 English Release Notes PREEvision Version 6.5 SP13 English Imprint Vector Informatik GmbH Ingersheimer Straße 24 70499 Stuttgart, Germany Vector reserves the right to modify any information and/or data in this

More information