Skip to main content
Log in

Distributed control for the networks of adaptive software components

  • Published:
Information Systems Frontiers Aims and scope Submit manuscript

Abstract

As a result of technological advances, a typical type of software systems has emerged. A large number of distributed software components are networked together through a task flow structure, and each component may have alternative algorithms among which it can choose to process tasks. However, the increased complexity and vulnerability to adverse events of such systems give rise to the need for more sophisticated yet scalable control mechanisms. In this study a control mechanism is designed to meet the need. First, stress environments are implicitly modeled by quantifying the resource availability of the system through sensors. Second, a mathematical programming model is built with the resource availability incorporated and with the stability in system behavior assured. Third, a multi-tier auction market is designed to solve the programming model by distributing computation and communication overheads. By periodically opening the auction market, the system can achieve desirable performance adaptively to changing stress environment while assuring stability and scalability properties. The control mechanism devised in this paper contributes to the efforts of managing the ever-increasing complexity of modern software systems.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

Notes

  1. The original problem allows sharing a CPU resource between components and uses resource allocation as a control action. However, note that the control approach developed in this study can be directly applied to such a resource sharing environment if the resource allocation is predetermined (e.g. round-robin scheduling).

  2. In MPC, for each current state, an optimal open-loop control policy is designed for finite-time horizon by solving a static mathematical programming model (Morari and Lee 1999; Rawlings 2000; Qin and Badgwell 2003). The design process is repeated for the next observed state feedback forming a closed-loop policy reactive to each current system state.

  3. As mentioned in Section 1, a root task in UltraLog networks corresponds to the supply requirement for a unit period (e.g. day). Therefore, the NRT represents the time horizon of military operation, e.g. with NRT = 100, the network needs to produce a logistics plan for a 100-days of military operation.

  4. The control policies designed for the traditional workflow applications are not applicable to the problem under consideration because: i) they are not equipped with adaptation capability by means of alternative algorithms as mentioned in Section 1, and ii) they commonly consider the cases where each component only has to process one task after all of its predecessors complete their tasks; in contrast, a component in the networks under consideration processes multiple tasks in parallel with its successors or predecessors, as discussed in Section 4.2.

