An Abstraction for Version Control Systems

An Abstraction for Version Control Systems PDF

Author: Matthias Kleine

Publisher: Universitätsverlag Potsdam

Published: 2012

Total Pages: 88

ISBN-13: 3869561580

DOWNLOAD EBOOK →

Version Control Systems (VCS) allow developers to manage changes to software artifacts. Developers interact with VCSs through a variety of client programs, such as graphical front-ends or command line tools. It is desirable to use the same version control client program against different VCSs. Unfortunately, no established abstraction over VCS concepts exists. Instead, VCS client programs implement ad-hoc solutions to support interaction with multiple VCSs. This thesis presents Pur, an abstraction over version control concepts that allows building rich client programs that can interact with multiple VCSs. We provide an implementation of this abstraction and validate it by implementing a client application.

Towards version control in object-based systems

Towards version control in object-based systems PDF

Author: Jakob Reschke

Publisher: Universitätsverlag Potsdam

Published: 2018

Total Pages: 106

ISBN-13: 386956430X

DOWNLOAD EBOOK →

Version control is a widely used practice among software developers. It reduces the risk of changing their software and allows them to manage different configurations and to collaborate with others more efficiently. This is amplified by code sharing platforms such as GitHub or Bitbucket. Most version control systems track files (e.g., Git, Mercurial, and Subversion do), but some programming environments do not operate on files, but on objects instead (many Smalltalk implementations do). Users of such environments want to use version control for their objects anyway. Specialized version control systems, such as the ones available for Smalltalk systems (e.g., ENVY/Developer and Monticello), focus on a small subset of objects that can be versioned. Most of these systems concentrate on the tracking of methods, classes, and configurations of these. Other user-defined and user-built objects are either not eligible for version control at all, tracking them involves complicated workarounds, or a fixed, domain-unspecific serialization format is used that does not equally suit all kinds of objects. Moreover, these version control systems that are specific to a programming environment require their own code sharing platforms;popular, well-established platforms for file-based version control systems cannot be used or adapter solutions need to be implemented and maintained. To improve the situation for version control of arbitrary objects, a framework for tracking, converting, and storing of objects is presented in this report. It allows editions of objects to be stored in an exchangeable, existing backend version control system. The platforms of the backend version control system can thus be reused. Users and objects have control over how objects are captured for the purpose of version control. Domain-specific requirements can be implemented. The storage format (i.e. the file format, when file-based backend version control systems are used) can also vary from one object to another. Different editions of objects can be compared and sets of changes can be applied to graphs of objects. A generic way for capturing and restoring that supports most kinds of objects is described. It models each object as a collection of slots. Thus, users can begin to track their objects without first having to implement version control supplements for their own kinds of objects. The proposed architecture is evaluated using a prototype implementation that can be used to track objects in Squeak/Smalltalk with Git. The prototype improves the suboptimal standing of user objects with respect to version control described above and also simplifies some version control tasks for classes and methods as well. It also raises new problems, which are discussed in this report as well.

Version Control with Subversion

Version Control with Subversion PDF

Author: Ben Collins-Sussman

Publisher: "O'Reilly Media, Inc."

Published: 2004-06-22

Total Pages: 322

ISBN-13: 0596004486

DOWNLOAD EBOOK →

Open source, as you know, makes code freely available-but, without organization, code development can easily become chaotic. Version control systems allow each team member to work separately and then merge source code changes into a single repository that keeps a record of each separate version. No nasty clashes, no lost work. Written by members of the Subversion open source development team, Version Control with Subversion introduces the powerful new versioning tool designed to be the successor to the Concurrent Versions System (CVS), CVS users will find the look and feel of Subversion comfortably familiar, but Subversion is far more flexible, robust, and usable. Version Control with Subversion is useful to readers of different backgrounds, from those with no previous experience in version control to experienced systems administrators. It describes the installation and configuration of Subversion for managing a programming project, documentation, or any other team-based endeavor. If you've never used version control, you'll find everything you need to get started in this book. And if you're a seasoned CVS pro, this book will help you make a painless leap into Subversion.

Extending a dynamic programming language and runtime environment with access control

Extending a dynamic programming language and runtime environment with access control PDF

Author: Tessenow, Philipp

Publisher: Universitätsverlag Potsdam

Published: 2016-11-09

Total Pages: 90

ISBN-13: 3869563737

DOWNLOAD EBOOK →

Complexity in software systems is a major factor driving development and maintenance costs. To master this complexity, software is divided into modules that can be developed and tested separately. In order to support this separation of modules, each module should provide a clean and concise public interface. Therefore, the ability to selectively hide functionality using access control is an important feature in a programming language intended for complex software systems. Software systems are increasingly distributed, adding not only to their inherent complexity, but also presenting security challenges. The object-capability approach addresses these challenges by defining language properties providing only minimal capabilities to objects. One programming language that is based on the object-capability approach is Newspeak, a dynamic programming language designed for modularity and security. The Newspeak specification describes access control as one of Newspeak’s properties, because it is a requirement for the object-capability approach. However, access control, as defined in the Newspeak specification, is currently not enforced in its implementation. This work introduces an access control implementation for Newspeak, enabling the security of object-capabilities and enhancing modularity. We describe our implementation of access control for Newspeak. We adapted the runtime environment, the reflective system, the compiler toolchain, and the virtual machine. Finally, we describe a migration strategy for the existing Newspeak code base, so that our access control implementation can be integrated with minimal effort.

