A feature model of actor, agent, and object programming languages

This paper presents first steps towards a feature model, which can be used to compare actor-oriented, agent-oriented, and object-oriented programming languages. The feature model is derived from the existing literature on general concepts of programming, and validated against Erlang, Jason, and Java. The model acts as a tool to assist practitioners in selecting the most appropriate programming language for a given task, and is expected to form the basis of further high-level comparative studies in this area.

[1]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[2]  Paul Hudak,et al.  Conception, evolution, and application of functional programming languages , 1989, CSUR.

[3]  David K. Gifford,et al.  Design Concepts in Programming Languages , 2008 .

[4]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[5]  Gul A. Agha,et al.  Actor frameworks for the JVM platform: a comparative analysis , 2009, PPPJ '09.

[6]  Michael Fisher,et al.  Language Constructs for Multi-agent Programming , 2008, CLIMA.

[7]  Eelco Visser,et al.  Meta-programming with Concrete Object Syntax , 2002, GPCE.

[8]  Peter Van Roy,et al.  Programming paradigms for dummies: what every programmer should know , 2009 .

[9]  Michael L. Scott,et al.  Programming Language Pragmatics , 1999 .

[10]  Jan Bosch,et al.  A taxonomy of variability realization techniques , 2005, Softw. Pract. Exp..

[11]  Michael Fisher,et al.  MetateM: The Story so Far , 2005, PROMAS.

[12]  Yoav Shoham,et al.  Agent-Oriented Programming , 1992, Artif. Intell..

[13]  Brian Logan,et al.  Modularity and Compositionality in Jason , 2009, PROMAS.

[14]  William B. Frakes,et al.  Software reuse research: status and future , 2005, IEEE Transactions on Software Engineering.

[15]  Christopher Strachey,et al.  Fundamental Concepts in Programming Languages , 2000, High. Order Symb. Comput..

[16]  H. Van Dyke Parunak,et al.  Modeling Agents and Their Environment , 2002, AOSE.

[17]  A. S. Roa,et al.  AgentSpeak(L): BDI agents speak out in a logical computable language , 1996 .

[18]  Kim B. Clark,et al.  Design Rules: The Power of Modularity Volume 1 , 1999 .

[19]  Joe aRmstRonG,et al.  Erlang , 2010, Commun. ACM.

[20]  Michael Wooldridge,et al.  A Common Semantic Basis for BDI Languages , 2007, PROMAS.

[21]  Krzysztof Czarnecki,et al.  Classification of Model Transformation Approaches , 2003 .

[22]  T. Kuhn,et al.  The Structure of Scientific Revolutions. , 1964 .

[23]  Laurence Tratt,et al.  Dynamically Typed Languages , 2009, Adv. Comput..

[24]  Simon L. Peyton Jones,et al.  Imperative functional programming , 1993, POPL '93.

[25]  Bruce E. Martin,et al.  An object-based taxonomy for distributed computing systems , 1991, Computer.

[26]  D. Gabbay,et al.  Many-Dimensional Modal Logics: Theory and Applications , 2003 .

[27]  Raphael A. Finkel,et al.  Advanced programming language design , 1995 .

[28]  Michael L. Scott Programming Language Pragmatics, Third Edition , 2009 .

[29]  Deborah J. Armstrong The quarks of object-oriented development , 2006, CACM.

[30]  Andrea Omicini,et al.  Environment as a first class abstraction in multiagent systems , 2007, Autonomous Agents and Multi-Agent Systems.

[31]  Wynne W. Chin,et al.  Understanding frameworks and reviews: a commentary to assist us in moving our field forward by analyzing our past , 2007, DATB.

[32]  Joe Armstrong,et al.  A history of Erlang , 2007, HOPL.

[33]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[34]  Gilad Bracha,et al.  Modularity meets inheritance , 1992, Proceedings of the 1992 International Conference on Computer Languages.

[35]  Michael Wooldridge,et al.  Programming Multi-Agent Systems in AgentSpeak using Jason (Wiley Series in Agent Technology) , 2007 .

[36]  M.N. Sastry,et al.  Structure and interpretation of computer programs , 1986, Proceedings of the IEEE.

[37]  Peter Van Roy,et al.  Concepts, Techniques, and Models of Computer Programming , 2004 .

[38]  Mehdi Dastani,et al.  Programming Multi-Agent Systems in 3APL , 2005, Multi-Agent Programming.

[39]  D. Dickson The story so far… , 2000, Nature.

[40]  Krzysztof Czarnecki,et al.  Feature-based survey of model transformation approaches , 2006, IBM Syst. J..

[41]  Carl Hewitt,et al.  A Universal Modular ACTOR Formalism for Artificial Intelligence , 1973, IJCAI.

[42]  Don S. Batory,et al.  On the modularity of feature interactions , 2008, GPCE '08.

[43]  Juan M. Orduña,et al.  Evaluating Jason for Distributed Crowd Simulations , 2010, ICAART.

[44]  Michael Hanus,et al.  Multi-paradigm Declarative Languages , 2007, ICLP.