Objects, Agents, and Features: An Introduction
There are many ways of structuring software, and the seminar focussed on an established one (object-orientation) and two emerging ones (agent-orientation and feature-orientation).
The object paradigm is now widely used in software technology (with programming languages like C++ and Java, and OO modelling frameworks such as UML). However, the theoretical foundations of the object paradigm are not settled yet, although clean concepts and reliable foundations are more and more demanded not only by academia but also by practitioners. In particular, the precise meaning of UML concepts is subject to wide debate.
Agents are more special kinds of objects, having more autonomy, and taking more initiative. For this reason, agent-oriented programming is sometimes referred to as ‘subject-oriented’ rather than ‘object-oriented’, indicating that an agent is much more in control of itself than an object which is manipulated by other entities (objects). There is some work on investigating typical object notions like inheritance in the context of agents. An interesting question is whether this is a fruitful way to go. Typically, agents are thought of being endowed with ‘mental states’ involving concepts like knowledge, belief, desires and goals, in order to display autonomous and in particular pro-active behaviour.
Features are optional extensions of functionality which may be added to a software product, in order to reflect changes in requirements. They also cut across the class structure, because implementing a feature typically involves updating several classes or objects. The more complex the system is, the harder it is to add features without breaking something; this phenomenon has been dubbed the ‘feature interaction problem’. Because users like to think of a system as comprising a base system together with a number of features on top, features could potentially be seen as a structuring mechanism rivalling objects and agents.
Unable to display preview. Download preview PDF.
- 1.The AspectJ project, www.aspectj.org (accessed January 2004)
- 2.Bordini, R.H., Fisher, M., Pardavila, C., Wooldridge, M.: Model checking AgentSpeak. In: Proceedings of the second international joint conference on autonomous agents and multiagent systems (AAMAS 2003), Melbourne, pp. 409–416 (2003)Google Scholar
- 4.Amyot, D., Logrippo, L. (eds.): Feature Interactions in Telecommunications and Software Systems VII. IOS Press, Amsterdam (2003)Google Scholar
- 5.Calder, M., Magill, E. (eds.): Feature Interactions in Telecommunications and Software Systems VI. IOS Press, Amsterdam (2000)Google Scholar
- 7.Georgeff, M.P., Lansky, A.L.: Reactive Reasoning and Planning. In: Proc. 3rd Nat. Conf. on Artif. Intell (AAAI 1987), Seattle, WA, pp. 677–682 (1987)Google Scholar
- 9.Harel, D.: Dynamic Logic. In: Gabbay, D., Guenthner, F. (eds.) Handbook of Philosophical Logic, vol. II, pp. 497–604. Reidel, Dordrecht (1984)Google Scholar
- 10.Hindriks, K.V.: Agent Programming Languages: Programming with Mental Models, PhD. Thesis, Utrecht University (2001)Google Scholar
- 14.van der Hoek, W., van Linder, B., Meyer, J.-J.C.: An Integrated Modal Approach to Rational Agents. In: Wooldridge, M., Rao, A. (eds.) Foundations of Rational Agency. Applied Logic Series, vol. 14, pp. 133–168. Kluwer, Dordrecht (1998)Google Scholar
- 15.Jennings, N.R., Wooldridge, M.J.: Agent technology: Foundations, Applications, and Markets. Springer, Berlin (1997)Google Scholar
- 18.van Linder, B.: Modal Logics for Rational agents, PhD. Thesis, Utrecht University (1996)Google Scholar
- 20.Plath, M.C., Ryan, M.D.: Feature integration using a feature construct. Science of Computer Programming (2001)Google Scholar
- 22.Rao, A.S., Georgeff, M.P.: Modeling Rational Agents within a BDI-Architecture. In: Allen, J., Fikes, R., Sandewall, E. (eds.) Proceedings of the Second International Conference on Principles of Knowledge Representation and Reasoning (KR 1991), pp. 473–484. Morgan Kaufmann, San Francisco (1991)Google Scholar
- 25.Zave, P.: FAQ Sheet on Feature Interaction, At http://www.research.att.com/~pamela/faq.html (accessed January 2004)