RSS
Логотип
Баннер в шапке 1
Баннер в шапке 2
Project

LUKOIL-Nizhegorodniinefteproekt completed the Aveva PDMS setup

Customers: LUKOIL-Nizhegorodniinefteproekt

Nizhny Novgorod; Consulting, including managerial and personnel

Product: Aveva PDMS

Project date: 2014/06  - 2014/09

Content

On May 25, 2015 it became known of implementation of a CAD of Aveva PDMS in LUKOIL-Nizhegorodniinefteproekt LLC Organization company[1].

Lukoil gas Station, 2014

Preparation of tools for Aveva PDMS

Automation of work with AVEVA PDMS helps to expand a big range of opportunities of this system and more precisely to show features of conducting works in the organization.

For the solution of a number of questions and problems of maintenance of a system, in LUKOIL-Nizhegorodniinefteproekt LLC company created management of development of tools for AVEVA PDMS.

A system is created on the basis of free, open and the free software: Git, Redmine, Microsoft SQL Server, NLog. They are connected among themselves within one system:

  • Git is version management system of the source code software, it stores the source code of all developments in the whole set of programming languages – AVEVA PML, C#, Powershell, batch-scripts;
  • Redmine is a project management system and tasks. Allows to plan the road map of tools, to separate work into stages, to conduct development and to control process on top. It is connected with Git and it was always possible to trace within what task this or that part of the code is implemented;
  • NLog is the platform for journalizing of any events in the developed software, from debug outputs and to critical errors. Automatically accumulates all messages in storage: in the centralized file or, it is better on the SQL server;
  • Microsoft SQL Server – relational DBMS for storage of magazines of work of software and reports on them.

Scheme of a management system for development, 2014

Placement of the source code

Without control system of versions of the source code there are always questions:

  • what exchanged in the code?
  • who made changes?
  • why it changed it?
  • how to return to the old version of software, if necessary?
  • how it is correct to construct backup of source codes softwares?
  • how to integrate work of several people?

These issues are resolved by VCS (Version Control System) – version management system. In LUKOIL-Nizhegorodniinefteproekt Git was selected. It does not require permanent connection to the central server (as well as existence of the most central server) and each developer can conduct development of different elements of functionality completely locally, only occasionally executing synchronization with the main storage. All versioniruyemy and configuration information is stored in normal files in the form of the project directory. When using Git it is possible to switch from work on one functionality, to work with another, without losing changes since fixing of options of implementation is made very quickly. Git – one of the most productive VCS. All changes in the code are followed by comments of the developer who entered them. The main storage is included in the plan of creation of backup copies. All this provides full control over a tree of source codes softwares.

In development of tools for AVEVA PDMS programming languages are used:

  • PML – the internal AVEVA PDMS language, on it is implemented all main functionality on data processing of the project;

Approach to a code versioning in both languages is identical. In total there are about 5-6 centralized storages, they cover all set of tools. Also, about one storage for individual tools and a configuration is the share of each project.

Screenshot of the Git window, 2014

Planning and development

For management of development the Redmine system component is used. Redmine is a project management system and tasks, the open source software which can be used free of charge for commercial purposes. She helps to plan problems of development within the separate project or in a separate branch in the general project, traces time spent on each task, allows to organize the knowledge base on work of the developed software. The web interface, differentiation of user rights, support of several languages allow to work with comfort with own tasks or to book complex audit of labor costs on the whole block of works.

Screenshot of a window of an example of a task on development, 2014

