This Article 
 Bibliographic References 
 Add to: 
A Domain-Specific Software Architecture for Adaptive Intelligent Systems
April 1995 (vol. 21 no. 4)
pp. 288-301
A good software architecture facilitates application system development, promotes achievement of functional requirements, and supports system reconfiguration. We present a domain-specific software architecture (DSSA) that we have developed for a large application domain of adaptive intelligent systems (AIS's). The DSSA provides: a) an AIS reference architecture designed to meet the functional requirements shared by applications in this domain, b) principles for decomposing expertise into highly reusable components, and c) an application configuration method for selecting relevant components from a library and automatically configuring instances of those components in an instance of the architecture. The AIS reference architecture incorporates features of layered, pipe and filter, and blackboard style architectures. We describe three studies demonstrating the utility of our architecture in the subdomain of mobile office robots and identify software engineering principles embodied in the architecture.

[1] J. S. Albus,Brains, Behavior, and Robotics.Peterborough, NH: BYTE Books, 1981.
[2] ——,“Outline for a theory of intelligence,”IEEE Trans. Syst., Man, Cybern.,vol. 21, pp. 473–509, 1991.
[3] B. H. Barnes and T. B. Bollinger,“Making reuse cost-effective,”IEEE Software,pp. 13–24, Jan. 1991.
[4] T. Biggerstaff and C. Richter,“Reusability framework, assessment, and directions,”IEEE Software,pp. 41-49, Mar. 1987.
[5] B. Chandrasekaran,“Generic tasks in knowledge-based reasoning: High-level building blocks for expert system design,”IEEE Expert,vol. 3, pp. 23–30, 1986.
[6] J. H. Connell,“SSS: A hybrid architecture applied to robot navigation,”inProc. IEEE Int. Conf. Robot. and Automation,1992.
[7] L. Erman, R. Hayes–Roth, V. Lesser, and R. Reddy,“The Hearsay-II speech-understanding system: Integrating knowledge to resolve uncertainty,”Comput. Surv.,vol. 12, pp. 213–253, 1980.
[8] P. Freeman, Ed.,Software Reusability.Los Alamitos, CA: IEEE Computer Society Press, 1991.
[9] D. Garlan and M. Shaw,“An introduction to software architecture,”inAdvances in Software Engineering and Knowledge Engineering.New York: World Scientific, 1993, vol. 1.
[10] A. Garvey, M. Hewett, M. V. Johnson, R. Schulman, and B. Hayes–Roth,BB1 User Manual, Stanford Univ., Knowledge Syst. Lab., Tech. Rep. KSL-86-61, 1986.
[11] E. Gat,“Integrating planning and reacting in a heterogenous asynchronous architecture for controlling real-world mobile robots,”inProc. 10th Nat. Conf. Artificial Intelligence,1992.
[12] B. A. Hayes–Roth,“Blackboard for control,”Artificial Intelligence,vol. 26, pp. 251–321, 1985.
[13] ——,“Architectural foundations for real-time performance in intelligent agents,”Real-Time Systems: The International Journal of Time-Critical Computing Systems,vol. 2, pp. 99–125, 1990.
[14] ——,“Opportunistic control of action in intelligent agents,”IEEE Trans. Syst., Man, Cybern.,to be published.
[15] ——,“Domain-specific software architecture for a class of intelligent patient monitoring agents,”KSL Tech. Rep., 1994.
[16] ——,“An architecture for adaptive intelligent systems,”Artificial Intelligence, Special Issue on Agents and Interactivity,to be published.
[17] B. Hayes–Roth, B. G. Buchanan, O. Lichtarge, M. Hewett, R. Altman, J. Brinkley, C. Cornelius, B. Duncan, and O. Jardetzky,“Protean: Deriving protein structure from constraints,”inProc. Nat. Conf. Artificial Intelligence,1986.
[18] B. Hayes–Roth, A. Garvey, M. V. Johnson, and M. Hewett,“A modular and layered environment for reasoning about action,”Stanford Univ., Tech. Rep. KSL 86-38, 1986.
[19] B. Hayes–Roth, P. Lalanda, P. Morignot, K. Pfleger, and M. Balabanovic,“Plans and behavior in intelligent agents,”KSL Tech. Rep., 1993.
[20] B. Hayes–Roth, R. Washington, D. Ash, R. Hewett, A. Collinot, A. Vina, and A. Seiver,“Guardian: A prototype intelligent agent for intensive-care monitoring,”J. Artificial Intelligence in Medicine,vol. 4, pp. 165–185, 1992.
[21] F. Hayes–Roth, L. D. Erman, and B. Hayes–Roth,“Distributed intelligent control and communication,”inProc. IEEE Symp. Computer-Aided Contr. Syst. Design,Napa, CA, 1992.
[22] R. Hewett and B. Hayes–Roth,“Physical systems modeling for integrated reasoning, modularity, and reuse,”Int. J. Expert Syst.,vol. 7, 1994.
[23] C. Landauer and K. Bellman,“The role of self-referential logics in a software architecture using wrapping,”inProc. Irvine Software Symp.,Irvine, CA: Univ. Irvine, 1993.
[24] E. Mettala,“Domain specific software architectures,”inISTO Software Technol. Community Meet.,June 1990.
[25] W. Morris, Ed.,The American Heritage Dictionary of the English Language.Boston: Houghton–Mifflin, 1981.
[26] J. Murdock,“Matching and individuation for model-based diagnosis of manufacturing equipment,”Ph.D. dissertation, Stanford Univ., 1994.
[27] J. Murdock and B. Hayes–Roth,“Intelligent monitoring of semiconductor manufacturing,”IEEE Expert,vol. 6, pp. 19–31, 1991.
[28] A. Newell,Unified Theories of Cognition.Cambridge, MA: Harvard University Press, 1990.
[29] W. J. Pardee, M. A. Schaff, and B. Hayes–Roth,“Intelligent control of complex materials processes,”J. Artificial Intelligence in Eng., Design, Automation, and Manufacturing,vol. 4, pp. 55–65, 1990.
[30] R. Prieto-Diaz and G. Arango, Eds.,Domain Analysis and Software Systems Modeling.Los Alamitos, CA: IEEE Computer Society Press, 1991.
[31] H. Sipma and B. Hayes–Roth,“Integrating qualitative and quantitative methods for model-based diagnosis, prediction, and explanation,”Stanford Univ. Working Paper, 1993.
[32] A. Terry, F. Hayes–Roth, L. Erman, N. Coleman, and B. Hayes–Roth,“Overview of Teknowledge's domain-specific software architecture program,”Palo Alto, CA, Teknowledge, Inc. Tech. Rep., 1994.
[33] I. D. Tommelein, B. Hayes–Roth, and R. E. Levitt,“Altering the SightPlan knowledge-based systems,”J. Artificial Intelligence in Eng., Automation, and Manufacturing,vol. 6, pp. 19–37, 1992.
[34] W. Tracz, Ed.,Software Reuse: Emerging Technology.Los Alamitos, CA: IEEE Computer Society Press, 1991.
[35] ——,“Software reuse technical opportunities,”inDARPA Software Program PI Meeting,1992.
[36] ——,“Software reuse maxims,”inACM Software Eng. Notices,vol. 13, pp. 28–31, 1988.
[37] W. Tracz, L. Coglianese, and P. Young,“A domain-specific software architecture engineering process outline,”inSIGSOFT Software Eng. Notes,vol. 18, pp. 40–49, 1993.
[38] T. Winograd,“Beyond programming languages,”inArtificial Intelligence and Software Engineering,D. Partridge, Ed. Norwood, NJ: Ablex, 1991.
[39] D. Zhu,Nomadic Host Software Development Environment (Unix Version 1.1).Mountain View, CA: Nomadic Technologies, Inc., 1992.

Index Terms:
Software architecture, domain-specific software architectures, software reuse, intelligent agents, mobile robots
Barbara Hayes?Roth, Karl Pfleger, Philippe Lalanda, Philippe Morignot, Marko Balabanovic, "A Domain-Specific Software Architecture for Adaptive Intelligent Systems," IEEE Transactions on Software Engineering, vol. 21, no. 4, pp. 288-301, April 1995, doi:10.1109/32.385968
Usage of this product signifies your acceptance of the Terms of Use.