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

The number of programming languages is large and steadily increasing. However, little structured information and empirical evidence is available to help software engineers assess the suitability of a language for a particular development project or software architecture. We argue that these shortage...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:Science of computer programming Ročník 98; s. 120 - 139
Hlavní autoři: Jordan, Howell, Botterweck, Goetz, Noll, John, Butterfield, Andrew, Collier, Rem
Médium: Journal Article
Jazyk:angličtina
Vydáno: Elsevier B.V 01.02.2015
Témata:
ISSN:0167-6423, 1872-7964
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Abstract The number of programming languages is large and steadily increasing. However, little structured information and empirical evidence is available to help software engineers assess the suitability of a language for a particular development project or software architecture. We argue that these shortages are partly due to a lack of high-level, objective programming language feature assessment criteria: existing advice to practitioners is often based on ill-defined notions of ‘paradigms’ [3, p. xiii] and ‘orientation’, while researchers lack a shared common basis for generalisation and synthesis of empirical results. This paper presents a feature model constructed from the programmer's perspective, which can be used to precisely compare general-purpose programming languages in the actor-oriented, agent-oriented, functional, object-oriented, and procedural categories. The feature model is derived from the existing literature on general concepts of programming, and validated with concrete mappings of well-known languages in each of these categories. The model is intended to act as a tool for both practitioners and researchers, to facilitate both further high-level comparative studies of programming languages, and detailed investigations of feature usage and efficacy in specific development contexts. •A survey of existing programming language comparisons and comparison techniques.•Definitions of actor, agent, functional, object, and procedural programming concepts.•A feature model of general-purpose programming languages.•Mappings from five languages (C, Erlang, Haskell, Jason, and Java) to this model.
AbstractList The number of programming languages is large and steadily increasing. However, little structured information and empirical evidence is available to help software engineers assess the suitability of a language for a particular development project or software architecture. We argue that these shortages are partly due to a lack of high-level, objective programming language feature assessment criteria: existing advice to practitioners is often based on ill-defined notions of ‘paradigms’ [3, p. xiii] and ‘orientation’, while researchers lack a shared common basis for generalisation and synthesis of empirical results. This paper presents a feature model constructed from the programmer's perspective, which can be used to precisely compare general-purpose programming languages in the actor-oriented, agent-oriented, functional, object-oriented, and procedural categories. The feature model is derived from the existing literature on general concepts of programming, and validated with concrete mappings of well-known languages in each of these categories. The model is intended to act as a tool for both practitioners and researchers, to facilitate both further high-level comparative studies of programming languages, and detailed investigations of feature usage and efficacy in specific development contexts. •A survey of existing programming language comparisons and comparison techniques.•Definitions of actor, agent, functional, object, and procedural programming concepts.•A feature model of general-purpose programming languages.•Mappings from five languages (C, Erlang, Haskell, Jason, and Java) to this model.
Author Noll, John
Jordan, Howell
Collier, Rem
Botterweck, Goetz
Butterfield, Andrew
Author_xml – sequence: 1
  givenname: Howell
  surname: Jordan
  fullname: Jordan, Howell
  email: howell.jordan@lero.ie
  organization: Lero, University of Limerick, Ireland
– sequence: 2
  givenname: Goetz
  surname: Botterweck
  fullname: Botterweck, Goetz
  email: goetz.botterweck@lero.ie
  organization: Lero, University of Limerick, Ireland
– sequence: 3
  givenname: John
  surname: Noll
  fullname: Noll, John
  email: john.noll@lero.ie
  organization: Lero, University of Limerick, Ireland
– sequence: 4
  givenname: Andrew
  surname: Butterfield
  fullname: Butterfield, Andrew
  email: andrew.butterfield@scss.tcd.ie
  organization: Trinity College Dublin, Dublin 2, Ireland
– sequence: 5
  givenname: Rem
  surname: Collier
  fullname: Collier, Rem
  email: rem.collier@ucd.ie
  organization: University College Dublin, Belfield, Dublin 4, Ireland
