Continuous Integration for Concurrent MOOSE Framework and Application Development on GitHub
|
|
|
- Derek Phelps
- 9 years ago
- Views:
Transcription
1 Journal of pen research SoftWare Slaughter, A E et al 2015 Continuous Integration for Concurrent MOOSE. Journal of Open Research Software, 3: e14, DOI: ISSUES IN RESEARCH SOFTWARE Continuous Integration for Concurrent MOOSE Andrew E. Slaughter1, John W. Peterson1, Derek R. Gaston1, Cody J. Permann1, David Andrs1, and Jason M. Miller1 1 Modeling and Simulation Department, Idaho National Laboratory, P.O. Box 1625, Idaho Falls, ID [email protected], [email protected], [email protected], [email protected], [email protected], [email protected] Corresponding author: Andrew E. Slaughter For the past several years, Idaho National Laboratory's MOOSE framework team has employed modern software engineering techniques (continuous integration, joint application/framework source code repositories, automated regression testing, etc.) in developing closed-source multiphysics simulation software (Gaston et al., Journal of Open Research Software vol. 2, article e10, 2014). In March 2014, the MOOSE framework was released under an open source license on GitHub, significantly expanding and diversifying the pool of current active and potential future contributors on the project. Despite this recent growth, the same philosophy of concurrent framework and application development continues to guide the project's development roadmap. Several specific practices, including techniques for managing multiple repositories, conducting automated regression testing, and implementing a cascading build process are discussed in this short paper. Special attention is given to describing the manner in which these practices naturally synergize with the GitHub API and GitHub-specific features such as issue tracking, Pull Requests, and project forks. Keywords: continuous integration; github; multiphysics (1) Introduction The MOOSE (Multiphysics Object Oriented Simulation Environment) framework is an open-source computational platform for developing scientific applications. MOOSE development relies on direct continuous integration [1, 2] between the framework and all derived applications. As described in [3], this integration was originally implemented using a shared repository strategy. Since that publication, MOOSE has been released under the GNU LGPL 2.1 license and is currently available via GitHub [4]. To support individual application development, and because many of the MOOSE-based applications contain export-controlled content, the single repository design is no longer possible. This paper is a follow-on to our previous work [3], and details the integration of the opensource version of MOOSE in both public and private repositories, while still maintaining continuous integration and software engineering best practices. We also discuss the impact that open sourcing has had on user engagement levels with the MOOSE development process. Originally, the MOOSE framework and its applications were developed concurrently within a single SVN repository hosted at the Idaho National Laboratory (INL). Now that the framework has been moved to GitHub, the continuous integration process requires that MOOSE-based applications hosted in GitHub repositories (both public and private) and the INL-hosted Git repositories (based on the GitLab platform [5]) which naturally have different owners, permissions, and levels of accessibility interoperate seamlessly with the MOOSE framework repository on GitHub. While this paper focuses specifically on the interaction between GitHub-based repositories, related strategies have also been implemented to facilitate GitHub-GitLab interactions for all of the techniques discussed in Section 2. Separating the framework and applications into different repositories eliminates some of the benefits of the shared repository model detailed in [3]. In particular, the ability to commit across the framework and applications simultaneously is lost. Developers now face the additional burden of ensuring that changes to the code which affect both MOOSE and its dependent applications are synchronized. Section 2 describes, in detail, how repository forks, Git submodules, Pull Requests, and automated testing are combined in order to alleviate this burden. (2) Development Strategy As discussed in [3], a key benefit of the shared repository model was that the framework developers need to maintain backwards compatibility with previous APIs was
2 Art.e14, p. 2 of 7 Slaughter et al: Continuous Integration for Concurrent MOOSE largely absent the developers could update the applications along with changes to the framework in a single, atomic commit. This basic approach continues in the new multi-repository model, but of course it is no longer possible to achieve with a single commit into a single repository. Instead, the following technologies are critical for making this approach viable in the multi-repository model: 1. GitHub forks. 2. The cascading build system. 3. Git submodules and automated regression testing. The roles of each of these technologies are described in the following subsections. 2.1 Forking Stork MOOSE-based applications are created by Stork [6] through a repository fork," a standard practice in GitHubbased development. The fork provides a simple method for tracking MOOSE-based applications, and allows MOOSE developers to pull code, build and test the applications, and submit Pull Requests to the fork owners, providing them with the necessary updates when changes are made to the MOOSE API. Note that submission of a Pull Request does not require write access for the submitter: it merely makes code available which an application owner may then choose to incorporate into the project, or reject. Fig. 1 shows this development strategy in action: Pull Requests are issued to MOOSE-based applications which were originally created by forking Stork. As changes are made to the MOOSE framework, these applications are monitored in order to determine if the changes have altered their behavior. The monitoring is implemented through the cascading build and automated testing systems, as discussed in the following sections. The techniques used to monitor the various MOOSE-based applications are themselves undergoing rapid development, and will be discussed in greater detail in subsequent publications. The process of manually submitting Pull Requests to all Stork forks is clearly not sustainable: at the time of this writing, 125 forks are in existence, and even when the required patch is relatively small, it may be non-trivial to automate the process in an application-independent manner. One exception is the case where the required changes can be applied using a script, for example when the MOOSE input file syntax changes in a relatively simple way. In this case, the GitHub web API [7] can be used to automatically create a Pull Request for each dependent application, an example of which is shown in Fig. 2. Considering the limitations involved in manually updating applications, a related approach that uses Git submodules [8] has been successfully employed. In this alternate approach, the MOOSE-based application The stork network graph All branches in the network using fnedmud/stork as the reference point. Read our blog post about how it works. Keyboard shortcuts available Q Show Help fnedmud idohoiob le'etcr-ovirit-dovetiu lw4992 dasmy jamiesahote mi mki*ir<>^ncrin1 Figure 1: Screenshot of GitHub network graph for MOOSE developer (friedmud; Derek Gaston) fork of Stork that contains branches for each of the derivative applications that required an update due to a change in the MOOSE framework (
3 Slaughter et al: Continuous Integration for Concurrent MOOSE Art.e14, p. 3 of 7 Updating input file syntax (see MOOSE #4497)" #1 HOpeii aeslaughter wants to merge 1 commit into nathanielngrmaster from aeslaughter:nathanielng-test Conversation o o- Commits 1 [Jjl Files changed 1 Showing 1 changed file with 2 additions and 5 deletions. Unified 7 tests/kernels/simple_diffusion/simple_diffusion.i ^ -42,9 42 [Outputs] output_initial = true exodus = true 45 - [./console] 46 - type = Console 47 - perf_log = true 48 - linear_residuals = true 42 [Outputs] output_initial = true exodus = true 45 + print_linear_residuals = true 46 + print_perf_log = true Contribution activity Period: 1 day H 79 Pull Requests #2 Updating input file syntax a minute ago leizhao987/stork #2 Updating input file syntax a minute ago sm keller/otter #3 Updating input file syntax 2 minutes ago japnp/ant #2 Updating input file syntax 2 minutes ago tophmatthews/buck #2 Updating input file syntax 2 minutes ago whtblk/littlegrass #3 Updating input file syntax 3 minutes ago albertia/husky #2 Updating input file syntax 3 minutes ago zzyfisherman/platehole #3 Updating input file syntax 43 minutes ago dfhussey/fox Figure 2: GitHub screenshots showing: (a) the patch for a Pull Request created via the GitHub API, and (b) the list of automatically generated Pull Requests for various forks. repository contains a Git submodule for MOOSE which can be updated, either automatically or manually, based on the results of the regression testing system. The MOOSE-based Pika [9] application, for example, is updated in this way. This submodule update can also be restricted to a development branch within the application repository, allowing some users to continue running (and even developing) the application with a prior version of MOOSE, while other developers move forward with the latest API, with the goal of merging at some future date. Additional details of this strategy are discussed in Section Cascading Build System The cascading build system, as discussed in [3], still operates in essentially the same manner as it did in the earlier shared repository model, with various enhancements to
4 Art.e14, p. 4 of 7 Slaughter et al: Continuous Integration for Concurrent MOOSE support the multi-repository configuration. The build system now automatically detects MOOSE-based applications that are stored in directories alongside the moose directory (e.g., a MOOSE installation in -/projects/moose would find ~/projects/app0 and -/projects/ appl). Additionally, we employ a set of environment variables (e.g. $moose_dir) to support a user-defined directory structure. As before, executing the make command from any MOOSE-based application directory will automatically rebuild not only the application, but all of its dependencies as well. Additionally, running "make test_up from the $MOOSE_DIR/framework directory will automatically build and test all applications. This single command allows a MOOSE developer to ensure that the changes are compatible with the other MOOSE-based applications installed before proposing a GitHub Pull Request. 2.3 Automated Testing The continuous integration strategy employed by MOOSE requires every commit to undergo a series of tests to ensure that all MOOSE-based applications continue to build and pass their regression test suites (details of the Python-based "test harness used by MOOSE and the applications are discussed in [3]). Toward this end, a multi-level build and testing system called MooseBuild was developed (Gaston et al., in preparation) that integrates with GitHub, and facilitates the testing of MOOSE and its applications. The MooseBuild process is depicted graphically in Fig. 3, and the steps of the entire process from GitHub Pull Request to commit in the INL-hosted repositories is described in the following list. 1. Pull Request Created: All changes to MOOSE require GitHub Pull Requests [10]. Creating a Pull Request triggers the MooseBuild system, as shown in Fig Pull Request Testing: changes are checked for adherence to coding standards, compiled, and tested before being merged into the repository on various compilers and in various configurations (valgrind, debug, MPI, threaded). Test results are reported as comments and continuous integration status updates [11] on the Pull Request. Both framework- and application-level tests exist. If a frameworklevel test fails, the Pull Request will most likely not be merged as-is, and the author will need to address the failures. The failure of an application-level test may or may not prevent the merge, depending on the way MooseBuild is configured. 3. Review: All code changes go through a peer-review process prior to being merged, both to ensure correctness and to determine the appropriateness of the changes for the referenced issue number. In the Figure 3: Flowchart depicting the development process and associated MooseBuild testing system. For a more detailed description, see Section 2.3.
5 Slaughter et al: Continuous Integration for Concurrent MOOSE Art.e14, p. 5 of 7 MOOSE project, code proposed by any given developer must be reviewed and merged by someone else you cannot merge your own Pull Request. 4. Pull Request Merge: After the Pull Request has passed the tests and one or more members of the MOOSE developer community have signed off on it, the Pull Request is merged (by clicking the "green button on GitHub) into the devel branch of the repository. 5. Devel Branch Testing: A merge to the devel branch triggers a second round of testing that includes a suite of tests similar to Step 2. These are included to allow changes that are pushed directly to the development branch to be tested completely, even though this is a rare occurrence. Additionally, the devel branch of MOOSE is tested against the master branches of various other open- and closed-source MOOSE-based applications. Depending on the application, test failures will either cause the automated system to report a failure (and therefore prevent the MOOSE devel branch from merging into master) or simply be noted for future reference. 6. devel to master Merge: After the application tests are completed, the devel branch is automatically merged into master. This merge triggers Steps 7 and 9 to occur simultaneously. 7. App Testing: A second round of application testing occurs when the master branch is updated. This round tests the applications devel branch against the MOOSE master branch. 8. Update App Submodules: If the application tests pass in the second round of application (Step 7), the MOOSE submodule within the application is updated. Further details of this process are discussed below. 9. Documentation Updated: After the master branch is updated, the various documentationrelated tasks are executed. These include updates to the Doxygen-based source code documentation, input file syntax listings, and test timing data. The computational resources required to run the continuous integration system are fairly unexceptional: we currently employ ten rack-mounted Ubuntu-based build machines, each with dual 8-core Intel Xeon E GHz CPUs, 96GB of system memory, and a single 256GB solid state hard drive. The testing (Steps 2, 5, and 7) typically requires about 15 minutes to complete, and the entire process, from Pull Request to merging in the master branch, is usually finished in about one hour. Further elaboration on the two rounds of application testing and automatic submodule updates is warranted at this stage of the discussion. The system is designed to allow for framework- and application-spanning changes to occur without the master branches of either ever being in an invalid state. In general terms, this is accomplished by pushing application-breaking changes to the MOOSE GitHub repository (either directly to devel or to a special "integration branch created expressly for the purpose) and then updating a dependent application s MOOSE submodule to this commit on the same branch where the application itself is updated. The key point is that the Git submodule allows applications to be based on a version of MOOSE that is not yet in the master branch, but will be at some time in the future. The basic steps of this approach are given in further detail as follows: 1. The developer makes the necessary changes to the framework and application locally. 2. The framework changes are pushed to an integration branch in the MOOSE GitHub repository. 3. The application s MOOSE submodule is updated to a commit on the integration branch. 4. A Pull Request is submitted to the application with the proposed changes as well as a submodule update of the MOOSE framework that points to the integration branch. 5. After the application Pull Request is merged, a Pull Request is submitted from the integration branch to the devel branch in the MOOSE GitHub repository. We emphasize that the master branches of both the framework and the application are in a valid state during the entire process. This is important because it ensures that a user who tracks the master branch of their application can stay up-to-date without worrying about updating to an incompatible version of MOOSE, provided that the application is a part of the automated testing process. Furthermore, even if the integration branch is not merged into MOOSE devel in a timely manner (say, within a day or two) the dependent applications can continue to use revisions from the integration branch as long as necessary. 2.4 Discussion It is important to understand that MOOSE, its derivative applications, and the continuous integration strategy discussed in this paper are ongoing research projects. The MOOSE framework and the applications are required to adapt and improve, in a synchronized manner, on a daily basis. To date, we have not employed traditional versioning or major-minor-point releases in the development of the framework. We envision the automated and manual submodule updates discussed here as a more fine-grained application of this concept, but recognize that a shift in both user and developer practices will be required for this approach to truly flourish. We furthermore understand that maintaining, updating, and testing in the manner described in this paper does not scale particularly well in the number of applications. Therefore, in the future, we envision the need for stricter requirements on the application testing process, including e.g. minimum test coverage requirements, maximum test suite execution times, and willingness to merge compatibility pull requests from upstream in a timely manner. MooseBuild is being developed with extensibility in mind, and with the ability to allow external applications to test on their own hardware and report the results back to a
6 Art.e14, p. 6 of 7 Slaughter et al: Continuous Integration for Concurrent MOOSE centralized server or servers, thereby reducing the overall computational requirements for testing. (3) Documentation and Wiki The content from the INL-hosted Trac [12] wiki" described in [3] has since migrated to a public website [13]. This page is a one-stop shop" for all MOOSE-related support topics and documentation resources, including: installation instructions, details of MOOSE plugin system APIs, descriptions of MOOSE physics modules, and links to automatically-generated documentation (code coverage, test timing and input file syntax). All of the automatic documentation mentioned in [3] is still available; documentation of the MOOSE physics modules is an ongoing effort. The modules documentation is a key addition to the existing MOOSE framework documentation, and is essential for accommodating and enabling new users who can now obtain MOOSE without first receiving formal, inperson training on its use. Figure 4: Number of source code lines added (green) or deleted (red) per week for the MOOSE repository (as reported by GitHub). Note the increased activity after MOOSE was open-sourced in March, (4) Impact of Open Source Releasing MOOSE with an open source license was a strategic decision made with the goal of increasing the number of users and developers who can actively work on the project. It is instructive to look at the periods both immediately before and immediately following the public release of MOOSE on GitHub when trying to gauge the impact which opening the code has had on the project. Table 1 shows the change in both the number of commits and contributors in the four month periods immediately preceding and immediately following March 2014, the date when MOOSE officially went open source. The increased frequency and size of commits over the approximately one year period following March 2014 is also evident in Fig. 4. Fig. 5 highlights the increase in the rate of commits from outside developers as well as the number of unique contributors to the MOOSE framework. In addition to new framework developers, the overall number of MOOSE-based applications and application developers has also increased. In the prior six years of closed-source MOOSE development, approximately thirty applications were created. Since open-sourcing MOOSE, over 125 public Stork forks and approximately 10 new closed-source applications [14] have been created, demonstrating the important role that ease of access plays in the growth and improvement of scientific software. Lines Added/ Number of Number of Removed Commits Contributers Before / After / Table 1: Number of lines added/removed, commits, and unique contributors both before and after the open sourcing of MOOSE. Before" and After" refer to the four month periods immediately before and after the open sourcing of MOOSE, respectively (see the Appendix for how these value were determined). Figure 5: Left axis: commit history for the top ten MOOSE developers compared to all other" contributors. Right axis: cumulative number of unique contributors over time (thick black line). The shaded region highlights the time frame during which MOOSE has been available as an open source library on GitHub. (5) Future Work and Closing Remarks The system and methodology used by the MOOSE project for continuous integration and concurrent framework and application development on GitHub is rapidly evolving. The development aspects discussed here represent the MOOSE team s current strategy for handling the many challenging multi-repository integration issues which have arisen thus far, but it is inevitable that the supporting infrastructure will continue to evolve and improve over time. As the concepts discussed here are further streamlined, the burdens of managing multiple repositories will likewise be reduced. Finally, the initial community response to the open sourcing of MOOSE and the introduction of the related software engineering practices has been very positive. We are confident that further improvements will continue to attract new users and developers to the project.
7 Slaughter et al: Continuous Integration for Concurrent MOOSE Art.e14, p. 7 of 7 Competing Interests The authors declare that they have no competing interests. Author Information The submitted manuscript has been authored by a contractor of the U.S. Government under Contract DE-AC07-05ID Accordingly, the U.S. Government retains a non-exclusive, royalty-free license to publish or reproduce the published form of this contribution, or allow others to do so, for U.S. Government purposes. Appendix The results provided in Table 1 were obtained by analyzing the four months prior to and following the open-source release of MOOSE. The Git revisions corresponding to these dates are: 10-Oct-2013: 961fcf56 10-Mar-2014: b Jul-2014: 793e4ce6 Only changes to source and header files were recorded, across both modules and frameworks. The following commands were used for producing the total lines removed/ added, the number of commits, and the number of contributors, respectively: git log --numstat -- pretty="%h" <hash1>..< hash2> -- '*.[Ch]' awk 'NF ==3 {plus + = $1; minus +=$2} END {printf ("+%d, -%d\n", plus, minus)}' git rev-list --count <hash1>..<hash2> git shortlog -s <hash1>..<hash2> where <hash1>..<hash2> = 961fcf56..b and b e4ce6 for the four months prior to and after open-sourcing, respectively. References 1. Duvall, P M, Matyas, S and Glover, A 2007 Continuous integration: improving software quality and reducing risk. Addison-Wesley. Available at: com/books?vid=isbn Deshpande, A and Riehle, D 2008 Continuous integration in open source software development. In: Russo, B et al. (Eds.) Open Source Development, Communities and Quality, ser. The International Federation for Information Processing (IFIP), Springer, vol. 275, pp DOI: 3. Gaston, D R, Peterson, J W, Permann, C J, Andrs, D, Slaughter, A E and Miller, J M Jul Continuous integration for concurrent computational framework and application development. Journal of Open Research Software, 2(1): pp. 1-6, Article e10. DOI: dx.doi.org/ /jors.as Dabbish, L, Stuart, C, Tsay, J and Herbsleb, J 2012 Social coding in GitHub: Transparency and collaboration in an open software repository. In Proceedings of the ACM 2012 Conference on Computer Supported Cooperative Work, ser. CSCW 12. New York, NY, USA: ACM, 2012, pp DOI: org/ / How to cite this article: Slaughter, A E, Peterson, J W, Gaston, D R, Permann, C J, Andrs, D and Miller, J M 2015 Continuous Integration for Concurrent MOOSE. Journal of Open Research Software, 3: e14, DOI: Published: 20 November 2015 Copyright: 2015 The Author(s). This is an open-access article distributed under the terms of the Creative Commons Attribution 3.0 Unported License (CC-BY 3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited. See M Journal of Open Research Software is a peer-reviewed open access journal published by Ubiquity Press OPEN ACCESS Q
MOOSE-Based Application Development on GitLab
MOOSE-Based Application Development on GitLab MOOSE Team Idaho National Laboratory September 9, 2014 Introduction The intended audience for this talk is developers of INL-hosted, MOOSE-based applications.
CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.)
Today: Source code control CPSC 491 Source Code (Version) Control Exercise: 1. Pretend like you don t have a version control system (e. g., no git, subversion, cvs, etc.) 2. How would you manage your source
MONITORING PERFORMANCE IN WINDOWS 7
MONITORING PERFORMANCE IN WINDOWS 7 Performance Monitor In this demo we will take a look at how we can use the Performance Monitor to capture information about our machine performance. We can access Performance
Avalanche Site Edition
Avalanche Site Edition Version 4.8 avse ug 48 20090325 Revised 03/20/2009 ii Copyright 2008 by Wavelink Corporation All rights reserved. Wavelink Corporation 6985 South Union Park Avenue, Suite 335 Midvale,
Source Control Systems
Source Control Systems SVN, Git, GitHub SoftUni Team Technical Trainers Software University http://softuni.bg Table of Contents 1. Software Configuration Management (SCM) 2. Version Control Systems: Philosophy
Using GitHub for Rally Apps (Mac Version)
Using GitHub for Rally Apps (Mac Version) SOURCE DOCUMENT (must have a rallydev.com email address to access and edit) Introduction Rally has a working relationship with GitHub to enable customer collaboration
SYSTEM DEVELOPMENT AND IMPLEMENTATION
CHAPTER 6 SYSTEM DEVELOPMENT AND IMPLEMENTATION 6.0 Introduction This chapter discusses about the development and implementation process of EPUM web-based system. The process is based on the system design
Change Manager 5.0 Installation Guide
Change Manager 5.0 Installation Guide Copyright 1994-2008 Embarcadero Technologies, Inc. Embarcadero Technologies, Inc. 100 California Street, 12th Floor San Francisco, CA 94111 U.S.A. All rights reserved.
About This Guide... 4. Signature Manager Outlook Edition Overview... 5
Contents About This Guide... 4 Signature Manager Outlook Edition Overview... 5 How does it work?... 5 But That's Not All...... 6 And There's More...... 6 Licensing... 7 Licensing Information... 7 System
Developing Software in a Private workspace - 4.01 PM PMS
SBCH06.fm Page 67 Friday, October 4, 2002 4:01 PM 6 Private Workspace A government clerk s room, showing a desk with books, telephone and directory, and a desk lamp on it. Washington, D.C., 1939. Photo
x64 Servers: Do you want 64 or 32 bit apps with that server?
TMurgent Technologies x64 Servers: Do you want 64 or 32 bit apps with that server? White Paper by Tim Mangan TMurgent Technologies February, 2006 Introduction New servers based on what is generally called
COMMANDS 1 Overview... 1 Default Commands... 2 Creating a Script from a Command... 10 Document Revision History... 10
LabTech Commands COMMANDS 1 Overview... 1 Default Commands... 2 Creating a Script from a Command... 10 Document Revision History... 10 Overview Commands in the LabTech Control Center send specific instructions
The Key Technology Research of Virtual Laboratory based On Cloud Computing Ling Zhang
International Conference on Advances in Mechanical Engineering and Industrial Informatics (AMEII 2015) The Key Technology Research of Virtual Laboratory based On Cloud Computing Ling Zhang Nanjing Communications
VMware Horizon FLEX User Guide
Horizon FLEX 1.5 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a new edition. To check for more recent editions of this
Performance Optimization Guide
Performance Optimization Guide Publication Date: July 06, 2016 Copyright Metalogix International GmbH, 2001-2016. All Rights Reserved. This software is protected by copyright law and international treaties.
IBM Software Information Management Creating an Integrated, Optimized, and Secure Enterprise Data Platform:
Creating an Integrated, Optimized, and Secure Enterprise Data Platform: IBM PureData System for Transactions with SafeNet s ProtectDB and DataSecure Table of contents 1. Data, Data, Everywhere... 3 2.
Questions and Answers
AutoCAD 2013 Questions and Answers With powerful new tools for design aggregation, connecting with Autodesk 360 cloud-enabled services, and accessing hundreds of apps, AutoCAD 2013 software powers your
Test Automation Framework
Test Automation Framework Rajesh Popli Manager (Quality), Nagarro Software Pvt. Ltd., Gurgaon, INDIA [email protected] ABSTRACT A framework is a hierarchical directory that encapsulates shared resources,
Software Requirement Specification for Web Based Integrated Development Environment. DEVCLOUD Web Based Integrated Development Environment.
Software Requirement Specification for Web Based Integrated Development Environment DEVCLOUD Web Based Integrated Development Environment TinTin Alican Güçlükol Anıl Paçacı Meriç Taze Serbay Arslanhan
XpoLog Center Suite Log Management & Analysis platform
XpoLog Center Suite Log Management & Analysis platform Summary: 1. End to End data management collects and indexes data in any format from any machine / device in the environment. 2. Logs Monitoring -
Contents. 2. cttctx Performance Test Utility... 8. 3. Server Side Plug-In... 9. 4. Index... 11. www.faircom.com All Rights Reserved.
c-treeace Load Test c-treeace Load Test Contents 1. Performance Test Description... 1 1.1 Login Info... 2 1.2 Create Tables... 3 1.3 Run Test... 4 1.4 Last Run Threads... 5 1.5 Total Results History...
Digital Commons Journal Guide: How to Manage, Peer Review, and Publish Submissions to Your Journal
bepress Digital Commons Digital Commons Reference Material and User Guides 6-2016 Digital Commons Journal Guide: How to Manage, Peer Review, and Publish Submissions to Your Journal bepress Follow this
Using the T&D Thermo App with TR-7wf Data Loggers
Using the T&D Thermo App with TR-7wf Data Loggers T&D Thermo The T&D Thermo App from T&D Corporation can be used to accomplish a variety of functions with the TR-7wf Series of Wi-Fi enabled wireless Data
Web Developer Toolkit for IBM Digital Experience
Web Developer Toolkit for IBM Digital Experience Open source Node.js-based tools for web developers and designers using IBM Digital Experience Tools for working with: Applications: Script Portlets Site
IBM Unica emessage Version 8 Release 6 February 13, 2015. User's Guide
IBM Unica emessage Version 8 Release 6 February 13, 2015 User's Guide Note Before using this information and the product it supports, read the information in Notices on page 403. This edition applies to
Version Control Tutorial using TortoiseSVN and. TortoiseGit
Version Control Tutorial using TortoiseSVN and TortoiseGit Christopher J. Roy, Associate Professor Virginia Tech, [email protected] This tutorial can be found at: www.aoe.vt.edu/people/webpages/cjroy/software-resources/tortoise-svn-git-tutorial.pdf
How to Create a Free Private GitHub Repository Educational Account
How to Create a Free Private GitHub Repository Educational Account Computer Science Department College of Engineering, Computer Science, & Technology California State University, Los Angeles What is GitHub?
Design and Implementation of IaaS platform based on tool migration Wei Ding
4th International Conference on Mechatronics, Materials, Chemistry and Computer Engineering (ICMMCCE 2015) Design and Implementation of IaaS platform based on tool migration Wei Ding State Key Laboratory
VMware Server 2.0 Essentials. Virtualization Deployment and Management
VMware Server 2.0 Essentials Virtualization Deployment and Management . This PDF is provided for personal use only. Unauthorized use, reproduction and/or distribution strictly prohibited. All rights reserved.
MWA Project. Configuration Management Plan
Document No.: MWA-XXX-XXX Revision: 0002 Date: 07-OCT-2009 MWA Project Configuration Management Plan MWA Project MWA Consortium Copyright 2009, MWA Consortium. All Rights Reserved. Control Status Document
RingCentral for Desktop. UK User Guide
RingCentral for Desktop UK User Guide RingCentral for Desktop Table of Contents Table of Contents 3 Welcome 4 Download and install the app 5 Log in to RingCentral for Desktop 6 Getting Familiar with RingCentral
User Guide For ipodder on Windows systems
User Guide Page 1 User Guide For ipodder on Windows systems Part of the ipodder Documentation User Guide Page 2 Table Of Contents 1. Introduction (p3) 2. Getting Started (p3) 1. Requirements (p4) 2. Installation
Do Your IT Housekeeping with UC4 Workload Automation Suite
Do Your IT Housekeeping with UC4 Workload Automation Suite Introduction This document describes how to keep the increasing complexity of data centers in check by means of IT housekeeping specifically,
By the Citrix Publications Department. Citrix Systems, Inc.
Licensing: Planning Your Deployment By the Citrix Publications Department Citrix Systems, Inc. Notice The information in this publication is subject to change without notice. THIS PUBLICATION IS PROVIDED
Subversion Integration for Visual Studio
Subversion Integration for Visual Studio VisualSVN Team VisualSVN: Subversion Integration for Visual Studio VisualSVN Team Copyright 2005-2008 VisualSVN Team Windows is a registered trademark of Microsoft
Deltek Touch Time & Expense for Vision 1.3. Release Notes
Deltek Touch Time & Expense for Vision 1.3 Release Notes June 25, 2014 While Deltek has attempted to verify that the information in this document is accurate and complete, some typographical or technical
Deltek Touch Time & Expense for GovCon. User Guide for Triumph
Deltek Touch Time & Expense for GovCon User Guide for Triumph November 25, 2014 While Deltek has attempted to verify that the information in this document is accurate and complete, some typographical or
Minecraft Server Dashboard Users Guide
Minecraft Server Dashboard Users Guide navhaxs Minecraft Server Dashboard simplifies your server management experience by replacing all the manual editing of configuration files and console commands with
Software Configuration Management and Continuous Integration
1 Chapter 1 Software Configuration Management and Continuous Integration Matthias Molitor, 1856389 Reaching and maintaining a high quality level is essential for each today s software project. To accomplish
Synthetic Monitoring Scripting Framework. User Guide
Synthetic Monitoring Scripting Framework User Guide Please direct questions about {Compuware Product} or comments on this document to: APM Customer Support FrontLine Support Login Page: http://go.compuware.com
Monitoring HP OO 10. Overview. Available Tools. HP OO Community Guides
HP OO Community Guides Monitoring HP OO 10 This document describes the specifications of components we want to monitor, and the means to monitor them, in order to achieve effective monitoring of HP Operations
Figure 1: Graphical example of a mergesort 1.
CSE 30321 Computer Architecture I Fall 2011 Lab 02: Procedure Calls in MIPS Assembly Programming and Performance Total Points: 100 points due to its complexity, this lab will weight more heavily in your
BPMN Business Process Modeling Notation
BPMN (BPMN) is a graphical notation that describes the logic of steps in a business process. This notation has been especially designed to coordinate the sequence of processes and messages that flow between
Using Git for Project Management with µvision
MDK Version 5 Tutorial AN279, Spring 2015, V 1.0 Abstract Teamwork is the basis of many modern microcontroller development projects. Often teams are distributed all over the world and over various time
Source Control Guide: Git
MadCap Software Source Control Guide: Git Flare 11.1 Copyright 2015 MadCap Software. All rights reserved. Information in this document is subject to change without notice. The software described in this
Integrated Application and Data Protection. NEC ExpressCluster White Paper
Integrated Application and Data Protection NEC ExpressCluster White Paper Introduction Critical business processes and operations depend on real-time access to IT systems that consist of applications and
Using Red Hat Network Satellite Server to Manage Dell PowerEdge Servers
Using Red Hat Network Satellite Server to Manage Dell PowerEdge Servers Enterprise Product Group (EPG) Dell White Paper By Todd Muirhead and Peter Lillian July 2004 Contents Executive Summary... 3 Introduction...
Tivoli Endpoint Manager for Remote Control Version 8 Release 2. User s Guide
Tivoli Endpoint Manager for Remote Control Version 8 Release 2 User s Guide Tivoli Endpoint Manager for Remote Control Version 8 Release 2 User s Guide Note Before using this information and the product
MATLAB & Git Versioning: The Very Basics
1 MATLAB & Git Versioning: The Very Basics basic guide for using git (command line) in the development of MATLAB code (windows) The information for this small guide was taken from the following websites:
Version Control Your Jenkins Jobs with Jenkins Job Builder
Version Control Your Jenkins Jobs with Jenkins Job Builder Abstract Wayne Warren [email protected] Puppet Labs uses Jenkins to automate building and testing software. While we do derive benefit from
Customer Support Policy
Customer Support Policy This Customer Support Policy ( Policy ) describes the Support that Invenias provides to Customers that have paid all applicable fees and that are using Licensed Software in a Supported
MWA Project. Configuration Management Plan
Document No.: 46-01002 Revision: 0004 Date: 22-Oct-2009 MWA Project Configuration Management Plan MWA Project MWA Consortium Copyright 2009, MWA Consortium. All Rights Reserved. Control Status Document
ADDING and/or DELETING PIN NUMBERS (Plus other simple programming commands) in My DK-16 or DK-26 DIGITAL KEYPAD
ADDING and/or DELETING PIN NUMBERS (Plus other simple programming commands) in My DK-16 or DK-26 DIGITAL KEYPAD A recurring call that we get here at Securitron Technical Support is from end users of our
VBLOCK SOLUTION FOR SAP APPLICATION SERVER ELASTICITY
Vblock Solution for SAP Application Server Elasticity Table of Contents www.vce.com VBLOCK SOLUTION FOR SAP APPLICATION SERVER ELASTICITY Version 2.0 February 2013 1 Copyright 2013 VCE Company, LLC. All
GITHUB and Continuous Integration in a Software World
Continuous integration in a social-coding world: Empirical evidence from GITHUB Bogdan Vasilescu, Stef van Schuylenburg, Jules Wulms, Alexander Serebrenik, Mark G. J. van den Brand Eindhoven University
Registry Tuner. Software Manual
Registry Tuner Software Manual Table of Contents Introduction 1 System Requirements 2 Frequently Asked Questions 3 Using the Lavasoft Registry Tuner 5 Scan and Fix Registry Errors 7 Optimize Registry
Version Control for Computational Economists: An Introduction
Version Control for Computational Economists: An Introduction Jake C. Torcasso April 3, 2014 Starting Point A collection of files on your computer Changes to files and new files over time Interested in
Siebel Business Process Framework: Workflow Guide. Siebel Innovation Pack 2013 Version 8.1/8.2 September 2013
Siebel Business Process Framework: Workflow Guide Siebel Innovation Pack 2013 Version 8.1/8.2 September 2013 Copyright 2005, 2013 Oracle and/or its affiliates. All rights reserved. This software and related
Red Hat Network Satellite Management and automation of your Red Hat Enterprise Linux environment
Red Hat Network Satellite Management and automation of your Red Hat Enterprise Linux environment WHAT IS IT? Red Hat Network (RHN) Satellite server is an easy-to-use, advanced systems management platform
Red Hat Satellite Management and automation of your Red Hat Enterprise Linux environment
Red Hat Satellite Management and automation of your Red Hat Enterprise Linux environment WHAT IS IT? Red Hat Satellite server is an easy-to-use, advanced systems management platform for your Linux infrastructure.
S7 for Windows S7-300/400
S7 for Windows S7-300/400 A Programming System for the Siemens S7 300 / 400 PLC s IBHsoftec has an efficient and straight-forward programming system for the Simatic S7-300 and ern controller concept can
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
SAS in clinical trials A relook at project management,
SAS in clinical trials A relook at project management, tools and software engineering Sameera Nandigama - Statistical Programmer PhUSE 2014 AD07 2014 inventiv Health. All rights reserved. Introduction
Table of Contents. FleetSoft Installation Guide
FleetSoft Installation Guide Table of Contents FleetSoft Installation Guide... 1 Minimum System Requirements... 2 Installation Notes... 3 Frequently Asked Questions... 4 Deployment Overview... 6 Automating
Authorize Sauce Documentation
Authorize Sauce Documentation Release 0.4.1 Jeff Schenck March 19, 2016 Contents 1 Saucy Features 3 2 Contents 5 2.1 Installation................................................ 5 2.2 Introduction...............................................
Site Configuration SETUP GUIDE. Windows Hosts Single Workstation Installation. May08. May 08
Site Configuration SETUP GUIDE Windows Hosts Single Workstation Installation May08 May 08 Copyright 2008 Wind River Systems, Inc. All rights reserved. No part of this publication may be reproduced or transmitted
Get an Easy Performance Boost Even with Unthreaded Apps. with Intel Parallel Studio XE for Windows*
Get an Easy Performance Boost Even with Unthreaded Apps for Windows* Can recompiling just one file make a difference? Yes, in many cases it can! Often, you can achieve a major performance boost by recompiling
Operating system Dr. Shroouq J.
3 OPERATING SYSTEM STRUCTURES An operating system provides the environment within which programs are executed. The design of a new operating system is a major task. The goals of the system must be well
RAVEN: A GUI and an Artificial Intelligence Engine in a Dynamic PRA Framework
INL/CON-13-28360 PREPRINT RAVEN: A GUI and an Artificial Intelligence Engine in a Dynamic PRA Framework ANS Annual Meeting C. Rabiti D. Mandelli A. Alfonsi J. J. Cogliati R. Kinoshita D. Gaston R. Martineau
Hetero Streams Library 1.0
Release Notes for release of Copyright 2013-2016 Intel Corporation All Rights Reserved US Revision: 1.0 World Wide Web: http://www.intel.com Legal Disclaimer Legal Disclaimer You may not use or facilitate
Windows Server 2003 migration: Your three-phase action plan to reach the finish line
WHITE PAPER Windows Server 2003 migration: Your three-phase action plan to reach the finish line Table of contents Executive summary...2 Windows Server 2003 and the big migration question...3 If only migration
ERIKA Enterprise pre-built Virtual Machine
ERIKA Enterprise pre-built Virtual Machine with support for Arduino, STM32, and others Version: 1.0 July 2, 2014 About Evidence S.r.l. Evidence is a company operating in the field of software for embedded
Puppet Firewall Module and Landb Integration
Puppet Firewall Module and Landb Integration Supervisor: Steve Traylen Student: Andronidis Anastasios Summer 2012 1 Abstract During my stay at CERN as an intern, I had to complete two tasks that are related
Siemens HiPath ProCenter Multimedia
Siemens HiPath ProCenter Multimedia Today s business climate is tougher than ever, and chances are your competitors are no longer just a local concern. All this means finding ways of improving customer
Visual Dialogue User Guide. Version 6.1
Visual Dialogue User Guide Version 6.1 2015 Pitney Bowes Software Inc. All rights reserved. This document may contain confidential and proprietary information belonging to Pitney Bowes Inc. and/or its
Higher Computing Science Course Assessment Specification (C716 76)
Higher Computing Science Course Assessment Specification (C716 76) Valid from August 2014 This edition: June 2015, version 1.3 This specification may be reproduced in whole or in part for educational purposes
AdminToys Suite. Installation & Setup Guide
AdminToys Suite Installation & Setup Guide Copyright 2008-2009 Lovelysoft. All Rights Reserved. Information in this document is subject to change without prior notice. Certain names of program products
Agile QA Process. Anand Bagmar [email protected] [email protected] http://www.essenceoftesting.blogspot.com. Version 1.
Agile QA Process Anand Bagmar [email protected] [email protected] http://www.essenceoftesting.blogspot.com Version 1.1 Agile QA Process 1 / 12 1. Objective QA is NOT the gatekeeper of the quality
VCCC Appliance VMware Server Installation Guide
VCCC Appliance VMware Server Installation Guide Content Preface... 4 System Requirements... 4 Installation Procedure... 4 CCC Virtual Machine Installation... 5 CCC Virtual Machine Management... 12 Resource
WHITE PAPER. Best Practices for Configuring PATROL for Microsoft Exchange Servers
WHITE PAPER Best Practices for Configuring PATROL for Microsoft Exchange Servers Contents INTRODUCTION..................................................... 3 PATROL SECURITY....................................................
Introducing Xcode Source Control
APPENDIX A Introducing Xcode Source Control What You ll Learn in This Appendix: u The source control features offered in Xcode u The language of source control systems u How to connect to remote Subversion
Fogbeam Vision Series - The Modern Intranet
Fogbeam Labs Cut Through The Information Fog http://www.fogbeam.com Fogbeam Vision Series - The Modern Intranet Where It All Started Intranets began to appear as a venue for collaboration and knowledge
Eastern Illinois University information technology services. strategic plan. January,
Eastern Illinois University information technology services strategic plan January, 2014 Introduction With the selection of emerging technologies as one of the six themes of the university s recent strategic
CA SiteMinder. Upgrade Guide. r12.0 SP2
CA SiteMinder Upgrade Guide r12.0 SP2 This documentation and any related computer software help programs (hereinafter referred to as the "Documentation") are for your informational purposes only and are
GitLab as an Alternative Development Platform for Github.com
Platform for Github.com LinuxCon Europe 2014 October 13, 2014 Ralf Lang Linux Consultant / Developer [email protected] - Linux/Open Source Consulting, Training, Support & Development Introducing B1 Systems
HP Operations Agent for NonStop Software Improves the Management of Large and Cross-platform Enterprise Solutions
HP Operations Agent for NonStop Software Improves the Management of Large and Cross-platform Enterprise Solutions HP Operations Agent for NonStop software manages HP NonStop servers and brings NonStop
Oracle Enterprise Manager
Oracle Enterprise Manager System Monitoring Plug-in Installation Guide for Apache Tomcat Release 12.1.0.1.0 E28545-04 February 2014 This document provides installation instructions and configuration information
GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS
Embedded Systems White Paper GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS September 2009 ABSTRACT Android is an open source platform built by Google that includes an operating system,
The EMSX Platform. A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks. A White Paper.
The EMSX Platform A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks A White Paper November 2002 Abstract: The EMSX Platform is a set of components that together provide
Getting Started Guide
Getting Started Guide www.exclaimer.com Contents About This Guide... 2 Signature Manager Overview... 3 How does it Work?... 3 But That s Not All... 4 And There s More... 4 Licensing... 5 Licensing Information...
Asta Powerproject Enterprise
Asta Powerproject Enterprise Overview and System Requirements Guide Asta Development plc Kingston House Goodsons Mews Wellington Street Thame Oxfordshire OX9 3BX United Kingdom Tel: +44 (0)1844 261700
UBUNTU DISK IO BENCHMARK TEST RESULTS
UBUNTU DISK IO BENCHMARK TEST RESULTS FOR JOYENT Revision 2 January 5 th, 2010 The IMS Company Scope: This report summarizes the Disk Input Output (IO) benchmark testing performed in December of 2010 for
Symantec Client Management Suite 8.0
IT Flexibility. User Freedom. Data Sheet: Endpoint Management Overview of Symantec Client Management Suite Symantec Client Management Suite automates time-consuming and redundant tasks for deploying, managing,
