The ADEPT Framework, ADI’s industrial data and control software platform, is constantly evolving to provide users with enhanced and integrated access to best-in-class, open-source tools in model-based systems engineering and software management.  With the ever-growing complexity of systems, and the software developed to power and test them, effective revision control has become a crucial component of a successful, efficient program.  The ADEPT Framework now provides users with integrated access to Subversion (SVN), one of the most popular and capable revision control tools.

 

What is Revision Control?

Revision control is a significant and critical component of software development and configuration management.  It is used to manage changes to code, documentation, or any other assemblage of information.  Effective revision control has always been a necessity for any publication or cooperative development effort but has taken on increased importance in the digital age.  In the world of model-based systems engineering, large teams of developers may be attempting to make changes to shared models, scripts, and software applications.  Having a proven, well thought out strategy for revision control is crucial for efficient program progress, and can prevent costly, time intensive missteps that occur when development is out of sync.  Moreover, revision control itself has become a standard requirement in safety-critical aerospace certification processes such as ARP-4754A and DO-178C.

 

Apache Subversion

Subversion, by Apache, is one of the most popular revision control tools and enjoys widespread global use by engineering and software development teams.  Subversion is an open-source system which fits the ADEPT philosophy of embracing best-in-class open source tools and software.  Between its open-source nature and broad use throughout industry (and within the ADI customer base), Subversion was the clear choice when selecting a revision control tool to integrate into the ADEPT Framework.

 

ADEPT & Subversion Integration

Subversion revision control operations can now be performed directly within each application of the ADEPT Framework through built-in Python commands.  Basic and advanced functionalities are supported, including the ability to connect and disconnect from a repository, check out and lock files to prevent other users from making changes while the project is under development, and check in and document desired changes, all without having to leave the ADEPT environment.  As Python functions, users can easily build deeper custom integration into their workflow, e.g. automatically check in test results, prompt users to check in project changes, etc.

All of ADEPT’s Python Subversion functions are common throughout the ADEPT Framework toolset, and clear benefits can be realized by utilizing this capability throughout.

  • ADEPT-DE – Check in and document changes to the framework project architecture at all phases of development.
  • ADEPT-VI – Automatically check out the latest test script and setup files using the Test Executive.
  • ADEPT-GD – Add critical recorded test data to a secure SVN repository, which can be quickly accessed by authorized users throughout the organization for analysis.
  • ADEPT-DB – Create a record of the complete system network definition at every point of program development.

Connecting to repository, checking out, and committing a directory in ADEPT-DE

File locking and reverting changes in ADEPT-VI

 

 

Configuration Management of ADEPT Project Files

Some users may choose to check in every file within their project directory into Subversion.  While this is a valid revision control strategy and ensures complete coverage, there are some files that are automatically generated on every build or project run, and others that are non-essential build artifacts.  For an efficient, leaner approach to configuration management, ADI recommends only checking in the minimum number of files needed compile an ADEPT-DE Framework (Development Files) or run a project in ADEPT-VI.  The table below identifies the minimum file types to be checked in to perform a build or run (some of which are shared).

Development Files
DE Framework File .adv_frm
Model Files .c, .cpp, .cxx, .h, .slx, .f, .inc, .adsim, etc.
Model & External Dictionaries .adv_dct
Dictionary Group .adv_dctgrp
Data Files .csv, .bptz, .funz
Custom library Files .a
ADEPT Panel Files .adv_pnl, .adv_plf
Script Files .py
Runtime Client Files
VI Framework File .adv_vif
VI Project File .adv_vip
Model & External Dictionaries .adv_dct
Devices Used File .adv_duf­­
Data Files .csv, .bptz, .funz
Symbol file .adv_sym
ADEPT Panel Files .adv_pnl, .adv_plf
Script Files .py
Setup Files .adv_visc, .adv_visa, .adv_visd, .adv_visf, .adv_visl, .adv_viso, .adv_viss, .adv_vist, .adv_visu
Project Executable Files No extension
Server hardware config file from_host_config.xml

Additionally, users should strongly consider placing other key files under revision control, including the server hardware configuration file (.adv_sc), ADEPT license file (.dat), custom device templates (.adv_ldv) and any patch or customization within the ADEPT installation located in %ADV_HOME%.

 

ADEPT Compressed Project Files

For the ultimate ease of configuration management amongst other benefits, consider utilizing ADEPT compressed project files (.vipz).  When building a consolidated project, DE will automatically package all files needed by VI to run the project into a single file.  The highly portable .vipz file can then be checked into SVN and accessed by other users.  At runtime, ADEPT-VI will automatically unzip and load the project files as normal.  The simple compressed project file, which also has the benefit of protecting source code, can be a highly beneficial component of a successful ADEPT revision control strategy.

“Generate Consolidated Project File” in ADEPT-DE Project Properties

Loading a compressed .vipz project file into ADEPT-VI

 

Conclusion

As the most advanced real-time, open-architecture, industrial Internet of Things (IoT) software platform commercially available, ADEPT provides an agile, feature-rich environment for the complete product lifecycle from development through integration, verification, validation, certification, deployment, and sustainment. With ADEPT’s built-in Subversion access, revision control best practices can be scripted directly into your project workflows allowing your team to realize significant quality and efficiency improvements, including verification that the correct versions of files are being used and ensuring that important test evidence is properly stored and archived as soon as it is generated. By continuing to embrace the best open standards and tools, ADEPT delivers the performance and capabilities our customers rely on to overcome their most significant industrial data and control challenges.

How can the ADEPT Framework improve your workflow? Contact your local ADI representative today to see how the ADEPT Framework can boost the quality and efficiency of your cyber-physical product development activities.