BookMark eNqFkMtOwzAQRS1UJFrgC9j4A5rgR2rHCxZVxUuqxAYWrCzHmUSOUrtyEiT-HoeyYgGrGY3uGemeFVr44AGhG0pySqi47fLBOhtyRmiRE5YTos7QkpaSZVKJYoGWKSUzUTB-gVbD0BFCRCHpEr1vcQNmnCLgQ6ihx6HBxo4hrrFpwY9r3Ezeji54069xqDqw6WZ8jY8xWKinaPp5baM5HJxvcW98OyV0uELnjekHuP6Zl-jt4f5195TtXx6fd9t9ZrnkY8ZtaZsNbzai4LyuBdS0Ugo2ihaKl1JySoQSljEpWAWlKoUQnEFZGVGpxip-ifjpr41hGCI0-hjdwcRPTYme7ehOf9vRsx1NmE52EqV-UdaNZu45RuP6f9i7Ewup1oeDOGfAJxsuJj26Du5P_gswO4O4
CitedBy_id crossref_primary_10_1007_s10458_020_09453_y
crossref_primary_10_1016_j_cl_2015_12_003
crossref_primary_10_1515_comp_2020_0117
Cites_doi 10.1016/0004-3702(93)90034-9
10.1145/1113034.1113040
10.1109/TSE.2005.85
10.1145/138844.138849
10.1145/72551.72554
10.1016/S0065-2458(09)01205-4
10.1145/1278253.1278259
10.1145/260541.260547
10.1002/spe.4380150205
10.1145/122203.122206
10.1145/356869.356872
10.1093/comjnl/25.2.248
10.1007/s10458-006-0012-0
10.1145/1810891.1810910
10.1109/2.84873
10.1093/comjnl/bxh120
10.1002/spe.4380110102
10.1147/sj.453.0621
10.1145/1378704.1378725
10.1109/C-M.1978.218092
10.5381/jot.2009.8.5.c5
10.1145/361598.361623
10.1002/spe.652
10.1002/spe.432
10.1145/72551.72555
10.1023/A:1010000313106
ContentType Journal Article
Copyright 2014 Elsevier B.V.
Copyright_xml – notice: 2014 Elsevier B.V.
DBID 6I.
AAFTH
AAYXX
CITATION
DOI 10.1016/j.scico.2014.02.009
DatabaseName ScienceDirect Open Access Titles
Elsevier:ScienceDirect:Open Access
CrossRef
DatabaseTitle CrossRef
DatabaseTitleList
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 1872-7964
EndPage 139
ExternalDocumentID 10_1016_j_scico_2014_02_009
S0167642314000501
GroupedDBID --K
--M
.DC
.~1
0R~
123
1B1
1RT
1~.
1~5
4.4
457
4G.
5VS
6I.
7-5
71M
8P~
9JN
AACTN
AAEDW
AAFTH
AAIAV
AAIKJ
AAKOC
AALRI
AAOAW
AAQFI
AAXUO
AAYFN
ABBOA
ABJNI
ABMAC
ABVKL
ABYKQ
ACDAQ
ACGFS
ACRLP
ACZNC
ADBBV
ADEZE
ADHUB
AEBSH
AEKER
AENEX
AEXQZ
AFKWA
AFTJW
AGUBO
AGYEJ
AHHHB
AHZHX
AIALX
AIEXJ
AIKHN
AITUG
AJBFU
AJOXV
ALMA_UNASSIGNED_HOLDINGS
AMFUW
AMRAJ
AOUOD
AXJTR
BKOJK
BLXMC
CS3
DU5
E.L
EBS
EFJIC
EFLBG
EJD
EO8
EO9
EP2
EP3
FDB
FEDTE
FIRID
FNPLU
FYGXN
G-Q
GBLVA
GBOLZ
HVGLF
IHE
IXB
J1W
KOM
LG9
M26
M41
MO0
N9A
NCXOZ
O-L
O9-
OAUVE
OK1
OZT
P-8
P-9
P2P
PC.
Q38
RIG
ROL
RPZ
SDF
SDG
SDP
SES
SPC
SPCBC
SSV
SSZ
T5K
TN5
XPP
ZMT
~G-
9DU
AAEDT
AAQXK
AATTM
AAXKI
AAYWO
AAYXX
ABFNM
ABWVN
ABXDB
ACLOT
ACNNM
ACRPL
ACVFH
ADCNI
ADMUD
ADNMO
ADVLN
AEIPS
AEUPX
AFFNX
AFJKZ
AFPUW
AGHFR
AGQPQ
AIGII
AIIUN
AKBMS
AKRWK
AKYEP
ANKPU
APXCP
ASPBG
AVWKF
AZFZN
CITATION
EFKBS
FGOYB
G-2
HZ~
R2-
SEW
WUQ
ZY4
~HD
ID FETCH-LOGICAL-c373t-3c8cf53f56433dd6ed1b99e591493877310696c22762be89866632e8ba6b9fc93
ISICitedReferencesCount 7
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000347741000002&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 0167-6423
IngestDate Sat Nov 29 03:37:16 EST 2025
Tue Nov 18 22:31:12 EST 2025
Fri Feb 23 02:37:19 EST 2024
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed true
IsScholarly true
Keywords Programming language constructs
Functional programming
Object-oriented programming
Agent-oriented programming
Programming languages
Language English
License http://www.elsevier.com/open-access/userlicense/1.0
LinkModel OpenURL
MergedId FETCHMERGED-LOGICAL-c373t-3c8cf53f56433dd6ed1b99e591493877310696c22762be89866632e8ba6b9fc93
OpenAccessLink https://dx.doi.org/10.1016/j.scico.2014.02.009
PageCount 20
ParticipantIDs crossref_primary_10_1016_j_scico_2014_02_009
crossref_citationtrail_10_1016_j_scico_2014_02_009
elsevier_sciencedirect_doi_10_1016_j_scico_2014_02_009
PublicationCentury 2000
PublicationDate 2015-02-01
PublicationDateYYYYMMDD 2015-02-01
PublicationDate_xml – month: 02
  year: 2015
  text: 2015-02-01
  day: 01
