Esterel Technologies>Products>SCADE Suite>Configuration Management
SCADE Configuration Management Gateway
Configuration management is one of the basics of multi-users software projects.
From the beginning of a project to the days it is dished out, it keeps evolving, at different paces. Software makers need to jointly facilitate the development of their software, while keeping it under control. These activities are key to satisfy quality and timing constraints in the field of software design. Traditionally, Configuration Management is based on 3 primary functions:
- Storage,
- Change management, and
- Versioning of the entities produced during the software project (specifications, models, code, tests, documentation, etc.)
An example of Configuration Management
A good configuration management process
Storage is performed by one or several CM servers, using all the required techniques to avoid data loss (redundancy, tape backups, etc.). Depending on CM tools, data is stored as a regular file hierarchy, plain files or databases.
Software evolves. If you work alone, you need to keep each important step of the software changes. CM tools allow identifying, or tagging, all the important milestones. If there are more than one contributor to the Software, conflicts may appear.
Check-out, Check-in and Merge notions
Imagine that there are two people working on the main development branch:
From your CM client, you ask the CM server to allow modifying the f file. This action is refered to as Check Out.
While you are changing the content of the f file, your co-worker needs to modify the same file. Through his CM client, he asks the CM server to Check Out the f file. The CM server might forbid edition of the f file (because you already work on it) or just warn your co-worker that someone else is working on the f file. Let's assume your co-worker effectively checks out the f file .
Once you are finished, you give back your modifications to the CM server. This action is refered to as Check In.
When your coworker is finished with the f file and tries to check in his modified version, the CM server refuses, arguing that the latest version is not the one checked out. To perform the check in, an extra step is needed, the Merge:
- The CM tool provides the latest version of the f file, and with the help of your CM client or other tools, you will need to merge it with your local version.
- Some CM tools provide automatic merges, which can save time for simple cases, but will not always work, and you will have to specify which part to take from each file version.
- A good diff/merge tool you feel comfortable with is really important, as you often manipulate software you have not personally written and mistakes may be frequent.
Once the merge step is over, and you have tested that the merge went fine (compile + regression test), you can perform a regular Check In. The latest version of the f file contains your work plus your co-worker's work.
Branches of the software under Configuration Management
There can be many versions of the same software. The way it is treated greatly differs from one CM tool to another, but many implement versioning in term of branches.
Let's say that you have a special development branch, called ''trunk'', where the main development activity is centered. You can decide to create a new branch either to deliver a specific version, or to develop a prototype which cannot interfere with the curent main development. You can work on any branch from your CM client as you do for the trunk.
Whenever you might need to pass modifications from one branch to another
,
(eg a critical bug fix), it can be acheived with most CM tools through the Merge process described above.
SCADE and Configuration Management
Most (if not all) windows CM clients provide an interface, called Source Code Control Interface (SCCI) , allowing external programs to perform the day-to-day Configuration Management tasks (check-in, check-out, history display, diff, merge, etc). SCADE Configuration Management Gateway implements this interface. As all SCADE files are plain text files, you can handle them in CM tools the same way you do with any source code.
Compatible Configuration Management Tools
SCADE Configuration Management Gateway is compliant with Microsoft SCCI API, thus supporting following configuration management tools on Windows 2000, XP and NT:- ClearCase®,
- CM Synergy® (former Continous CM),
- CVS®,
- eChangeMan®,
- Perforce®,
- PVCS®,
- Visual Source Safe®,
- and any other tool that is compatible with Microsoft SCCI.
