Behavioural Types From Theory to Tools
Behavioural type systems in programming languages support the specification and verification of properties of programs beyond the traditional use of type systems to describe data processing. A major example of such a property is correctness of communication in concurrent and distributed systems, mot...
Uloženo v:
| Hlavní autoři: | , |
|---|---|
| Médium: | E-kniha |
| Jazyk: | angličtina |
| Vydáno: |
United Kingdom
River Publishers
2017
Routledge Taylor & Francis |
| Vydání: | 1 |
| Edice: | River Publishers series in automation, control and robotics |
| Témata: | |
| ISBN: | 1000799255, 9781000799255, 9788793519824, 8793519826, 9781003337331, 1003337333, 1000799395, 9781000799392 |
| 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 | Behavioural type systems in programming languages support the specification and verification of properties of programs beyond the traditional use of type systems to describe data processing. A major example of such a property is correctness of communication in concurrent and distributed systems, motivated by the importance of structured communication in modern software. Behavioural Types: from Theory to Tools presents programming languages and software tools produced by members of COST Action IC1201: Behavioural Types for Reliable Large-Scale Software Systems, a European research network that was funded from October 2012 to October 2016. As a survey of the most recent developments in the application of behavioural type systems, it is a valuable reference for researchers in the field, as well as an introduction to the area for graduate students and software developers. |
|---|---|
| AbstractList | Behavioural type systems in programming languages support the specification and verification of properties of programs beyond the traditional use of type systems to describe data processing. A major example of such a property is correctness of communication in concurrent and distributed systems, motivated by the importance of structured communication in modern software. Behavioural Types: from Theory to Tools presents programming languages and software tools produced by members of COST Action IC1201: Behavioural Types for Reliable Large-Scale Software Systems, a European research network that was funded from October 2012 to October 2016. As a survey of the most recent developments in the application of behavioural type systems, it is a valuable reference for researchers in the field, as well as an introduction to the area for graduate students and software developers. Behavioural type systems in programming languages support the specification and verification of properties of programs beyond the traditional use of type systems to describe data processing. A major example of such a property is correctness of communication in concurrent and distributed systems, motivated by the importance of structured communication in modern software. This title presents programming languages and software tools produced by members of COST Action IC1201: Behavioural Types for Reliable Large-Scale Software Systems, a European research network that was funded from October 2012 to October 2016. Behavioural Types: from Theory to Tools presents programming languages and software tools produced by members of COST Action IC1201: Behavioural Types for Reliable Large-Scale Software Systems, a European research network that was funded from October 2012 to October 2016. Behavioural type systems in programming languages support the specification and verification of properties of programs beyond the traditional use of type systems to describe data processing. A major example of such a property is correctness of communication in concurrent and distributed systems, motivated by the importance of structured communication in modern software. Behavioural Types: from Theory to Tools presents programming languages and software tools produced by members of COST Action IC1201: Behavioural Types for Reliable Large-Scale Software Systems, a European research network that was funded from October 2012 to October 2016. As a survey of the most recent developments in the application of behavioural type systems, it is a valuable reference for researchers in the field, as well as an introduction to the area for graduate students and software developers. Behavioural type systems in programming languages support the specification and verification of properties of programs beyond the traditional use of type systems to describe data processing. A major example of such a property is correctness of communication in concurrent and distributed systems, motivated by the importance of structured communication in modern software. Behavioural Types: from Theory to Tools presents programming languages and software tools produced by members of COST Action IC1201: Behavioural Types for Reliable Large-Scale Software Systems, a European research network that was funded from October 2012 to October 2016. As a survey of the most recent developments in the application of behavioural type systems, it is a valuable reference for researchers in the field, as well as an introduction to the area for graduate students and software developers. 1 Contract-Oriented Design of Distributed Applications: A Tutorial 2 Contract-Oriented Programming with Timed Session Types 3 A Runtime Monitoring Tool for Actor- Choreographies for Collaborative Processes 6 A Tool for Choreography-Based Analysis of Message-Passing Software 7 Programming Adaptive Microservice Applications: an AIOCJ Tutorial 8 JaDA – the Java Deadlock Analyzer 9 Type-Based Analysis of Linear Communications 10 Session Types with Linearity in Haskell 11 An OCaml Implementation of Binary Sessions 12 Lightweight Functional Session Types 13 Distributed Programming Using Java APIs Generated from Session Types 14 Mungo and StMungo: Tools for Typechecking Protocols in Java 15 Protocol-Driven MPI Program Generation 16 Deductive Verification of MPI Protocols Simon Gay, António Ravara |
| Author | António Ravara Simon Gay |
| Author_xml | – sequence: 1 fullname: Gay, Simon – sequence: 2 fullname: Ravara, António |
| BookMark | eNqNkjtvFDEUhQfxECSkoKCiQTSIImD72mO7oCCr5SFFoolor649nqzJ7HixNxvtv8ebWcJSkcq6Ot-5jyMfNY_GNIamecnZey4Y_2C14YwBgAbgD5qjWjBtLVj18K4QSj25LVqwgsv2aXNSys-qCcGtNPxZ8-IsLGgT03Wm4fXFdhXK8-ZxT0MJJ_v3uPnxeX4x-3p6_v3Lt9mn81OS1W1OAYQXXW0tme9D50E7cNxJa7kPvTHO9RSYd9xrR4q1LCjy1rS2A9dD38Fxg1NjF90Qk0uUO0yrMOZQAmW_GKLLlLeYKOIh49MSmTHeSuix1VyitEIiOa2QbNd6zZXkxtUJ76YJVK7CTVmkYV1wMwSX0lXBGqDRFhS3huv_s3f5inuzNf7Kvp3YVU6_rkNZ4y3mw7iukeP8bKaYYtyYSn6cyEQ1BFzluPxz_d8kdkrKlygYKsaQi1ZpVNaw3QWvDv1dov0-ElqoqpzUOPYpL-km5aHDNW2HlPtMo4_lcP39v6q2-f1sfLcM4__acRNyiWncRfZm6uOp0BDHiMs0pstMq0VBBdAaAfAb2qLdzQ |
| ContentType | eBook |
| Copyright | The Editor(s) (if applicable) and The Author(s)
2017. Copyright held by content provider |
| Copyright_xml | – notice: The Editor(s) (if applicable) and The Author(s) 2017. – notice: Copyright held by content provider |
| DBID | I4C V1H A7I BIANM |
| DEWEY | 005 |
| DOI | 10.1201/9781003337331 |
| DatabaseName | Casalini Torrossa eBooks Institutional Catalogue DOAB: Directory of Open Access Books OAPEN Open Research Library (Open Access) |
| DatabaseTitleList | |
| Database_xml | – sequence: 1 dbid: V1H name: DOAB: Directory of Open Access Books url: https://directory.doabooks.org/ sourceTypes: Publisher |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science Physics |
| EISBN | 1000799395 9781003337331 9781000799255 9781000799392 1000799255 1003337333 8793519818 9788793519817 |
| Edition | 1 |
| Editor | Ravara, António Gay, Simon |
| Editor_xml | – sequence: 1 fullname: Gay, Simon – sequence: 2 fullname: Ravara, António |
| ExternalDocumentID | oai_biblioboard_com_088c943f_6714_4924_ab75_a9d6c715418b 9788793519817 9781000799392 9781000799255 EBC5050188 oai_library_oapen_org_20_500_12657_59807 94363 9781003337331 10_1201_9781003337331_version2 5336823 |
| GrantInformation_xml | – fundername: European Commission |
| GroupedDBID | 38. A7I AABBV ABEQL ACBYE ADYHE AEGEX AEOCW AESKO AFWCW AGWHU AIEXY AIQUZ AKSCQ ALKVF ALMA_UNASSIGNED_HOLDINGS AZZ BBABE CZZ EBATF EIXGO I4C INALI JJU JTX MX7 NEQ OXWLL PYIOH V1H -VQ -VX AESSL AEUHU AIXXW AXTGW DUGUG EBSCA ABARN ABQPQ ABYSD ACLGV ADVEM AERYV AFOJC AJFER GEOUK BIANM |
| ID | FETCH-LOGICAL-a42218-332c2d00640cfedc37b3b1b4991cef88bbfae0cb1c7ba5060e5ac9869d3bf3fd3 |
| IEDL.DBID | V1H |
| ISBN | 1000799255 9781000799255 9788793519824 8793519826 9781003337331 1003337333 1000799395 9781000799392 |
| ISICitedReferencesCount | 1 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000416714300018&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| IngestDate | Tue Dec 02 16:43:52 EST 2025 Fri Nov 08 05:40:54 EST 2024 Thu Aug 07 06:59:11 EDT 2025 Thu Aug 07 06:59:09 EDT 2025 Fri May 30 22:59:02 EDT 2025 Mon Dec 01 21:29:26 EST 2025 Tue Oct 07 22:53:03 EDT 2025 Thu Dec 22 03:39:28 EST 2022 Wed Aug 13 06:01:26 EDT 2025 Wed Sep 10 09:10:32 EDT 2025 |
| IsDoiOpenAccess | true |
| IsOpenAccess | true |
| IsPeerReviewed | false |
| IsScholarly | false |
| Keywords | Monitor Implementation TCP Deadlock Freedom Process Calculus MPI OTP Vice Versa The Core Language Linear Channels Session Types Scribble Specification Adaptation Rule Recursive Types Source Protocol API Generation Diogenes Singleton Type Receive Operations Local Protocol Contracts Contract-Oriented Design Visualisation and Simulation Architecture MPI Program Type Environment Global Protocol Global Graph Lock Freedom Monitor Compilation Runtime Verification BPMN Atm Service Row Types Monitoring Requirements |
| LCCallNum_Ident | Q |
| Language | English |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-a42218-332c2d00640cfedc37b3b1b4991cef88bbfae0cb1c7ba5060e5ac9869d3bf3fd3 |
| Notes | MODID-943f4d11b5b:Taylor & Francis |
| OCLC | 1006392146 |
| OpenAccessLink | https://directory.doabooks.org/handle/20.500.12854/94363 |
| PQID | EBC5050188 |
| PageCount | 410 |
| ParticipantIDs | biblioboard_openresearchlibrary_oai_biblioboard_com_088c943f_6714_4924_ab75_a9d6c715418b askewsholts_vlebooks_9788793519817 askewsholts_vlebooks_9781000799392 askewsholts_vlebooks_9781000799255 proquest_ebookcentral_EBC5050188 oapen_primary_oai_library_oapen_org_20_500_12657_59807 oapen_doabooks_94363 informaworld_taylorfrancisbooks_9781003337331 informaworld_taylorfrancisbooks_10_1201_9781003337331_version2 casalini_monographs_5336823 |
| PublicationCentury | 2000 |
| PublicationDate | 2022 2017 20220901 2022-09-01 2017-07-31 2022-01-01T00:00:00Z |
| PublicationDateYYYYMMDD | 2022-01-01 2017-01-01 2022-09-01 2017-07-31 |
| PublicationDate_xml | – year: 2017 text: 2017 |
| PublicationDecade | 2020 2010 |
| PublicationPlace | United Kingdom |
| PublicationPlace_xml | – name: United Kingdom – name: Milton |
| PublicationSeriesTitle | River Publishers series in automation, control and robotics |
| PublicationYear | 2022 2017 |
| Publisher | River Publishers Routledge Taylor & Francis |
| Publisher_xml | – name: River Publishers – name: Routledge – name: Taylor & Francis |
| SSID | ssj0002219481 |
| Score | 2.3074064 |
| Snippet | Behavioural type systems in programming languages support the specification and
verification of properties of programs beyond the traditional use of type... Behavioural type systems in programming languages support the specification and verification of properties of programs beyond the traditional use of type... Behavioural Types: from Theory to Tools presents programming languages and software tools produced by members of COST Action IC1201: Behavioural Types for... |
| SourceID | biblioboard askewsholts proquest oapen informaworld casalini |
| SourceType | Open Access Repository Aggregation Database Publisher |
| SubjectTerms | Classical mechanics Computer programming Computer programming / software engineering Computer programming, programs, data Computers Computing and Information Technology Energy INFORMATIONSCIENCEnetBASE ITECHnetBASE Mathematics and Science Physics Programming & Programming Languages Programming languages (Electronic computers) SCI-TECHnetBASE Science Software Development & Engineering Software Engineering & Systems Development STMnetBASE |
| Subtitle | From Theory to Tools |
| TableOfContents | References -- 7: Programming Adaptive Microservice Applications: An AIOCJ Tutorial -- 7.1 Introduction -- 7.2 AIOCJ Outline -- 7.2.1 AIOCJ Architecture and Workflow -- 7.3 Choreographic Programming -- 7.4 Integration with Legacy Software -- 7.5 Adaptation -- 7.6 Deployment and Adaptation Procedure -- 7.7 Conclusion -- References -- 8: JaDA - The Java Deadlock Analyzer -- 8.1 Introduction -- 8.2 Example -- 8.3 Overview of JaDA's Theory -- 8.3.1 The Abstract Behavior of the Network Class -- 8.3.2 Behavioral Type Inference -- 8.3.3 Analysis of Behavioral Types -- 8.4 The JaDA Tool -- 8.4.1 Prerequisites -- 8.4.2 The Architecture -- 8.4.3 The Current JVML Coverage -- 8.4.4 Tool Configuration -- 8.4.5 Deliverables -- 8.5 Current Limitations -- 8.6 Related Tools and Assessment -- 8.7 Conclusions -- References -- 9: Type-Based Analysis of Linear Communications -- 9.1 Language -- 9.2 Type System -- 9.3 Extended Examples -- 9.3.1 Fibonacci Stream Network -- 9.3.2 Full-Duplex and Half-Duplex Communications -- 9.3.3 Load Balancing -- 9.3.4 Sorting Networks -- 9.3.5 Ill-Typed, Lock-Free Process Networks -- 9.4 Related Work -- References -- 10: Session Types with Linearity in Haskell -- 10.1 Introduction -- 10.2 Pre-Session Types in Haskell -- 10.2.1 Tracking Send and Receive Actions -- 10.2.2 Partial Safety via a Type-Level Function for Duality -- 10.2.3 Limitations -- 10.3 Approaches in the Literature -- 10.3.1 Note on Recursion and Duality -- 10.3.2 Single Channel -- 10.3.3 Multi-Channel Linearity -- 10.3.4 An Alternate Approach -- 10.3.5 Multi-Channels with Inference -- 10.3.6 Session Types via Effect Types -- 10.3.7 GV in Haskell -- 10.4 Future Direction and Open Problems -- References -- 11: An OCaml Implementation of Binary Sessions -- 11.1 An API for Sessions -- 11.2 A Few Simple Examples -- 11.3 API Implementation -- 11.4 Extended Example: The Bookshop Cover -- Half Title -- Series Page -- Title Page -- Copyright Page -- Table of Contents -- Preface -- Acknowledgments -- List of Contributors -- List of Figures -- List of Tables -- List of Abbreviations -- 1: Contract-Oriented Design of Distributed Applications: A Tutorial -- 1.1 Introduction -- 1.1.1 From Service-Oriented to Contract-Oriented Computing -- 1.1.2 Honesty Attacks -- 1.1.3 Diogenes -- 1.2 Specifying Contract-Oriented Services in CO2 -- 1.2.1 Contracts -- 1.2.2 Processes -- 1.2.3 An Execution Context -- 1.2.4 Adding Recursion -- 1.3 Honesty -- 1.3.1 A Simple Dishonest Store -- 1.3.2 A More Complex Dishonest Store -- 1.3.3 Handling Failures -- 1.3.4 An Honest Store, Finally -- 1.3.5 A Recursive Honest Store -- 1.4 Refining CO2 Specifications in Java Programs -- 1.4.1 Compilation of CO2 Specifications into Java Skeletons -- 1.4.2 Checking Honesty of Refined Java Programs -- 1.5 Conclusions -- 1.5.1 Related Work -- References -- 2: Contract-Oriented Programming with Timed Session Types -- 2.1 Introduction -- 2.2 Timed Session Types -- 2.2.1 Specifying Contracts -- 2.2.2 Compliance -- 2.2.3 Run-Time Monitoring of Contracts -- 2.3 Contract-Oriented Programming -- 2.3.1 A Simple Store -- 2.3.2 A Simple Buyer -- 2.3.3 A Dishonest Store -- 2.3.4 An Honest Store -- 2.3.5 A Recursive Honest Store -- 2.4 Conclusions -- 2.4.1 Related Work -- References -- 3: A Runtime Monitoring Tool for Actor-Based Systems -- 3.1 Introduction -- 3.2 Background -- 3.2.1 Runtime Monitoring Criteria -- 3.2.2 A Branching-Time Logic for Specifying Correctness Properties -- 3.2.3 Monitoring μHML -- 3.3 A Tool for Monitoring Erlang Applications -- 3.3.1 Concurrency-Oriented Development Using Erlang -- 3.3.2 Reasoning about Data -- 3.3.2.1 Properties with Specific PIDs -- 3.3.2.2 Further Reasoning about Data -- 3.3.3 Monitor Compilation -- 3.4 DetectEr in Practice 15.6 MPI Backbone Generation -- 15.6.1 Interaction -- 15.6.2 Parallel Interaction -- 15.6.3 Internal Interaction -- 15.6.4 Control-Flow: Iteration and For-Loop -- 15.6.5 Control-Flow: Choice -- 15.6.6 Collective Operations: Scatter, Gather and All-to-All -- 15.6.7 Process Scaling -- 15.7 Merging MPI Backbone and Kernels -- 15.7.1 Annotation-Guided Merging Process -- 15.7.2 Kernel Function -- 15.7.3 Datatypes -- 15.7.4 Conditionals -- 15.8 Related Work -- 15.9 Conclusion -- References -- 16: Deductive Verification of MPI Protocols -- 16.1 Introduction -- 16.2 The Finite Differences Algorithm and Common Coding Faults -- 16.3 The Protocol Language -- 16.4 Overview of the Verification Procedure -- 16.5 The Marking Process -- 16.6 Related Work -- 16.7 Conclusion -- References -- Index -- About the Editors 3.4.1 Creating the Target System -- 3.4.1.1 Setting up the Erlang Project -- 3.4.1.2 Running and Testing the Server -- 3.4.2 Instrumenting the Test System -- 3.4.2.1 Property Specification -- 3.4.2.2 Monitor Synthesis and Instrumentation -- 3.4.2.3 Running the Monitored System -- 3.4.2.4 Running the Correct Server -- 3.5 Conclusion -- 3.5.1 Related and Future Work -- References -- 4: How to Verify Your Python Conversations -- 4.1 Framework Overview -- 4.2 Scribble-Based Runtime Verification -- 4.2.1 Verification Steps -- 4.2.2 Monitoring Requirements -- 4.3 Conversation Programming in Python -- 4.4 Monitor Implementation -- 4.5 Monitoring Interruptible Systems -- 4.5.1 Use Case: Resource Access Control (RAC) -- 4.5.2 Interruptible Multiparty Session Types -- 4.5.3 Programming and Verification of Interruptible Systems -- 4.5.4 Monitoring Interrupts -- 4.6 Formal Foundations of MPST-Based Runtime Verification -- 4.7 Concluding Remarks -- References -- 5: The DCR Workbench: Declarative Choreographies for Collaborative Processes -- 5.1 Introduction -- 5.1.1 History of the DCR Workbench -- 5.1.2 The DCR Workbench -- 5.2 Running Example -- 5.3 Dynamic Condition-Response Graphs -- 5.3.1 Event States -- 5.3.2 Relations -- 5.3.3 Executing Events -- 5.3.4 Formal Development -- 5.4 Modelling with the Workbench -- 5.4.1 Inputting a Model: The Parser Panel -- 5.4.2 Visualisation and Simulation: The Visualiser and Activity Log Panels -- 5.5 Refinement -- 5.6 Time -- 5.7 Subprocesses -- 5.8 Data -- 5.9 Other Panels -- 5.10 Conclusion -- References -- 6: A Tool for Choreography-Based Analysis of Message-Passing Software -- 6.1 Introduction -- 6.2 Overview of the Theory -- 6.3 Architecture -- 6.4 Modelling of an ATM Service -- 6.4.1 ATM Service - Version 1 -- 6.4.2 ATM Service - Version 2 -- 6.4.3 ATM Service - Version 3 (fixed) -- 6.5 Conclusions and Related Work 11.5 Related Work -- References -- 12: Lightweight Functional Session Types -- 12.1 Introduction -- 12.2 A First Look -- 12.3 The Core Language -- 12.3.1 Syntax -- 12.3.2 Typing and Kinding Judgments -- 12.4 Extensions -- 12.4.1 Recursion -- 12.4.2 Access Points -- 12.5 Links with Session Types -- 12.5.1 Design Choices -- 12.5.2 Type Reconstruction -- 12.6 Conclusion and Future Work -- References -- 13: Distributed Programming Using Java APIs Generated from Session Types -- 13.1 Background: Distributed Programming in Java -- 13.1.1 TCP Sockets -- 13.1.2 Java RMI -- 13.2 Scribble Endpoint API Generation: Toolchain Overview -- 13.2.1 Global Protocol Specification -- 13.2.2 Endpoint API Generation -- 13.2.3 Hybrid Session Verification -- 13.2.4 Additional Math Service Endpoint Examples -- 13.3 Real-World Case Study: HTTP (GET) -- 13.3.1 HTTP in Scribble: First Version -- 13.3.2 HTTP in Scribble: Revised -- 13.4 Further Endpoint API Generation Features -- References -- 14: Mungo and StMungo: Tools for Typechecking Protocols in Java -- 14.1 Introduction -- 14.2 Mungo: Typestate Checking for Java -- 14.2.1 Example: Iterator -- 14.3 StMungo: Typestates from Communication Protocols -- 14.3.1 Example: Travel Agency -- 14.4 POP3: Typechecking an Internet Protocol Client -- 14.4.1 Challenges of Using Mungo and StMungo in the Real World -- 14.5 Related Work -- References -- 15: Protocol-Driven MPI Program Generation -- 15.1 Introduction -- 15.2 Pabble: Parameterised Scribble -- 15.3 MPI Backbone -- 15.3.1 MPI Backbone Generation from Ring Protocol -- 15.4 Computation Kernels -- 15.4.1 Writing a Kernel -- 15.4.1.1 Initialisation -- 15.4.1.2 Passing Data Between Backbone and kernel Through queues -- 15.4.1.3 Predicates -- 15.5 The Pabble Language -- 15.5.1 Global Protocols Syntax -- 15.5.1.1 Restriction on Constants -- 15.5.2 Local Protocols |
| Title | Behavioural Types |
| URI | http://digital.casalini.it/9781000799255 https://www.taylorfrancis.com/books/9781003337331 https://www.taylorfrancis.com/books/9781000799392 https://directory.doabooks.org/handle/20.500.12854/94363 https://library.oapen.org/handle/20.500.12657/59807 https://ebookcentral.proquest.com/lib/[SITE_ID]/detail.action?docID=5050188 https://www.vlebooks.com/vleweb/product/openreader?id=none&isbn=9781000799255 https://www.vlebooks.com/vleweb/product/openreader?id=none&isbn=9781000799392 https://www.vlebooks.com/vleweb/product/openreader?id=none&isbn=9788793519817&uid=none https://openresearchlibrary.org/viewer/088c943f-6714-4924-ab75-a9d6c715418b |
| WOSCitedRecordID | wos000416714300018&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 | |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV1Nb9QwEB2VlgO9tFBQQ6FaIa6hcZzYzoUDVatyqTigam8j23HEimpTNcv-fmbspOwCohKHPWTt9cYzz-MZf7wBeF_VtfVd6PLG1BUFKHWZO1_6vG5bqwyT0XZFTDahr6_NfN582QEz3YVJhrznU829ZT9ziNv5iXKAIvUPdcGMCNTwWVNJJZ_AHkU4ig9z3Yirh9WVkgZiZQTf5OJsZVLTh7PzERrJZSGXemR7mgpFen4or0Y6Tpoez7bq7cO-Hb6T_SHbtBroyS3c7aJ3PemTpzY7WL7R-BvxKWdTsndh-YfBj7PY5cH_9_8Q9gLfingOO2H5Ag6mXBCz0TQcweFItMgsHjMOboeXcHN58fX8Kh_TLeS2InmZXMrSl23c2yP1tV5qJ51wFBMJHzpjnOtsKLwTXjvLxISB9NwY1bTSdbJr5SvYXfbLcAwz0YYq-Nop8r-qVjWuaLnlktTvmDMvg3cbYsT1bdwaHjDJutBNQ6HO45XIuftHpUmbQmcw39ATcmKykUvp27hYhkyzvVmHxjuSBfYk5Q6VFhVWFKqidbpG27TKa3I-hXEZnExKRzIciWd8QPKilSllBh83cYCruAzTpZwp6UU5CiOY4RbMcJ1WS6l7-WMNbP0wg6OINJzggxEmGaj09V3iMInd_dV1LiGYYVkg4YveR9Ua68YUJLnZhFiMkh3PDOPFp3NyngthzOu__-UJPCvZBYrLVW9gd3X_I7yFp369Wgz3pxTD6M-ncdD-BBP7OKc |
| linkProvider | Open Access Publishing in European Networks |
| 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%3Abook&rft.genre=book&rft.title=Behavioural+Types&rft.date=2017-01-01&rft.pub=Taylor+%26+Francis&rft.isbn=9781003337331&rft_id=info:doi/10.1201%2F9781003337331&rft.externalDBID=V1H&rft.externalDocID=94363 |
| thumbnail_m | http://cvtisr.summon.serialssolutions.com/2.0.0/image/custom?url=https%3A%2F%2Fvle.dmmserver.com%2Fmedia%2F640%2F97810007%2F9781000799255.jpg http://cvtisr.summon.serialssolutions.com/2.0.0/image/custom?url=https%3A%2F%2Fvle.dmmserver.com%2Fmedia%2F640%2F97810007%2F9781000799392.jpg http://cvtisr.summon.serialssolutions.com/2.0.0/image/custom?url=https%3A%2F%2Fvle.dmmserver.com%2Fmedia%2F640%2F97887935%2F9788793519817.jpg |