PublicationDecade 2010
PublicationTitle Science of computer programming
PublicationYear 2015
Publisher Elsevier B.V
Publisher_xml – name: Elsevier B.V
References International Organization for Standardization, ISO/IEC 9899: Programming languages – C, 1990.
Feuer, Gehani (br0370) 1982; 14
Svahnberg, Van Gurp, Bosch (br0670) 2005; 35
Clements, Northrop (br0220) 2002
Bosch (br0260) 2000
Wichmann (br0360) 1982; 25
Appeltauer, Hirschfeld, Haupt, Lincke, Perscheid (br0400) 2009
Strachey (br0460) 2000; 13
Karmani, Shali, Agha (br0610) 2009
Czarnecki, Helsen (br0310) 2006; 45
Bracha, Lindstrom (br0660) 1992
Apel, Kästner (br0190) 2009; 8
Fisher (br0330) 1978; 11
Shapiro (br0500) 1989; 21
Dastani, van Riemsdijk, Meyer (br0530) 2005; vol. 15
Weyns, Omicini, Odell (br0700) 2007; 14
Lämmel, Verhoef (br0020) 2001
International Organization for Standardization, ISO/IEC 9899: Programming languages – C, 1999.
Armstrong (br0080) 2007
Van Roy, Haridi (br0030) 2004
Schwarz, Mehta, Johnson, Chin (br0250) 2007; 38
Krauter, Buyya, Maheswaran (br0290) 2002; 32
Madden, Logan (br0580) 2009
Sheard, Peyton Jones (br0630) 2002
Kernighan, Ritchie (br0060) 1988
Wheeler (br0340) 1997; 17
Tratt (br0480) 2009; 77
Van Roy (br0470) 2009
Odell, Van Dyke Parunak, Fleischer, Brueckner (br0710) 2002
Meier, Cahill (br0300) 2005; 48
Belkhouche, Lawrence, Thadani (br0390) 1988; 7
.
Fisher (br0540) 2005; vol. 3862
Martin, Pedersen, Bedford-Roberts (br0280) 1991; 24
Finkel, Kamin (br0430) 1996
Czarnecki, Eisenecker (br0180) 2000
Pohl, Böckle, Van Der Linden (br0230) 2005
Jordan, Botterweck, Huget, Collier (br0270) 2011
Hudak (br0550) 1989; 21
Kuhn (br0050) 1996
Czarnecki, She, Wasowski (br0730) 2008
Rosetta code, 2007
Parnas (br0680) 1972; 15
Kang, Cohen, Hess, Novak, Peterson (br0200) 1990
Dennis, Fisher, Hepple (br0520) 2007; vol. 5056
Hewitt, Bishop, Steiger (br0090) 1973
Agha (br0100) 1990
Kim, Kästner, Batory (br0240) 2008
International Organization for Standardization, ISO/IEC 9899: Programming languages – C, 2011.
Calliss (br0410) 1991; 26
Frakes, Kang (br0640) 2005; 31
Rosen (br0040) 1992; 35
Bordini, Hübner, Wooldridge (br0110) 2007
Abelson, Sussman, Sussman (br0420) 1996
Visser (br0690) 2002; vol. 2487
Connolly, Begg (br0720) 2005
Turbak, Gifford, Sheldon (br0450) 2008
Institute of Electrical and Electronics Engineers (br0170) 2008
She, Lotufo, Berger, Wasowski, Czarnecki (br0210) 2010
Department of Defense requirements for high order computer programming languages: Steelman, 1978
Shaw, Almes, Newcomer, Reid, Wulf (br0350) 1981; 11
Armstrong (br0070) 2010; 53
Appelbe, Hansen (br0380) 1985; 15
Scott (br0440) 2009
Armstrong (br0570) 2006; 49
Peyton-Jones (br0620) 2007
Dennis, Farwer, Bordini, Fisher, Wooldridge (br0510) 2007
Peyton-Jones, Wadler (br0590) 1993
Shoham (br0120) 1993; 60
Rao (br0130) 1996; vol. 1038
Hanus (br0560) 2007; vol. 4670
Gabbay, Kurucz, Wolter, Zakharyaschev (br0490) 2003
Harris, Marlow, Jones, Herlihy (br0600) 2008; 51
Baldwin, Clark (br0650) 2000
Czarnecki (10.1016/j.scico.2014.02.009_br0180) 2000
Frakes (10.1016/j.scico.2014.02.009_br0640) 2005; 31
Czarnecki (10.1016/j.scico.2014.02.009_br0730) 2008
Lämmel (10.1016/j.scico.2014.02.009_br0020) 2001
Van Roy (10.1016/j.scico.2014.02.009_br0470) 2009
Hewitt (10.1016/j.scico.2014.02.009_br0090) 1973
10.1016/j.scico.2014.02.009_br0160
Pohl (10.1016/j.scico.2014.02.009_br0230) 2005
Rosen (10.1016/j.scico.2014.02.009_br0040) 1992; 35
Rao (10.1016/j.scico.2014.02.009_br0130) 1996; vol. 1038
10.1016/j.scico.2014.02.009_br0320
Van Roy (10.1016/j.scico.2014.02.009_br0030) 2004
Apel (10.1016/j.scico.2014.02.009_br0190) 2009; 8
Abelson (10.1016/j.scico.2014.02.009_br0420) 1996
Kuhn (10.1016/j.scico.2014.02.009_br0050) 1996
Karmani (10.1016/j.scico.2014.02.009_br0610) 2009
Kim (10.1016/j.scico.2014.02.009_br0240) 2008
Jordan (10.1016/j.scico.2014.02.009_br0270) 2011
Bordini (10.1016/j.scico.2014.02.009_br0110) 2007
Svahnberg (10.1016/j.scico.2014.02.009_br0670) 2005; 35
Calliss (10.1016/j.scico.2014.02.009_br0410) 1991; 26
Hanus (10.1016/j.scico.2014.02.009_br0560) 2007; vol. 4670
Kang (10.1016/j.scico.2014.02.009_br0200) 1990
Odell (10.1016/j.scico.2014.02.009_br0710) 2002
Shaw (10.1016/j.scico.2014.02.009_br0350) 1981; 11
Armstrong (10.1016/j.scico.2014.02.009_br0080) 2007
Czarnecki (10.1016/j.scico.2014.02.009_br0310) 2006; 45
Clements (10.1016/j.scico.2014.02.009_br0220) 2002
Tratt (10.1016/j.scico.2014.02.009_br0480) 2009; 77
Appelbe (10.1016/j.scico.2014.02.009_br0380) 1985; 15
Meier (10.1016/j.scico.2014.02.009_br0300) 2005; 48
10.1016/j.scico.2014.02.009_br0010
Schwarz (10.1016/j.scico.2014.02.009_br0250) 2007; 38
Krauter (10.1016/j.scico.2014.02.009_br0290) 2002; 32
Peyton-Jones (10.1016/j.scico.2014.02.009_br0620) 2007
Baldwin (10.1016/j.scico.2014.02.009_br0650) 2000
Connolly (10.1016/j.scico.2014.02.009_br0720) 2005
Strachey (10.1016/j.scico.2014.02.009_br0460) 2000; 13
Peyton-Jones (10.1016/j.scico.2014.02.009_br0590) 1993
Wichmann (10.1016/j.scico.2014.02.009_br0360) 1982; 25
Fisher (10.1016/j.scico.2014.02.009_br0330) 1978; 11
Martin (10.1016/j.scico.2014.02.009_br0280) 1991; 24
Bosch (10.1016/j.scico.2014.02.009_br0260) 2000
Dennis (10.1016/j.scico.2014.02.009_br0510) 2007
Bracha (10.1016/j.scico.2014.02.009_br0660) 1992
Sheard (10.1016/j.scico.2014.02.009_br0630) 2002
Dennis (10.1016/j.scico.2014.02.009_br0520) 2007; vol. 5056
10.1016/j.scico.2014.02.009_br0140
Kernighan (10.1016/j.scico.2014.02.009_br0060) 1988
Armstrong (10.1016/j.scico.2014.02.009_br0070) 2010; 53
Fisher (10.1016/j.scico.2014.02.009_br0540) 2005; vol. 3862
Shoham (10.1016/j.scico.2014.02.009_br0120) 1993; 60
Feuer (10.1016/j.scico.2014.02.009_br0370) 1982; 14
Scott (10.1016/j.scico.2014.02.009_br0440) 2009
Armstrong (10.1016/j.scico.2014.02.009_br0570) 2006; 49
Appeltauer (10.1016/j.scico.2014.02.009_br0400) 2009
Dastani (10.1016/j.scico.2014.02.009_br0530) 2005; vol. 15
She (10.1016/j.scico.2014.02.009_br0210) 2010
Harris (10.1016/j.scico.2014.02.009_br0600) 2008; 51
Belkhouche (10.1016/j.scico.2014.02.009_br0390) 1988; 7
Institute of Electrical and Electronics Engineers (10.1016/j.scico.2014.02.009_br0170) 2008
Weyns (10.1016/j.scico.2014.02.009_br0700) 2007; 14
Agha (10.1016/j.scico.2014.02.009_br0100) 1990
Hudak (10.1016/j.scico.2014.02.009_br0550) 1989; 21
10.1016/j.scico.2014.02.009_br0150
Shapiro (10.1016/j.scico.2014.02.009_br0500) 1989; 21
Madden (10.1016/j.scico.2014.02.009_br0580) 2009
Turbak (10.1016/j.scico.2014.02.009_br0450) 2008
Wheeler (10.1016/j.scico.2014.02.009_br0340) 1997; 17
Parnas (10.1016/j.scico.2014.02.009_br0680) 1972; 15
Visser (10.1016/j.scico.2014.02.009_br0690) 2002; vol. 2487
Gabbay (10.1016/j.scico.2014.02.009_br0490) 2003
Finkel (10.1016/j.scico.2014.02.009_br0430) 1996
References_xml – volume: vol. 1038
  start-page: 42
  year: 1996
  end-page: 55
  ident: br0130
  article-title: AgentSpeak(L): BDI agents speak out in a logical computable language
  publication-title: MAAMAW
