Configuration management plays an important role in the life of every company. Its job is to follow the life cycle of projects, record the changes, and ensure the ability to restore previous versions.
I wrote my final project in Knorr-Bremse company, at the EAC System group. This thesis is made up of two parts. In the first part I describe the development of automotive software and the specifics of safety critical software development. Furthermore I describe some parts of the .NET Framework, which are important for the task, such as data manipulation and version control.
The second part can be separated into three tasks, all of which are strictly dependent on one another. In the first task I convert the local data of the embedded software’s modules into relational database. For each module two separate XML files are used for this, one containing the data and one describing the grammatical elements used in the first one.
The second task is manipulating the records of the database using a WinForm application, which handles every custom, company-specific data. To realize this I had to create new, customized views as well as a general database viewer. To ensure that the users are always aware to the connection between the separate tables, these views are in real-time connection with each other based on their logical associations. To create the table of detectable errors I created a matrix-view. After describing these views, I introduce the undo operation I implemented.
Lastly I realized the option to convert the database consistently into XML files at the end of each session. Due to the program only being able to manipulate the records of the database, out of the two XML files only the one containing the local data is updated.