This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
An Application of Artificial Intelligence to Object-Oriented Performance Design for Real-Time Systems
November 1994 (vol. 20 no. 11)
pp. 849-867

The paper describes an application of artificial intelligence technology to the implementation of a rapid prototyping method in object-oriented performance design (OOPD) for real-time systems. OOPD consists of two prototyping phases for real-time systems. Each of these phases consists of three steps: prototype construction, prototype execution, and prototype evaluation. We present artificial intelligence based methods and tools to be applied to the individual steps. In the prototype construction step, a rapid construction mechanism using reusable software components is implemented based on planning. In the prototype execution step, a hybrid inference mechanism is used to execute the constructed prototype described in declarative knowledge representation. MENDEL, which is a Prolog based concurrent object-oriented language, can be used as a prototype construction tool and a prototype execution tool. In the prototype evaluation step, an expert system which is based on qualitative reasoning is implemented to detect and diagnose bottlenecks and generate an improvement plan for them.

[1] J. S. Anderson and S. Fickas, "A proposed perspective shift: Viewing specification design as a planning problem," inProc. 5th Int. Workshop Software Specification and Design, pp. 177-184, 1989.
[2] D. Barstow, R. Duffey, S. Smoliar, and S. Vestal, "An automatic programming system to support an experimental science," inProc. 6th Int. Conf. Software Eng., 1982, pp. 360-366.
[3] T. Bihari and K. Schwan, "Dynamic adaptation of real-time software,"ACM Trans. Computer Systems, vol. 9, pp. 143-174, May 1991.
[4] P. Coad and E. Yourdon, "Object-oriented analysis," Yourdon Press Computing Series, Englewood Cliffs, NJ: Prentice Hall, 1989.
[5] D. Cohen, "A forward inference engine to aid in understanding specifications," inProc. AAAI-84, 1984, pp. 56-60.
[6] A. M. Davis, "Rapid prototyping using executable requirements specifications,"ACM Software Eng. Notes, vol. 7, no. 5, pp. 39-44, 1982.
[7] E. W. Dijkstra, "Guarded commands, nondeterminacy and formal derivation of programs,"Commun. ACM, vol. 18, no. 8, pp. 453- 457, 1975.
[8] J. De Kleer, "How circuits work,"Qualitative Reasoning About Physical Systems, pp. 205-280, 1985.
[9] K. Downing and S. Fickas, "Specification criticism via policy-directed envisionment," Tech. Rep. CIS-TR-90-05, Univ. of Oregon, 1990.
[10] S. F. Fickas, "Automating the transformational development of software,"IEEE Trans. Software Eng., vol. SE-11, no. 11, pp. 1268- 1278, Nov. 1985.
[11] R. E. Fikes and N. J. Nilsson, "A new approach to the application of theorem proving to problem solving,"Artificial Intell., vol. 2, pp. 189-208, 1971.
[12] G. Florin and S. Natkin, "Necessary and sufficient ergodicity condition for open synchronized queueing networks,"IEEE Trans. Software Eng., vol. 15, pp. 367-380, 1989.
[13] S. Gerhart, D. Musser, D. Thompson, D. Baker, R. Bates, R. Erickson, R. London, D. Taylor, and D. Wile, "An overview of AFFIRM: A specification and verification system,"Info. Processing, vol. 80, pp. 343-347, 1980.
[14] A. Gheith and K. Schwan, "Chaos-arc--Kernel support for multiweight objects, invocations, and atomicity in real-time applications,"Tech. Rep. GIT-ICS-90/06, College of Computing, Georgia Institute of Technology, Jan. 1990. To appear inACM Trans. Computer Systems.
[15] S. Honiden, N. Uchihira, and T. Kasuya, "MENDEL: Prolog based concurrent object oriented language," inProc. Compcon'86, 1986, pp. 230-234.
[16] S. Honiden, N. Sueda, A. Hoshi, N. Uchihira, and K. Mikame, "Software prototyping with reusable components,"J. Info. Processing, vol. 9, no. 3, pp. 123-129, 1986.
[17] S. Honiden, N. Uchihira, K. Matsumoto, K. Matsumura, and M. Arai, "An application of structural modeling and automated reasoning to concurrent program design," inProc. 22nd Hawaiian Int. Conf. Syst. Sci., 1989, pp. 134-141.
[18] S. Honiden, N. Uchihira, K. Matsumoto, K. Matsumura, and M. Arai, "An application of structural modeling and automated reasoning to real-time systems design,"Real-Time Syst., vol. 1, no. 3, pp. 313-331, 1990.
[19] S. Honiden, N. Uchihira, and K. Itoh, "An application of artificial intelligence to prototyping process in performance design for real-time systems," inProc. 3rd European Software Eng. Conf., ESEC'91, 1991, pp. 189-209.
[20] Y. Ishikawa and M. Tokoro, "A concurrent object-oriented knowledge representation language Orient 84/K: Its features and implementation," inProc. OOPSLA'86, 1986, pp. 232-241.
[21] K. Itoh, J. Sawamura, and S. Honiden, "Knowledge-based parameter tuning for queueing network type system--A new application of qualitative reasoning," inProc. IFIP CAPE' 89, 1989, pp. 206-212.
[22] K. Itoh, S. Honiden, J. Sawamura, and K. Shida, "Role of qualitative and quantitative reasoning in diagnosis and improvement for queueing network bottleneck,"Proc. Info Japan'90, vol. 2, pp. 171-178, 1990.
[23] K. Itoh, S. Honiden, K. Shida, and T. Konno, "Qualitative reasoning based parameter tuning on bottleneck of synchronized queueing network," inProc. Compsac'91, 1991, pp. 307-314.
[24] K. Itoh, "Systematic integration of qualitative and quantitative parameter tuning methods for improving real-time system prototype by AI techniques," inProc. Int. Conf. Syst. Integration'92, 1992, pp. 54-65.
[25] T. C. Jones, "Reusability in programming: A survey of the state of the art,"IEEE Trans. Software Eng., vol. SE-10, pp. 488-494, 1984.
[26] S. Katz and R. Zimmerman, "An advisory system for developing data representations," inProc. 7th. IJCAI, 1981, pp. 1030-1036.
[27] L. Kleinrock,Queueing Systems. New York: Wiley, 1975.
[28] J. Kramer and J. Magee, "The evolving philosophers problem: Dynamic change management,"IEEE Trans. Software Eng., vol. 16, pp. 1293-1306, 1990.
[29] Luqi and V. Berzins, "Rapidly prototyping real-time systems,"IEEE Software, vol. 5, pp. 25-36, 1988.
[30] Luqi, "Software evolution through rapid prototyping,"IEEE Computer, vol. 22, pp. 13-25, 1989.
[31] Luqi, "A graph model for software evolution,"IEEE Trans. Software Eng., vol. 16, pp. 917-927, 1990.
[32] Luqi, "Computer-aided prototyping for a command-and-control system using CAPS,"IEEE Software, vol. 9, pp. 56-67, 1992.
[33] Luqi and W. Royce, "Status report: Computer-aided prototyping,"IEEE Software, vol. 9, pp. 77-81, 1992.
[34] N. Nilsson,Principles of Artificial Intelligence. Palo Alto, CA: Tioga, 1980.
[35] D. M. Ogle, K. Schwan, and R. Snodgrass, "Application-dependent dynamic monitoring of distributed and parallel systems,"IEEE Trans. Parallel Distrib. Syst., vol. 4, pp. 762-778, 1993.
[36] D. Perry, "The Inscape Environment," inProc. 11th Int. Conf. Software Engineering, IEEE, 1989, pp. 2-12.
[37] N. S. Prywers, "Automatic program generation in distributed cooperative computation,"IEEE Trans. Syst. Man. Cybernet., vol. SMC-14, pp. 275-286, 1984.
[38] R. Rajagopalan, "Qualitative modeling in the turbojet engine domain," inProc. AAAI-84, 1984, pp. 283-287.
[39] K. Ramamritham and J. A. Stankovic, "Scheduling algorithms and operating systems support for real-time systems,"Proc. IEEE, vol. 82, pp. 55-67, 1994.
[40] R. R. Razouk and C. V. Phelps, "Performance analysis using timed petri nets," inProtocol Specification, Testing and Verification IV, 1985.
[41] C. Rich and Shrobe, "Initial report on a LISP programmer's apprentice,"IEEE Trans. Software Eng., vol. SE-4, pp. 456-467, 1978.
[42] E. D. Sacerdoti, "Planning in a hierarchy of abstraction spaces,"Art. Intell., vol. 5, pp. 115-135, 1974.
[43] K. Schwan and R. Ramnath, "Adaptable operating software for manufacturing systems and robots-a computer science research agenda," inProc. Real-Time Systems Symp., 1984, pp. 255-262.
[44] W. Swartout, "The Gist behavior explainer," inProc. AAAI-83, 1983, pp. 402-407.
[45] R. B. Terwilliger and R. H. Campbell, "PLEASE: Predicate logic based executable specifications," inProc. CSC'86, 1986, pp. 349-358.
[46] N. Uchihira, T. Kasuya, K. Matsumoto, and S. Honiden, "Concurrent program synthesis with reusable component using temporal logic," inProc. Compsac'87, 1987, pp. 455-464.
[47] B. Williams, "Interaction-based invention: Designing novel devices from first principles," inProc. AAAI-90, 1990, pp. 349-356.
[48] P. Zave, "The operational versus the conventional approach to software development,"Commun. ACM, vol. 27, no. 2, pp. 104-118, Feb. 1984.

Index Terms:
software prototyping; real-time systems; software reusability; expert systems; inference mechanisms; knowledge representation; object-oriented programming; object-oriented languages; parallel languages; artificial intelligence; object-oriented performance design; real-time systems; rapid prototyping method; OOPD; prototyping phases; prototype construction; prototype execution; prototype evaluation; artificial intelligence based methods; rapid construction mechanism; reusable software components; hybrid inference mechanism; declarative knowledge representation; MENDEL; Prolog based concurrent object-oriented language; prototype construction tool; expert system; qualitative reasoning
Citation:
S. Honiden, K. Nishimura, N. Uchihira, K. Itoh, "An Application of Artificial Intelligence to Object-Oriented Performance Design for Real-Time Systems," IEEE Transactions on Software Engineering, vol. 20, no. 11, pp. 849-867, Nov. 1994, doi:10.1109/32.368123
Usage of this product signifies your acceptance of the Terms of Use.