– volume: 8
  start-page: 49
  year: 2009
  end-page: 84
  ident: br0190
  article-title: An overview of feature-oriented software development
  publication-title: J. Object Technol.
– year: 1996
  ident: br0430
  article-title: Advanced Programming Language Design
– year: 2009
  ident: br0400
  article-title: A comparison of context-oriented programming languages
  publication-title: International Workshop on Context-Oriented Programming
– volume: 15
  start-page: 1053
  year: 1972
  end-page: 1058
  ident: br0680
  article-title: On the criteria to be used in decomposing systems into modules
  publication-title: Commun. ACM
– volume: vol. 2487
  start-page: 299
  year: 2002
  end-page: 315
  ident: br0690
  article-title: Meta-programming with concrete object syntax
  publication-title: GPCE
– volume: 21
  start-page: 359
  year: 1989
  end-page: 411
  ident: br0550
  article-title: Conception, evolution, and application of functional programming languages
  publication-title: ACM Comput. Surv.
– volume: 35
  start-page: 71
  year: 1992
  end-page: 76
  ident: br0040
  article-title: What orientation should Ada objects take?
  publication-title: Commun. ACM
– start-page: 1
  year: 2007
  end-page: 26
  ident: br0080
  article-title: A history of Erlang
  publication-title: HOPL
– year: 1990
  ident: br0100
  article-title: ACTORS – A Model of Concurrent Computation in Distributed Systems
  publication-title: MIT Press Series in Artificial Intelligence
– volume: 25
  start-page: 248
  year: 1982
  end-page: 252
  ident: br0360
  article-title: A comparison of Pascal and Ada
  publication-title: Comput. J.
– start-page: 78
  year: 2001
  end-page: 88
  ident: br0020
  article-title: Cracking the 500-Language Problem
– reference: Department of Defense requirements for high order computer programming languages: Steelman, 1978,
– volume: 49
  start-page: 123
  year: 2006
  end-page: 128
  ident: br0570
  article-title: The quarks of object-oriented development
  publication-title: Commun. ACM
– volume: 14
  start-page: 5
  year: 2007
  end-page: 30
  ident: br0700
  article-title: Environment as a first class abstraction in multiagent systems
  publication-title: Auton. Agents Multi-Agent Syst.
– volume: 26
  start-page: 38
  year: 1991
  end-page: 46
  ident: br0410
  article-title: A comparison of module constructs in programming languages
  publication-title: ACM SIGPLAN Not.
– start-page: 16
  year: 2002
  end-page: 31
  ident: br0710
  article-title: Modeling agents and their environment
  publication-title: Proceedings of the 3rd International Conference on Agent-oriented Software Engineering III
– start-page: 124
  year: 2007
  end-page: 139
  ident: br0510
  article-title: A common semantic basis for BDI languages
  publication-title: Proceedings of the Fifth International Conference on Programming Multi-Agent Systems
– volume: 11
  start-page: 24
  year: 1978
  end-page: 33
  ident: br0330
  article-title: DoD's common programming language effort
  publication-title: Computer
– year: 1990
  ident: br0200
  article-title: Feature-oriented domain analysis (FODA) feasibility study
– volume: 77
  start-page: 149
  year: 2009
  end-page: 184
  ident: br0480
  article-title: Dynamically typed languages
  publication-title: Adv. Comput.
– year: 2009
  ident: br0470
  article-title: Programming paradigms for dummies: What every programmer should know
  publication-title: New Computational Paradigms for Computer Music
