The Use of Simulation Throughout the Lifecycle of Advanced Software Algorithms – A Case Study
摘要
Software development is a complex process. It is often faced with various challenges such as complexity, integration, scalability, reliability, and security. To address these issues, a stepwise approach is developed making use of dynamic simulation models in the development lifecycle from initial prototyping, implementation, testing, to operation. Such stepwise approach from rapid prototyping to testing control algorithms in a simulation environment to testing the entire system against a virtual environment (“digital twin”) enables control over the development and insight in the expected behaviors as early in the process as possible. This paper, using a real case study in a container terminal, demonstrates the benefits of enabling such control and insight by using simulation being the essential key to a successful development and implementation of software. However, it should be acknowledged that such approach making use of simulation is still not a solution to everything. Drawbacks and limitations of its use in both prototyping and testing phases have been also observed from our experience. Examples of such drawbacks and limitation include the representation of simulation conditions vs. reality, happy-day operation vs. exception handling, unpredictable use cases, etc. This paper also presents these findings from our real case study experience and the lessons learnt that could be possibly utilized to mitigate and overcome (part of) these issues.