References

  • Adve, V. S., & Vernon, M. K. (2004). Parallel program performance prediction using deterministic task graph analysis. ACM Transactions on Computer Systems, 22(1), 94–136.

    Article  Google Scholar 

  • Back, K., & Zender, J. F. (2001). Auctions of divisible goods with endogenous supply. Economics Letters, 73, 29–34.

    Article  Google Scholar 

  • Brinn, M., Berliner, J., Helsinger, A., Wright, T., Dyson, M., Rho, S., et al. (2004). Extending the limits of DMAS survivability: the UltraLog Project. IEEE Intelligent Systems, 19(5), 53–61.

    Article  Google Scholar 

  • Cai, K. Y., Gu, B., Hu, H., & Li, Y. C. (2007). Adaptive software testing with fixed-memory feedback. Journal of Systems & Software, 80, 1328–1348.

    Article  Google Scholar 

  • Clements, P. (1996). From subroutine to subsystems: Component-based software development. In: A.W. Brown (Ed), Component based software engineering (pp. 3–6). IEEE Computer Society Press.

  • Damianov, D. S. (2005). The uniform price auction with endogenous supply. Economics Letters, 88, 152–158.

    Article  Google Scholar 

  • Dong, F., & Akl, S. G. (2006). Scheduling algorithms for grid computing: State of the art and open problems. Technical Report 2006–504, School of Computing, Queen’s University, Kingston, Ontario, Canada.

  • Due, R. (2000). The economics of component-based development. Information Systems Management, 17(1), 92–95.

    Article  Google Scholar 

  • El-Rewini, H., Ali, H. H., & Lewis, T. (1995). Task scheduling in multiprocessor systems. Computer, 28(12), 27–37.

    Article  Google Scholar 

  • Gao, T., Ma, H., Yen, I.-L., Khan, L., & Bastani, F. (2006). A repository for component-based embedded software development. International Journal of Software Engineering and Knowledge Engineering, 16(4), 523–552.

    Article  Google Scholar 

  • Hagras, T., & Janecek, J. (2005). A high performance, low complexity algorithm for compile-time task scheduling in heterogeneous systems. Parallel Computing, 31(7), 653–670.

    Article  Google Scholar 

  • Hiltunen, M. A., Schlichting, R. D., & Ugarte, C. A. (2003). Building survivable services using redundancy and adaptation. IEEE Transactions on Computers, 52, 181–194.

    Article  Google Scholar 

  • Jha, S., & Wing, J. M. (2001). Survivability analysis of networked systems. In Proceedings of International Conference on Software Engineering (pp. 307–317).

  • Kim, Y., & Stohr, E. A. (1998). Software reuse: survey and research directions. Journal of Management Information Systems, 14(4), 113–147.

    Google Scholar 

  • Kwok, Y. K., & Ahmad, I. (1999). Static scheduling algorithms for allocating directed task graphs to multiprocessors. ACM Computing Surveys, 31(4), 406–471.

    Article  Google Scholar 

  • Lee, S., Kumara, S., & Gautam, N. (2007). Efficient scheduling algorithm for component-based networks. Future Generation Computer Systems, 23(4), 558–568.

    Article  Google Scholar 

  • Lee, S., Kumara, S., & Gautam, N. (2008). Market-based model predictive control for large-scale information networks: completion time and value of solution. IEEE Transactions on Automation Science and Engineering, 5(4), 630–640.

    Article  Google Scholar 

  • Lengwiler, Y. (1999). The multiple unit auction with variable supply. Economic Theory, 14, 373–392.

    Article  Google Scholar 

  • Lu, C., Stankovic, J., Tao, G., & Son, S. H. (2002). Feedback control real-time scheduling: framework, modeling, and algorithms. Real-Time Systems Journal, 23, 85–126.

    Article  Google Scholar 

  • McAdams, D. (2007). Adjustable supply in uniform price auctions: non-commitment as a strategic tool. Economics Letters, 95, 48–53.

    Article  Google Scholar 

  • McCracken, M. O., Snavely, A., & Malony, A. (2003). Performance modeling for dynamic algorithm selection. In Proceedings of International Conference on Computational Science (pp. 749–758).

  • Meyer, B. (1999). On to components. IEEE Computer, 32, 139–140.

    Article  Google Scholar 

  • Moberg, F. (2000). Security analysis of an information system using an attack tree-based methodology. M.S. Thesis, Automation Engineering Program, Chalmers University of Technology, Sweden.

  • Moore, A. P., Ellison, R. J., & Linger, R. C. (2001). Attack modeling for information security and survivability. Technical Note CMU/SEI-2001-TN-001, Software Engineering Institute, Carnegie Mellon University, Pittsburg, PA, USA.

  • Moore, D., Wright, W., & Kilmer, R. (2004a). Control surfaces for Cougaar. In Proceedings of the First Open Cougaar Conference (pp. 37–44).

  • Moore, D., Helsinger, A., & Wells, D. (2004b). Deconfliction in ultra-large MAS: issues and a potential architecture. In Proceedings of the First Open Cougaar Conference (pp. 125–133).

  • Morari, M., & Lee, J. H. (1999). Model predictive control: past, present and future. Computers and Chemical Engineering, 23(4), 667–682.

    Article  Google Scholar 

  • Oreizy, P., Gorlick, M. M., Taylor, R. N., Heimbigner, D., Johnson, G., Medvidovic, N., et al. (1999). An architecture-based approach to self-adaptive software. IEEE Intelligent Systems, 14, 54–62.

    Article  Google Scholar 

  • Paul, R. J. (2007). Challenges to information systems: time to change. European Journal of Information Systems, 16, 193–195.

    Article  Google Scholar 

  • Qin, S. J., & Badgwell, T. A. (2003). A survey of industrial model predictive technology. Control Engineering Practice, 11(7), 733–764.

    Article  Google Scholar 

  • Rawlings, J. B. (2000). Tutorial overview of model predictive control. IEEE Control Systems, 20(3), 38–52.

    Article  Google Scholar 

  • Renesse, R. V., Birman, K., Hayden, M., Vaysburd, A., & Karr, D. (1998). Building adaptive systems using ensemble. Software Practice and Experience, 28, 963–979.

    Article  Google Scholar 

  • Snyder, R. D., & Mackenzie, D. C. (2004). Cougaar agent communities. In Proceedings of the First Open Cougaar Conference (pp. 143–147).

  • Yu, J., & Buyya, R. (2005). A taxonomy of scientific workflow systems for grid computing. SIGMOD Record, 34(3), 44–49.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Seokcheon Lee.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Lee, S. Distributed control for the networks of adaptive software components. Inf Syst Front 15, 293–306 (2013). https://doi.org/10.1007/s10796-011-9334-9

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10796-011-9334-9

Keywords

Navigation