– year: 2009
  ident: br0580
  article-title: Modularity and compositionality in Jason
  publication-title: Proceedings of the Seventh International Workshop on Programming Multi-Agent Systems
– start-page: 235
  year: 1973
  end-page: 245
  ident: br0090
  article-title: A universal modular actor formalism for artificial intelligence
  publication-title: IJCAI
– reference: Rosetta code, 2007,
– volume: 15
  start-page: 169
  year: 1985
  end-page: 190
  ident: br0380
  article-title: A survey of systems programming languages: Concepts and facilities
  publication-title: Softw. Pract. Exp.
– volume: 31
  start-page: 529
  year: 2005
  end-page: 536
  ident: br0640
  article-title: Software reuse research: status and future
  publication-title: IEEE Trans. Softw. Eng.
– year: 1988
  ident: br0060
  article-title: The C Programming Language
– start-page: 11
  year: 2009
  end-page: 20
  ident: br0610
  article-title: Actor frameworks for the JVM platform: a comparative analysis
  publication-title: PPPJ
– year: 2009
  ident: br0440
  article-title: Programming Language Pragmatics
– year: 2005
  ident: br0230
  article-title: Software Product Line Engineering
– volume: vol. 3862
  start-page: 3
  year: 2005
  end-page: 22
  ident: br0540
  article-title: MetateM: The story so far
  publication-title: PROMAS
– year: 2000
  ident: br0260
  article-title: Design and Use of Software Architectures: Adopting and Evolving a Product-Line Approach
– volume: 48
  start-page: 602
  year: 2005
  end-page: 626
  ident: br0300
  article-title: Taxonomy of distributed event-based programming systems
  publication-title: Comput. J.
– volume: vol. 4670
  start-page: 45
  year: 2007
  end-page: 75
  ident: br0560
  article-title: Multi-paradigm declarative languages
  publication-title: ICLP
– volume: 38
  start-page: 29
  year: 2007
  end-page: 50
  ident: br0250
  article-title: Understanding frameworks and reviews: a commentary to assist us in moving our field forward by analyzing our past
  publication-title: DATA BASE
– volume: 35
  start-page: 705
  year: 2005
  end-page: 754
  ident: br0670
  article-title: A taxonomy of variability realization techniques
  publication-title: Softw. Pract. Exp.
– volume: 32
  start-page: 135
  year: 2002
  end-page: 164
  ident: br0290
  article-title: A taxonomy and survey of grid resource management systems for distributed computing
  publication-title: Softw. Pract. Exp.
– year: 2003
  ident: br0490
  article-title: Many-dimensional Modal Logics: Theory and Applications
– volume: 60
  start-page: 51
  year: 1993
  end-page: 92
  ident: br0120
  article-title: Agent-oriented programming
  publication-title: Artif. Intell.
– volume: 24
  start-page: 17
  year: 1991
  end-page: 27
  ident: br0280
  article-title: An object-based taxonomy for distributed computing systems
  publication-title: Computer
– year: 1996
  ident: br0420
  article-title: Structure and Interpretation of Computer Programs
– start-page: 385
  year: 2007
  end-page: 406
  ident: br0620
  article-title: Beautiful concurrency
  publication-title: Beautiful Code
– year: 2004
  ident: br0030
  article-title: Concepts, Techniques, and Models of Computer Programming
– volume: 13
  start-page: 11
  year: 2000
  end-page: 49
  ident: br0460
  article-title: Fundamental concepts in programming languages
  publication-title: High.-Order Symb. Comput.
– year: 2000
  ident: br0650
  article-title: Design Rules: The Power of Modularity, vol. 1
– year: 1996
  ident: br0050
  article-title: The Structure of Scientific Revolutions
– start-page: 23
  year: 2008
  end-page: 34
  ident: br0240
  article-title: On the modularity of feature interactions
  publication-title: Proceedings of the 7th International Conference on Generative Programming and Component Engineering
– year: 2002
  ident: br0220
  article-title: Software Product Lines
– year: 2008
  ident: br0450
  article-title: Design Concepts in Programming Languages
– year: 2008
  ident: br0170
  article-title: IEEE 1003.1: Standard for information technology – portable operating system interface (POSIX) base specifications
– volume: 7
  start-page: 13
  year: 1988
  end-page: 24
  ident: br0390
  article-title: A methodical comparison of Ada and Modula-2
  publication-title: J. Pascal, Ada & Modula-2
– start-page: 45
  year: 2010
  end-page: 51
  ident: br0210
  article-title: The variability model of the Linux kernel
  publication-title: Proceedings of the 4th International Workshop on Variability Modelling of Software-intensive Systems (VaMoS)
– reference: International Organization for Standardization, ISO/IEC 9899: Programming languages – C, 1999.
– volume: 21
  start-page: 413
  year: 1989
  end-page: 510
  ident: br0500
  article-title: The family of concurrent logic programming languages
  publication-title: ACM Comput. Surv.
– year: 2007
  ident: br0110
  article-title: Programming Multi-Agent Systems in AgentSpeak Using Jason
– volume: vol. 5056
  start-page: 137
  year: 2007
  end-page: 156
  ident: br0520
  article-title: Language constructs for multi-agent programming
  publication-title: CLIMA VIII
– start-page: 282
  year: 1992
  end-page: 290
  ident: br0660
  article-title: Modularity meets inheritance
  publication-title: Proceedings of the 1992 International Conference on Computer Languages
– start-page: 22
  year: 2008
  end-page: 31
  ident: br0730
  article-title: Sample spaces and feature models: There and back again
  publication-title: SPLC
– volume: 51
  start-page: 91
  year: 2008
  end-page: 100
  ident: br0600
  article-title: Composable memory transactions
  publication-title: Commun. ACM
– reference: International Organization for Standardization, ISO/IEC 9899: Programming languages – C, 1990.
– reference: International Organization for Standardization, ISO/IEC 9899: Programming languages – C, 2011.
– volume: vol. 15
  start-page: 39
  year: 2005
  end-page: 67
  ident: br0530
  article-title: Programming multi-agent systems in 3APL
  publication-title: Multi-Agent Programming