System Analysis and Modeling: Models and Reusability

System Analysis and Modeling: Models and Reusability PDF

Author: Daniel Amyot

Publisher: Springer

Published: 2014-09-24

Total Pages: 329

ISBN-13: 3319117432

DOWNLOAD EBOOK →

This book constitutes the refereed papers of the proceedings of the 8th International Conference on System Analysis and Modeling, SAM 2014, held in Valencia, Spain, in September 2014. The 18 full papers and the 3 short papers presented together with 2 keynotes were carefully reviewed and selected from 71 submissions. The contributions are organized in topical sections named: reuse; availability, safety and optimization; sequences and interactions; testing; metrics, constraints and repositories; and SDL and V&V.

The JCop language specification : Version 1.0, April 2012

The JCop language specification : Version 1.0, April 2012 PDF

Author: Malte Appeltauer

Publisher: Universitätsverlag Potsdam

Published: 2012

Total Pages: 60

ISBN-13: 3869561939

DOWNLOAD EBOOK →

Program behavior that relies on contextual information, such as physical location or network accessibility, is common in today's applications, yet its representation is not sufficiently supported by programming languages. With context-oriented programming (COP), such context-dependent behavioral variations can be explicitly modularized and dynamically activated. In general, COP could be used to manage any context-specific behavior. However, its contemporary realizations limit the control of dynamic adaptation. This, in turn, limits the interaction of COP's adaptation mechanisms with widely used architectures, such as event-based, mobile, and distributed programming. The JCop programming language extends Java with language constructs for context-oriented programming and additionally provides a domain-specific aspect language for declarative control over runtime adaptations. As a result, these redesigned implementations are more concise and better modularized than their counterparts using plain COP. JCop's main features have been described in our previous publications. However, a complete language specification has not been presented so far. This report presents the entire JCop language including the syntax and semantics of its new language constructs.

System Configuration Management

System Configuration Management PDF

Author: Boris Magnusson

Publisher: Springer Science & Business Media

Published: 1998-07-08

Total Pages: 228

ISBN-13: 9783540647331

DOWNLOAD EBOOK →

This book constitutes the refereed proceedings of the 8th International Symposium on System Configuration Management, SCM-8, held in conjunction with ECOOP'98 in Brussels, Belgium, in July 1998. The volume presents 17 revised full papers carefully reviewed and selected for presentation; also included is a tutorial lecture; approximately half of the papers come from industry. The book is divided into sections on industrial experience, experimental systems, product data management and system configuration management, formal approaches, cooperative systems, and Web-based applications.

Software Architecture

Software Architecture PDF

Author: Patrizia Scandurra

Publisher: Springer Nature

Published: 2022-08-18

Total Pages: 350

ISBN-13: 303115116X

DOWNLOAD EBOOK →

This book constitutes the refereed proceedings of the tracks and workshops which complemented the 15th European Conference on Software Architecture, ECSA 2021, held in Växjö, Sweden*, in September 2021. The 15 full papers presented in this volume were carefully reviewed and selected from 17 submissions. Papers presented were accepted into the following tracks and workshops: Industry Track; DE&I - Diversity, Equity and Inclusion Track; SAEroCon - 8th Workshop on Software Architecture Erosion and Architectural Consistency; MSR4SA - 1st International Workshop on Mining Software Repositories for Software Architecture; SAML – 1st International Workshop on Software Architecture and Machine Learning; CASA - 4th Context-aware, Autonomous and Smart Architectures International Workshop; FAACS - 5th International Workshop on Formal Approaches for Advanced Computing Systems; MDE4SA - 2nd International Workshop on Model-Driven Engineering for Software Architecture; Tools and Demonstrations Track; Tutorial Track. *The conference was held virtually due to the COVID-19 pandemic.

Fundamental Approaches to Software Engineering

Fundamental Approaches to Software Engineering PDF

Author: Marsha Chechik

Publisher: Springer

Published: 2009-03-28

Total Pages: 500

ISBN-13: 3642005934

DOWNLOAD EBOOK →

This book constitutes the refereed proceedings of the 12th International Conference on Fundamental Approaches to Software Engineering, FASE 2009, held in York, UK, in March 2009, as part of ETAPS 2009, the European Joint Conferences on Theory and Practice of Software. The 30 revised full papers presented together with 2 tool demonstrations were carefully reviewed and selected from 123 regluar and 9 tool paper submissions. The topics addressed are model-driven development, synthesis and adaptation, modeling, testing and debugging, model analysis, patterns, security, queries and error handling, and tools (demos) and program analysis.