Specific models of the software architecture are required to predict the behaviour of a system. Unfortunately, only a limited number of accurate models are available, and no generally accepted modelling paradigms exist for many of the relevant aspects (especially for run-time execution and threading). One of the aspects considered problematic in the electron microscope system investigated was the large amount of threads created at run-time. The system was reverse engineered to model the thread usage, with the goal to reduce this amount significantly. This chapter describes the development of a modelling approach for this purpose, starting from the well-known viewpoint approach. Furthermore, it describes the application of this method to the electron microscope and a software system for validating the suitability of the approach.
KeywordsSoftware architecture Modelling Concurrency Parallelism Architectural viewpoint Thread pool Performance bottleneck
- 1.TOGAF, The open group architecture framework (2006), http://pubs.opengroup.org/architecture/togaf8-doc/arch/toc.html
- 2.D. Xu, B. Bode, Performance study and dynamic optimization design for thread pool systems, in Proceedings of the International Conference on Computing, Communications and Control Technologies CCCT2004 (2004)Google Scholar
- 4.W. Stallings, Operating Systems: Internals and Design Principles, 6th edn. (Prentice Hall, NJ, 2008)Google Scholar
- 5.T. Arias, P. Avgeriou, P. America Analyzing the actual execution of a large software-intensive system for determining dependencies, in Proceedings of 15th Working Conference Reverse Engineering WCRE 2008, pp. 49–58Google Scholar
- 6.Microsoft Process Monitor (2011), http://technet.microsoft.com/en-us/sysinternals/bb896645. Accessed 8 June 2011