– year: 2000
  ident: br0180
  article-title: Generative Programming: Methods, Tools, and Applications
– volume: 11
  start-page: 1
  year: 1981
  end-page: 52
  ident: br0350
  article-title: A comparison of programming languages for software engineering
  publication-title: Softw. Pract. Exp.
– start-page: 71
  year: 1993
  end-page: 84
  ident: br0590
  article-title: Imperative functional programming
  publication-title: POPL
– start-page: 147
  year: 2011
  end-page: 158
  ident: br0270
  article-title: A feature model of actor, agent, and object programming languages
  publication-title: Proceedings of the Compilation of the Co-located Workshops on DSM, TMC, AGERE! AOOPES, NEAT, & VMIL
– reference: .
– volume: 45
  start-page: 621
  year: 2006
  end-page: 646
  ident: br0310
  article-title: Feature-based survey of model transformation approaches
  publication-title: IBM Syst. J.
– volume: 17
  start-page: 88
  year: 1997
  end-page: 112
  ident: br0340
  article-title: Ada, C, C++, and Java vs. the Steelman
  publication-title: ACM SIGAda Ada Lett.
– volume: 53
  start-page: 68
  year: 2010
  end-page: 75
  ident: br0070
  article-title: Erlang
  publication-title: Commun. ACM
– year: 2005
  ident: br0720
  article-title: Database Systems: A Practical Approach to Design, Implementation, and Management
– volume: 14
  start-page: 73
  year: 1982
  end-page: 92
  ident: br0370
  article-title: A comparison of the programming languages C and Pascal
  publication-title: ACM Comput. Surv.
– start-page: 1
  year: 2002
  end-page: 16
  ident: br0630
  article-title: Template metaprogramming for Haskell
  publication-title: ACM SIGPLAN Haskell Workshop 02
– volume: 60
  start-page: 51
  year: 1993
  ident: 10.1016/j.scico.2014.02.009_br0120
  article-title: Agent-oriented programming
  publication-title: Artif. Intell.
  doi: 10.1016/0004-3702(93)90034-9
– volume: 49
  start-page: 123
  year: 2006
  ident: 10.1016/j.scico.2014.02.009_br0570
  article-title: The quarks of object-oriented development
  publication-title: Commun. ACM
  doi: 10.1145/1113034.1113040
– year: 2000
  ident: 10.1016/j.scico.2014.02.009_br0650
– volume: vol. 3862
  start-page: 3
  year: 2005
  ident: 10.1016/j.scico.2014.02.009_br0540
  article-title: MetateM: The story so far
– volume: 31
  start-page: 529
  year: 2005
  ident: 10.1016/j.scico.2014.02.009_br0640
  article-title: Software reuse research: status and future
  publication-title: IEEE Trans. Softw. Eng.
  doi: 10.1109/TSE.2005.85
– volume: 35
  start-page: 71
  year: 1992
  ident: 10.1016/j.scico.2014.02.009_br0040
  article-title: What orientation should Ada objects take?
  publication-title: Commun. ACM
  doi: 10.1145/138844.138849
– volume: 21
  start-page: 359
  year: 1989
  ident: 10.1016/j.scico.2014.02.009_br0550
  article-title: Conception, evolution, and application of functional programming languages
  publication-title: ACM Comput. Surv.
  doi: 10.1145/72551.72554
– start-page: 282
  year: 1992
  ident: 10.1016/j.scico.2014.02.009_br0660
  article-title: Modularity meets inheritance
– year: 2000
  ident: 10.1016/j.scico.2014.02.009_br0260
– volume: 77
  start-page: 149
  year: 2009
  ident: 10.1016/j.scico.2014.02.009_br0480
  article-title: Dynamically typed languages
  publication-title: Adv. Comput.
  doi: 10.1016/S0065-2458(09)01205-4
– ident: 10.1016/j.scico.2014.02.009_br0010
– year: 2005
  ident: 10.1016/j.scico.2014.02.009_br0230
– volume: 38
  start-page: 29
  year: 2007
  ident: 10.1016/j.scico.2014.02.009_br0250
  article-title: Understanding frameworks and reviews: a commentary to assist us in moving our field forward by analyzing our past
  publication-title: DATA BASE
  doi: 10.1145/1278253.1278259
– year: 2005
  ident: 10.1016/j.scico.2014.02.009_br0720
– volume: 17
  start-page: 88
  year: 1997
  ident: 10.1016/j.scico.2014.02.009_br0340
  article-title: Ada, C, C++, and Java vs. the Steelman
  publication-title: ACM SIGAda Ada Lett.
  doi: 10.1145/260541.260547
– start-page: 16
  year: 2002
  ident: 10.1016/j.scico.2014.02.009_br0710
  article-title: Modeling agents and their environment
– year: 1990
  ident: 10.1016/j.scico.2014.02.009_br0200
– start-page: 1
  year: 2002
  ident: 10.1016/j.scico.2014.02.009_br0630
  article-title: Template metaprogramming for Haskell
– year: 2008
  ident: 10.1016/j.scico.2014.02.009_br0170
– volume: 15
  start-page: 169
  year: 1985
  ident: 10.1016/j.scico.2014.02.009_br0380
  article-title: A survey of systems programming languages: Concepts and facilities
  publication-title: Softw. Pract. Exp.
  doi: 10.1002/spe.4380150205
– year: 1988
  ident: 10.1016/j.scico.2014.02.009_br0060
– volume: 26
  start-page: 38
  year: 1991
  ident: 10.1016/j.scico.2014.02.009_br0410
  article-title: A comparison of module constructs in programming languages
  publication-title: ACM SIGPLAN Not.
  doi: 10.1145/122203.122206
– volume: vol. 15
  start-page: 39
  year: 2005
  ident: 10.1016/j.scico.2014.02.009_br0530
  article-title: Programming multi-agent systems in 3APL
