Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
The AspectJ project, www.aspectj.org (accessed January 2004)
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)
Cohen, P.R., Levesque, H.J.: Intention is Choice with Commitment. Artificial Intelligence 42, 213–261 (1990)
Amyot, D., Logrippo, L. (eds.): Feature Interactions in Telecommunications and Software Systems VII. IOS Press, Amsterdam (2003)
Calder, M., Magill, E. (eds.): Feature Interactions in Telecommunications and Software Systems VI. IOS Press, Amsterdam (2000)
Fisher, M.: A Survey of Concurrent METATEM – The language and Its Applications. In: Gabbay, D.M., Ohlbach, H.J. (eds.) ICTL 1994. LNCS (LNAI), vol. 827, pp. 480–505. Springer, Heidelberg (1994)
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)
de Giacomo, G., Lespérance, Y., Levesque, H.J.: ConGolog, a Concurrent Programming Language Based on the Situation Calculus. Artificial Intelligence 121(1- 2), 109–169 (2000)
Harel, D.: Dynamic Logic. In: Gabbay, D., Guenthner, F. (eds.) Handbook of Philosophical Logic, vol. II, pp. 497–604. Reidel, Dordrecht (1984)
Hindriks, K.V.: Agent Programming Languages: Programming with Mental Models, PhD. Thesis, Utrecht University (2001)
Hindriks, K.V., de Boer, F.S., van der Hoek, W., Meyer, J.-J.C.: Formal Semantics for an Abstract Agent Programming Language. In: Rao, A., Singh, M.P., Wooldridge, M.J. (eds.) ATAL 1997. LNCS (LNAI), vol. 1365, pp. 215–229. Springer, Heidelberg (1998)
Hindriks, K.V., de Boer, F.S., van der Hoek, W., Meyer, J.-J.C.: Agent Programming in 3APL. Int. J. of Autonomous Agents and Multi-Agent Systems 2(4), 357–401 (1999)
Hindriks, K.V., de Boer, F.S., van der Hoek, W., Meyer, J.-J.C.: A Programming Logic for Part of the Agent Language 3APL. In: Rash, J.L., Rouff, C.A., Truszkowski, W., Gordon, D.F., Hinchey, M.G. (eds.) FAABS 2000. LNCS (LNAI), vol. 1871, pp. 78–89. Springer, Heidelberg (2001)
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)
Jennings, N.R., Wooldridge, M.J.: Agent technology: Foundations, Applications, and Markets. Springer, Berlin (1997)
Katz, S.: A superimposition control construct for distributed systems. ACM Transactions on Programming Languages and Systems 15(2), 337–356 (1993)
Levesque, H.J., Reiter, R., Lespérance, Y., Lin, F., Scherl, R.B.: GOLOG: A Logic Programming Language for Dynamic Domains. J. of Logic Programming 31, 59–84 (1997)
van Linder, B.: Modal Logics for Rational agents, PhD. Thesis, Utrecht University (1996)
Meyer, J.-J.C., van der Hoek, W., van Linder, B.: A Logical Approach to the Dynamics of Commitments. Artificial Intelligence 113, 1–40 (1999)
Plath, M.C., Ryan, M.D.: Feature integration using a feature construct. Science of Computer Programming (2001)
Rao, A.S.: AgentSpeak(L): BDI Agents Speak Out in a Logical Computable Language. In: Perram, J., Van de Velde, W. (eds.) MAAMAW 1996. LNCS (LNAI), vol. 1038, pp. 42–55. Springer, Heidelberg (1996)
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)
Shoham, Y.: Agent-Oriented Programming. Artificial Intelligence 60(1), 51–92 (1993)
Wooldridge, M.J., Jennings, N.R. (eds.): Intelligent Agents. Springer, Berlin (1995)
Zave, P.: FAQ Sheet on Feature Interaction, At http://www.research.att.com/~pamela/faq.html (accessed January 2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Meyer, JJ.C., Ryan, M.D., Ehrich, HD. (2004). Objects, Agents, and Features: An Introduction. In: Ryan, M.D., Meyer, JJ.C., Ehrich, HD. (eds) Objects, Agents, and Features. Lecture Notes in Computer Science, vol 2975. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-25930-5_1
Download citation
DOI: https://doi.org/10.1007/978-3-540-25930-5_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21989-7
Online ISBN: 978-3-540-25930-5
eBook Packages: Springer Book Archive