摘要
创新点
随着分布式软件规模的持续增长, 软件已经变得空前复杂。 复杂软件系统由相当数量的局部自治系统相互耦合关联而成, 在组成结构上兼具系统之系统、 信息物理系统和”社会-技术“系统的特点。 复杂软件系统的出现给软件工程方法学带来了新的挑战, 传统基于“自顶向下分解、 自顶向上组装”策略的理论和技术很难适用。 本文提出了面向复杂软件系统的“成长性构造”和“适应性演化”原则, 阐述了这两条原则关注的主要问题, 以期为此类软件系统的建设和发展提供方法指导。
References
Northrop L, Feiler P, Gabriel R, et al. Ultra-Large- Scale Systems: the Software Challenge of the Future. Carnegie Mellon University Technical Report. 2006
Maier M W. Architecting principles for systems-ofsystems. Syst Eng, 1998; 1: 267–284
Lee E A. Cyber-physical systems-are computing foundations adequate. In: Proceedings of NSF Workshop on Cyber-Physical Systems: Research Motivation, Techniques and Roadmap, Austin, 2006. 1–9
Naur P, Randell B. Software Engineering: Report of a Conference Sponsored by the NATO Science Committee. NATO Technical Report. 1969
Boehm B. A view of 20th and 21st century software engineering. In: Proceedings of International Conference on Software Engineering, Shanghai, 2006. 12–29
Holland J H. Hidden Order: How Adaptation Builds Complexity. New York: Perseus Books, 1995
Wang H M, Wang Y F, Tang Y B. StarBus+: distributed object middleware practice for Internet computing. J Comput Sci Tech, 2005; 20: 542–551
Mei H, Huang G, Zhao H Y, et al. A software architecture centric engineering approach for Internetware. Sci China Ser F-Inf Sci, 2006; 49: 702–730
Wang H M, Ding B, Shi D X, et al. Auxo: an architecture-centric framework supporting the online tuning of software adaptivity. Sci China Inf Sci, 2015, 58: 092103
Sommerville I, Cliff D, Calinescu R, et al. Large-scale complex IT systems. Commun ACM, 2012; 55: 71–77
Nielsen C B, Larsen P G, Fitzgerald J, et al. Systems of systems engineering: basic concepts, model-based techniques, and research directions. ACM Comput Surv, 2015, 48: 18
Mi H B, Wang H M, Zhou Y, et al. Toward finegrained, unsupervised, scalable performance diagnosis for production cloud computing systems. IEEE Trans Parall Distr Syst, 2013; 24: 1245–1255