– volume: 14
  start-page: 73
  year: 1982
  ident: 10.1016/j.scico.2014.02.009_br0370
  article-title: A comparison of the programming languages C and Pascal
  publication-title: ACM Comput. Surv.
  doi: 10.1145/356869.356872
– year: 2008
  ident: 10.1016/j.scico.2014.02.009_br0450
– volume: 25
  start-page: 248
  year: 1982
  ident: 10.1016/j.scico.2014.02.009_br0360
  article-title: A comparison of Pascal and Ada
  publication-title: Comput. J.
  doi: 10.1093/comjnl/25.2.248
– volume: 14
  start-page: 5
  year: 2007
  ident: 10.1016/j.scico.2014.02.009_br0700
  article-title: Environment as a first class abstraction in multiagent systems
  publication-title: Auton. Agents Multi-Agent Syst.
  doi: 10.1007/s10458-006-0012-0
– volume: 53
  start-page: 68
  year: 2010
  ident: 10.1016/j.scico.2014.02.009_br0070
  article-title: Erlang
  publication-title: Commun. ACM
  doi: 10.1145/1810891.1810910
– ident: 10.1016/j.scico.2014.02.009_br0160
– volume: 24
  start-page: 17
  year: 1991
  ident: 10.1016/j.scico.2014.02.009_br0280
  article-title: An object-based taxonomy for distributed computing systems
  publication-title: Computer
  doi: 10.1109/2.84873
– year: 1996
  ident: 10.1016/j.scico.2014.02.009_br0430
– start-page: 71
  year: 1993
  ident: 10.1016/j.scico.2014.02.009_br0590
  article-title: Imperative functional programming
– volume: 48
  start-page: 602
  year: 2005
  ident: 10.1016/j.scico.2014.02.009_br0300
  article-title: Taxonomy of distributed event-based programming systems
  publication-title: Comput. J.
  doi: 10.1093/comjnl/bxh120
– volume: 7
  start-page: 13
  year: 1988
  ident: 10.1016/j.scico.2014.02.009_br0390
  article-title: A methodical comparison of Ada and Modula-2
  publication-title: J. Pascal, Ada & Modula-2
– year: 2009
  ident: 10.1016/j.scico.2014.02.009_br0400
  article-title: A comparison of context-oriented programming languages
– start-page: 78
  year: 2001
  ident: 10.1016/j.scico.2014.02.009_br0020
– volume: 11
  start-page: 1
  year: 1981
  ident: 10.1016/j.scico.2014.02.009_br0350
  article-title: A comparison of programming languages for software engineering
  publication-title: Softw. Pract. Exp.
  doi: 10.1002/spe.4380110102
– ident: 10.1016/j.scico.2014.02.009_br0150
– year: 2000
  ident: 10.1016/j.scico.2014.02.009_br0180
– volume: 45
  start-page: 621
  year: 2006
  ident: 10.1016/j.scico.2014.02.009_br0310
  article-title: Feature-based survey of model transformation approaches
  publication-title: IBM Syst. J.
  doi: 10.1147/sj.453.0621
– year: 2009
  ident: 10.1016/j.scico.2014.02.009_br0470
  article-title: Programming paradigms for dummies: What every programmer should know
– start-page: 22
  year: 2008
  ident: 10.1016/j.scico.2014.02.009_br0730
  article-title: Sample spaces and feature models: There and back again
– year: 2009
  ident: 10.1016/j.scico.2014.02.009_br0580
  article-title: Modularity and compositionality in Jason
– year: 2007
  ident: 10.1016/j.scico.2014.02.009_br0110
– volume: vol. 5056
  start-page: 137
  year: 2007
  ident: 10.1016/j.scico.2014.02.009_br0520
  article-title: Language constructs for multi-agent programming
– start-page: 1
  year: 2007
  ident: 10.1016/j.scico.2014.02.009_br0080
  article-title: A history of Erlang
– start-page: 45
  year: 2010
  ident: 10.1016/j.scico.2014.02.009_br0210
  article-title: The variability model of the Linux kernel
– volume: vol. 4670
  start-page: 45
  year: 2007
  ident: 10.1016/j.scico.2014.02.009_br0560
  article-title: Multi-paradigm declarative languages
– start-page: 235
  year: 1973
  ident: 10.1016/j.scico.2014.02.009_br0090
  article-title: A universal modular actor formalism for artificial intelligence
– start-page: 385
  year: 2007
  ident: 10.1016/j.scico.2014.02.009_br0620
  article-title: Beautiful concurrency
– volume: vol. 1038
  start-page: 42
  year: 1996
  ident: 10.1016/j.scico.2014.02.009_br0130
  article-title: AgentSpeak(L): BDI agents speak out in a logical computable language
– ident: 10.1016/j.scico.2014.02.009_br0140
– volume: 51
  start-page: 91
  year: 2008
  ident: 10.1016/j.scico.2014.02.009_br0600
  article-title: Composable memory transactions
  publication-title: Commun. ACM
  doi: 10.1145/1378704.1378725
– year: 1996
  ident: 10.1016/j.scico.2014.02.009_br0420
– ident: 10.1016/j.scico.2014.02.009_br0320
– volume: 11
  start-page: 24
  year: 1978
  ident: 10.1016/j.scico.2014.02.009_br0330
  article-title: DoD's common programming language effort
  publication-title: Computer
  doi: 10.1109/C-M.1978.218092
– year: 2004
  ident: 10.1016/j.scico.2014.02.009_br0030
– volume: 8
  start-page: 49
  year: 2009
  ident: 10.1016/j.scico.2014.02.009_br0190
  article-title: An overview of feature-oriented software development
  publication-title: J. Object Technol.
  doi: 10.5381/jot.2009.8.5.c5
– volume: 15
  start-page: 1053
  year: 1972
  ident: 10.1016/j.scico.2014.02.009_br0680
  article-title: On the criteria to be used in decomposing systems into modules
  publication-title: Commun. ACM
  doi: 10.1145/361598.361623
