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...
Uloženo v:
| Vydáno v: | Science of computer programming Ročník 98; s. 120 - 139 |
|---|---|
| Hlavní autoři: | , , , , |
| 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 |