Typical development process of software looks as follows:

  • At first there is an idea. The idea can appear at the designer against the background of his own experience of use of AVEVA PDMS. The idea can proceed from the developer who carried out the analysis of functionality and revealed places for introduction of adjustments or improvements.

  • The idea extends, complemented with artifacts and turns into a new task. The task can be got directly by the author or can automatically appear on the basis of data from the system of journalizing.

  • The responsible person (most often – the head of development) administers a task: specifies requirements and parts of implementation of functionality and the user interface, determines its key parameters – importance, implementation term, planned labor costs and the executive in charge and transfers to work to the contractor.

  • From the prepared tasks sprints – development stages, the including tasks which in this stage need to be solved form. The sprint lasts occasionally week. Overall assessment of time of all problems of sprint is a little less than the size of sprint. The sprint has time stock for inclusion in it of critical tasks on the term of accomplishment.

  • The contractor begins to work on a task and to implement functionality. As a rule, for any significant completion in a control system of versions the separate branch is made of the main branch of the source code software. Upon termination of work the contractor integrates together the practices and the main branch, corrects the conflicts, holds final testing and publishes the changes in the main storage.

  • In some cases the head of development does inspection of the code (code review) which changed in a task. If when viewing problems of further functioning, stylistic defects or nonoptimality of the choice of algorithms are visible to the solution of a task, then it can return a task on completion, having added to it the corresponding comment.

  • The main storage automatically makes deployment of the current version of software on users of AVEVA PDMS.

  • The author of a task checks new functionality and closes a task if it is solved, or opens it on completion at identification of any problems.

The developer in the workplace has access to two environments of design-time environment at once: one is a normal networked environment, same, as well as at normal users, the second – a local environment for development which contains superposition of data from networked environment and data in development process with a priority of accomplishment of the last. Thus, the developer conducts work kind of in the mirror copy of networked environment, without preventing work of normal users in any way. As soon as he finishes development and places work in the main storage, its networked and local environment become identical.

Contents of edition of tools, 2014

Installation of ready tools

Deployment - process of distribution of the new version of software on computers of users. Since AVEVA PDMS allows to organize work with the shared network folder of the PML tools, deployment in a system performs update handler function of the directory of network tools the current version of software from the main storage. In parallel with it, at deployment the PML files are protected from unauthorized use. After accomplishment of deployment of PML in most cases the user can begin to use new functionality even without restarting AVEVA PDMS.

The tools working at a. net Framework are arranged differently and the way of its deployment is more difficult. At start of design-time environment files with tools are blocked and cannot change, either the user, or the developer. Therefore deployment is made in 2 stages:

  • The developer updates the version of software in the centralized storage on the server. At the moment it is made manually, and is in the short term going to implement the server of automatic assembly.

  • The user starts a new copy of design-time environment and it updates the copy of tools which is stored at it on the local computer. At the same time, earlier started copies of AVEVA PDMS continue to use the previous version of tools before the end of the work.

Obtaining information on work of tools from users is extremely important. Except explicit cases, for example, when there was an error and intervention of the developer for its correction is required, it is also possible to obtain a lot of other useful information. For example, it is possible to collect statistics about use of tools and to analyze efficiency of tools and quality of user training. Also information from the user can be basis for improvement of the tool further.

Feedback in tools of LUKOIL-Nizhegorodniinefteproekt company is organized on the basis of a linking of the NLog platform and Microsoft SQL Server storage. NLog is integrated into the C# tools as usual, the special interface was developed for connection of NLog to the PML tools. Any tool can generate messages of 6 possible levels which describe different importance of the taking place events in the course of the work:

  • Info is the normal information message;
  • Trace is the message for tracking of an algorithm of accomplishment;
  • Debug is messages with information for debugging;
  • Warning – in the tool occurred something strange;
  • Error – in operation of the tool occurred a hard error, intervention of developers is required;
  • Fatal is the most critical message, it is applied in exceptional cases, points to general average of a system.

Messages automatically are going to SQL Server base. In the presence of the configured reports in service Reporting Services, the developer can browse them on the page of the report. In addition, in the company automatic daily mailing of statistics on work of tools on the basis of data from base of errors for all developers and administrators of AVEVA PDMS is implemented. In parallel with it the mechanism of automatic creation of a new task on completion at emergence in base of the message with an error improves (Error and Fatal levels).

General journal of work, 2014

Project Results

For May 25, 2015 Aveva PDMS is used in LUKOIL-Nizhegorodniinefteproekt LLC according to plans of automation of work of department of design by means of system implementation 3D - modeling.

Notes