Service-oriented computing (SOC) has been adopted to manage complexity and develop robust software applications. SOC is mainly used for Web services or the application layer. As software complexity is increasing in an enormous speed, software design has become more challenging. Autonomic computing (AC) supports self-adaptation to manage complexity, improve performance, and/or increase reliability. The concept of AC has been applied to many applications, such as communication networks and computing systems. There are similarities and differences between SOC and AC. This paper highlights a comparison between SOC and AC and presents our experience n building a performance-oriented self-adaptive system. The paper then advocates the idea of treating software design as a service to manage complexity and improve extensibility. Integrating SOC and AC can benefit both research areas and even software design for single systems or multi-agent systems.

Autonomic computing, Self-adaptive systems, Service-oriented computing, Software Performance Engineering (SPE)
dx.doi.org/10.1109/SOCA.2009.5410461
IEEE International Conference on Service-Oriented Computing and Applications, SOCA' 09
Department of Systems and Computer Engineering

Lung, C.H, & Zhang, X. (Xu). (2009). Treating software design as a service to manage complexity. In IEEE International Conference on Service-Oriented Computing and Applications, SOCA' 09 (pp. 99–105). doi:10.1109/SOCA.2009.5410461