– year: 2009
  ident: 10.1016/j.scico.2014.02.009_br0440
– volume: 35
  start-page: 705
  year: 2005
  ident: 10.1016/j.scico.2014.02.009_br0670
  article-title: A taxonomy of variability realization techniques
  publication-title: Softw. Pract. Exp.
  doi: 10.1002/spe.652
– volume: 32
  start-page: 135
  year: 2002
  ident: 10.1016/j.scico.2014.02.009_br0290
  article-title: A taxonomy and survey of grid resource management systems for distributed computing
  publication-title: Softw. Pract. Exp.
  doi: 10.1002/spe.432
– volume: 21
  start-page: 413
  year: 1989
  ident: 10.1016/j.scico.2014.02.009_br0500
  article-title: The family of concurrent logic programming languages
  publication-title: ACM Comput. Surv.
  doi: 10.1145/72551.72555
– start-page: 23
  year: 2008
  ident: 10.1016/j.scico.2014.02.009_br0240
  article-title: On the modularity of feature interactions
– year: 1996
  ident: 10.1016/j.scico.2014.02.009_br0050
– start-page: 124
  year: 2007
  ident: 10.1016/j.scico.2014.02.009_br0510
  article-title: A common semantic basis for BDI languages
– start-page: 11
  year: 2009
  ident: 10.1016/j.scico.2014.02.009_br0610
  article-title: Actor frameworks for the JVM platform: a comparative analysis
– start-page: 147
  year: 2011
  ident: 10.1016/j.scico.2014.02.009_br0270
  article-title: A feature model of actor, agent, and object programming languages
– volume: 13
  start-page: 11
  year: 2000
  ident: 10.1016/j.scico.2014.02.009_br0460
  article-title: Fundamental concepts in programming languages
  publication-title: High.-Order Symb. Comput.
  doi: 10.1023/A:1010000313106
– year: 1990
  ident: 10.1016/j.scico.2014.02.009_br0100
  article-title: ACTORS – A Model of Concurrent Computation in Distributed Systems
– volume: vol. 2487
  start-page: 299
  year: 2002
  ident: 10.1016/j.scico.2014.02.009_br0690
  article-title: Meta-programming with concrete object syntax
– year: 2002
  ident: 10.1016/j.scico.2014.02.009_br0220
– year: 2003
  ident: 10.1016/j.scico.2014.02.009_br0490
SSID ssj0006471
Score 2.084413
Snippet The number of programming languages is large and steadily increasing. However, little structured information and empirical evidence is available to help...
SourceID crossref
elsevier
SourceType Enrichment Source
Index Database
Publisher
StartPage 120
SubjectTerms Agent-oriented programming
Functional programming
Object-oriented programming
Programming language constructs
Programming languages
Title A feature model of actor, agent, functional, object, and procedural programming languages
URI https://dx.doi.org/10.1016/j.scico.2014.02.009
Volume 98
WOSCitedRecordID wos000347741000002&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVESC
  databaseName: Elsevier SD Freedom Collection Journals 2021
  customDbUrl:
  eissn: 1872-7964
  dateEnd: 20180131
  omitProxy: false
  ssIdentifier: ssj0006471
  issn: 0167-6423
  databaseCode: AIEXJ
  dateStart: 19950201
  isFulltext: true
  titleUrlDefault: https://www.sciencedirect.com
  providerName: Elsevier
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1bb9MwFLaqjQdegHERA4b8wNsalNhNYj9W08aG0ITEQOUpSnyRmLZk6rqL-DX8VI597CSiaAIkXqI0rdvI58u5fD0XQt5k8PwXwvIkr1mezHKjE6HTMtFGGStsJo3nIb98KI-PxWIhP04mP2ItzPVZ2bbi9lZe_FdRwzUQtiud_Qtx918KF-AchA5HEDsc_0jw811rfLdOnHLj_-hHZn5vt3aFVO7EmTNkAd2rrnFsTEzk9DZN-3YcIXvr3PEJkdm8HPuzUTWE5HQ3H2K8aMjPWWpkWg87xxb2JEDnioluDOrkd51Zfe_Z6S6k34xyhX-Zqj1Kxgy8RZbHVOdIpq0V1CC_CXobQiLUeQZ1sighCJDY7DwqbRxdHbRuxtKRAc-wO9KabUCa4vQtuBbKlX1mM-zWKgdT2CcofnI34u4D4k_XIgfi601W5hL05ub8aH_xvrf2BQb1_Y3HzlY-h3Dtp37v_Yw8mpNH5EEIRegcIbRFJqZ9TB7GMR80iPYJ-TqnAVHUI4p2lnpETanH05QOaJpSxBK81Wo6IImOQEF7JD0lnw_2T_YOkzCRI1G85KuEK6Fszm0OfizXujA6a6Q0uYQ4m4uyhFihkIViDExsY4QUEBxzZkRTF420SvJnZKPtWvOcUN0wK1MuuFVqVisOnj5z_e1ykxa6lnabsLhTlQrt6t3UlLMq5iWeVn57K7e9Vcoq2N5tMu0XXWC3lrs_XkQRVMHhREeyAszctfDFvy58Se4Pz8IrsrFaXpkdck9dr75dLl8HbP0EH1mmUg
linkProvider Elsevier
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=A+feature+model+of+actor%2C+agent%2C+functional%2C+object%2C+and+procedural+programming+languages&rft.jtitle=Science+of+computer+programming&rft.au=Jordan%2C+Howell&rft.au=Botterweck%2C+Goetz&rft.au=Noll%2C+John&rft.au=Butterfield%2C+Andrew&rft.date=2015-02-01&rft.pub=Elsevier+B.V&rft.issn=0167-6423&rft.eissn=1872-7964&rft.volume=98&rft.spage=120&rft.epage=139&rft_id=info:doi/10.1016%2Fj.scico.2014.02.009&rft.externalDocID=S0167642314000501
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0167-6423&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0167-6423&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0167-6423&client=summon