Experience with model-based performance, reliability, and adaptability assessment of a complex industrial architecture
Tóm tắt
In this paper, we report on our experience with the application of validated models to assess performance, reliability, and adaptability of a complex mission critical system that is being developed to dynamically monitor and control the position of an oil-drilling platform. We present real-time modeling results that show that all tasks are schedulable. We performed stochastic analysis of the distribution of task execution time as a function of the number of system interfaces. We report on the variability of task execution times for the expected system configurations. In addition, we have executed a system library for an important task inside the performance model simulator. We report on the measured algorithm convergence as a function of the number of vessel thrusters. We have also studied the system architecture adaptability by comparing the documented system architecture and the implemented source code. We report on the adaptability findings and the recommendations we were able to provide to the system’s architect. Finally, we have developed models of hardware and software reliability. We report on hardware and software reliability results based on the evaluation of the system architecture.
Tài liệu tham khảo
Abdelmoez, W., Nassar, D.E.M., Shereshevsky, M., Gradetsky, N., Gunnalan, R., Ammar, H.H., Yu, B., Mili, A.: Error propagation in software architectures. In: IEEE Metrics, pp. 384–393. IEEE Computer Society (2004)
Audsley, N.C., Burns, A., Richardson, M.F., Tindell, K., Wellings, A.J.: Applying new scheduling theory to static priority preemptive scheduling. Softw. Eng. J. 8(5), 284–292 (1993)
Baker, T.P.: A stack-based resource allocation policy for real-time processes. In: IEEE Real-Time Systems, Symposium, pp. 191–200 (1990)
Baldwin, C.Y., Clark, K.B.: Design Rules. The Power of Modularity, vol. 1. MIT Press, Cambridge (2000)
Becker, S., Koziolek, H., Reussner, R.: The Palladio component model for model-driven performance prediction. J. Syst. Softw. 82, 3–22 (2009)
Bernardi, S., Merseguer, J., Petriu, D.: A dependability profile within marte. Softw. Syst. Model. 1–24. doi:10.1007/s10270-009-0128-1 (2009)
Burchard, A., Liebeherr, J., Oh, Y., Son, S.H.: New strategies for assigning real-time tasks to multiprocessor systems. IEEE Trans. Comput. 44(12), 1429–1442 (1995)
Burns, A., Wellings, A.: Real-Time Systems and Programming Languages: Ada, Real-Time Java and C/Real-Time POSIX. Addison-Wesley Educational Publishers Inc, New York (2009)
Cai, Y.: Modularity in design: formal modeling and automated analysis. PhD thesis, University of Virginia, August 2006
Cai, Y., Sullivan, K.: A formal model for automated software modularity and evolvability analysis. ACM Trans. Softw. Eng. Methodol. (2012)
Cortellessa, V., Grassi, V.: A modeling approach to analyze the impact of error propagation on reliability of component-based systems. In: Schmidt, H.W., Crnkovic, I., Heineman, G.T., Stafford, J.A. (eds.) Proceedings of the 10th International Conference on Component-based Software Engineering. Lecture Notes in Computer Science, vol. 4608, pp. 140–156. Springer, Berlin (2007)
Cortellessa, V., Singh, H., Cukic, B.: Early reliability assessment of UML based software models. In: Workshop on Software and Performance, pp. 302–309 (2002)
de Souza e Silva, E., Figueiredo, D.R., Leão, R.M.: The TANGRAMII integrated modeling environment for computer systems and networks. SIGMETRICS Perform. Eval. Rev. 36(4), 64–69 (2009)
Duarte, F., Pires, C., de Souza, C.A., Ros, J.P., Leão, R.M.M., de Souza e Silva, E., Leite, J.C.B., Cortellessa, V., Mosse, D., Cai, Y.: Experience with a new architecture review process using a globally distributed architecture review team. In: The 5th IEEE International Conference on Global Software Engineering (ICGSE 2010), pp. 109–118, Los Alamitos, CA, USA. IEEE Computer Society (2010)
Dugan, J.B., Trivedi, K.S.: Coverage modeling for dependability analysis of fault-tolerant systems. IEEE Trans. Comput. 38(6), 775–787 (1989)
Federal University of Rio de Janeiro. Tangram-II website. http://www.land.ufrj.br/tools/tangram2/tangram2.html (2010)
Goel, A.L., Okumoto, K.: Time-dependent error-detection rate model for software reliability and other performance measures. IEEE Trans. Reliab. R-28(3), 206–211 (1979)
Gokhale, S., Trivedi, K.: Analytical models for architecture-based software reliability prediction: a unification framework. IEEE Trans. Reliab. 55(4), 578–590 (2006)
Gouvêa, D.D., Muniz, C., Pinto, G., Avritzer, A., Leão, R.M.M., de Souzae Silva, E., Diniz, M.C., Berardinelli, L., Leite, J.C.B., Mossé, D., Cai, Y., Dalton, M., Kapova, L., Koziolek, A.: Experience building non-functional requirement models of a complex industrial architecture. In: Proceeding of the Second Joint WOSP/SIPEW International Conference on Performance, Engineering (ICPE’2011) (2011)
Kapova, L., Reussner, R.: Application of advanced model-driven techniques in performance engineering. In: Aldini, A., Bernardo, M., Bononi, L., Cortellessa, V. (eds.) Computer Performance Engineering. Lecture Notes in Computer Science, vol. 6342, pp. 17–36. Springer, Berlin. doi:10.1007/978-3-642-15784-4_2 (2010)
Kazman, R., Abowd, G., Bass, L., Clements, P.: Scenario-based analysis of software architecture. IEEE Softw. 13(6), 47–55 (1996)
Koziolek, H.: Parameter Dependencies for Reusable Performance Specifications of Software Components. The Karlsruhe Series on Software Design and Quality, vol. 2. Universitätsverlag Karlsruhe, Karlsruhe (2008)
Lehoczky, J., Sha, L., Ding, Y.: The rate monotonic scheduling: Exact characterization and average case behavior. In: Symposium on IEEE Real-Time Systems, pp. 166–171 (1989)
Liu, C.L., Layland, J.: Scheduling algorithms for multiprogramming in a hard real-time environment. J. ACM 20(1), 47–61 (1973)
Musa, J.: Operational profiles in software-reliability engineering. IEEE Softw. 10(2), 14–32 (1993)
Object Management Group (OMG). UML Profile for MARTE: Modeling and Analysis of Real-Time Embedded Systems (formal/2009-11-02). http://www.omgmarte.org/ (2009)
Pinto, G., Muniz, C., Pires, C., Leite, P., Leite, R.: Advanced control and optimization techniques applied to dynamic positioning systems. In: Rio Oil& Gas Expo and Conference, Sept 2010 (in press)
QNX Software Systems. QNX Neutrino RTOS. http://www.qnx.com/products/neutrino-rtos/neutrino-rtos.html (2010)
Rajkumar, R., Sha, L., Lehoczky, J.P.: Real-time synchronization protocols for multiprocessors. In: Symposium on IEEE Real-Time Systems, pp. 259–269 (1988)
Sangal, N., Jordan, E., Sinha, V., Jackson, D.: Using dependency models to manage complex software architecture. In: 20th Conference on Object-Oriented Proceedings, pp. 167–176 (2005)
Sethi, K., Cai, Y., Wong, S., Garcia, A., Sant’Anna, C.: From retrospect to prospect: assessing modularity and stability from software architecture. In: Joint 8th Working IEEE/IFIP Conference on Software Architecture and 3rd European Conference on Software Architecture (WICSA/ECSA), pp. 269–272 (2009)
Sunny Wong, G.V.G.S., Cai, Y., Sethi, K.: Design rule hierarchies and parallelism in software development tasks. In: Proceedings of 24th IEEE/ACM International Conference on Automated Software Engineering, pp. 197–208. IEEE Computer Society (2009)
Wong, S., Cai, Y.: Improving the efficiency of dependency analysis in logical decision models. In: Proceedings of 24th IEEE/ACM International Conference on Automated Software Engineering, pp. 173–184. IEEE Computer Society (2009)