Applying software engineering principles in train control systems | IEEE Conference Publication | IEEE Xplore