jagomart
digital resources
picture1_Basics Of Programming Pdf 188875 | Aggregate Programming In


 145x       Filetype PDF       File size 1.15 MB       Source: amslaurea.unibo.it


File: Basics Of Programming Pdf 188875 | Aggregate Programming In
alma mater studiorum universita di bologna campus di cesena scuola di ingegneria e architettura corso di laurea magistrale in ingegneria e scienze informatiche aggregate programming in scala a core library ...

icon picture PDF Filetype PDF | Posted on 03 Feb 2023 | 2 years ago
Partial capture of text on file.
                                          `
          Alma Mater Studiorum · Universita di Bologna
                          Campus di Cesena
                     Scuola di Ingegneria e Architettura
            Corso di Laurea Magistrale in Ingegneria e Scienze Informatiche
          Aggregate Programming in Scala:
           a Core Library and Actor-Based
                Platform for Distributed
                  Computational Fields
                              Tesi in
        Ingegneria dei Sistemi Software Adattativi Complessi
       Relatore:                              Presentata da:
       Prof. MIRKO VIROLI               ROBERTOCASADEI
                     Anno Accademico 2014-2015
                            Sessione III
                     Contents
                     Abstract (italiano)                                                                       i
                     Abstract                                                                                iii
                     Introduction                                                                             v
                     I   Background: Scala for Library Development                                            1
                     1 Advanced Scala Features                                                                3
                        1.1   The Scala programming language . . . . . . . . . . . . . . . . . . .            3
                        1.2   Onobject-oriented programming and traits . . . . . . . . . . . . . .            4
                              1.2.1   OOPinScala: a quick tour of the basics . . . . . . . . . . .            4
                              1.2.2   Traits   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    7
                              1.2.3   Class construction and linearisation . . . . . . . . . . . . . .        9
                              1.2.4   Traits: member overriding and super resolution . . . . . . .           10
                              1.2.5   Trait instantiation, refinement, early definitions . . . . . . .         11
                        1.3   The Scala type system . . . . . . . . . . . . . . . . . . . . . . . . .        12
                              1.3.1   Some preparatory definitions . . . . . . . . . . . . . . . . . .        12
                              1.3.2   Advanced types . . . . . . . . . . . . . . . . . . . . . . . . .       13
                        1.4   Generic programming in Scala . . . . . . . . . . . . . . . . . . . . .         16
                              1.4.1   Type parameters . . . . . . . . . . . . . . . . . . . . . . . .        17
                              1.4.2   Type bounds (bounded quantification) . . . . . . . . . . . .            17
                              1.4.3   Type variance . . . . . . . . . . . . . . . . . . . . . . . . . .      18
                              1.4.4   Abstract types vs. type parameters . . . . . . . . . . . . . .         20
                        1.5   Implicits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    21
                              1.5.1   Implicit scope . . . . . . . . . . . . . . . . . . . . . . . . . .     22
                       CONTENTS
                                1.5.2    Implicit classes   . . . . . . . . . . . . . . . . . . . . . . . . .  24
                                1.5.3    More on implicits . . . . . . . . . . . . . . . . . . . . . . . .     25
                       2 Advanced Scala Techniques                                                             29
                           2.1  “Pimp my library” pattern . . . . . . . . . . . . . . . . . . . . . . .        29
                           2.2  Type classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     31
                           2.3  Component modelling and implementation . . . . . . . . . . . . . .             32
                           2.4  Cake Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       35
                           2.5  Family polymorphism . . . . . . . . . . . . . . . . . . . . . . . . . .        38
                           2.6  Internal DSL development . . . . . . . . . . . . . . . . . . . . . . .         41
                                2.6.1    On syntactic sugar . . . . . . . . . . . . . . . . . . . . . . .      41
                                2.6.2    On associativity and precedence . . . . . . . . . . . . . . . .       43
                                2.6.3    ”Dynamic” features . . . . . . . . . . . . . . . . . . . . . . .      44
                                2.6.4    Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . .      44
                       II    Background: Aggregate Programming                                                47
                       3 Space-Time Programming and Spatial Computing                                          49
                           3.1  Motivation: context and issues . . . . . . . . . . . . . . . . . . . . .       49
                                3.1.1    Distributed computing scenarios . . . . . . . . . . . . . . . .       50
                                3.1.2    Key issues and unsuitableness of traditional approaches . . .         51
                           3.2  Spatial computing . . . . . . . . . . . . . . . . . . . . . . . . . . . .      54
                                3.2.1    Space-oriented computation . . . . . . . . . . . . . . . . . .        54
                                3.2.2    Defining spatial computing (as space-time programming) . .             55
                                3.2.3    Analytical framework . . . . . . . . . . . . . . . . . . . . . .      56
                                3.2.4    Discrete vs. continuous space-time       . . . . . . . . . . . . . .  57
                       4 Field Calculus                                                                        59
                           4.1  Computational fields . . . . . . . . . . . . . . . . . . . . . . . . . .        59
                           4.2  Field calculus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     60
                                4.2.1    Basis set of operators . . . . . . . . . . . . . . . . . . . . . .    60
                                4.2.2    Higher-Order Field Calculus (HOFC) . . . . . . . . . . . . .          61
                                                                                                 CONTENTS
                              4.2.3   Operational semantics . . . . . . . . . . . . . . . . . . . . .        61
                              4.2.4   Case study: Protelis      . . . . . . . . . . . . . . . . . . . . . .  67
                     5 Aggregate Programming                                                                 69
                        5.1   From device to aggregate view . . . . . . . . . . . . . . . . . . . . .        69
                        5.2   The aggregate programming stack . . . . . . . . . . . . . . . . . . .          70
                              5.2.1   Composable self-organisation        . . . . . . . . . . . . . . . . .  71
                     III    scafi: Development                                                              75
                     6 Analysis                                                                              77
                        6.1   Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       77
                              6.1.1   Field calculus . . . . . . . . . . . . . . . . . . . . . . . . . .     78
                              6.1.2   Aggregate programming platform . . . . . . . . . . . . . . .           78
                        6.2   Requirement analysis . . . . . . . . . . . . . . . . . . . . . . . . . .       79
                              6.2.1   Field calculus – DSL and VM . . . . . . . . . . . . . . . . .          79
                              6.2.2   Aggregate programming systems           . . . . . . . . . . . . . . .  80
                        6.3   Problem analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . .       83
                              6.3.1   Field calculus DSL: embedding within Scala . . . . . . . . .           83
                        6.4   Abstraction gap . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      85
                              6.4.1   Distributed Platform . . . . . . . . . . . . . . . . . . . . . .       85
                     7 Design                                                                                87
                        7.1   Design architecture . . . . . . . . . . . . . . . . . . . . . . . . . . .      88
                              7.1.1   scafi DSL and VM . . . . . . . . . . . . . . . . . . . . . .           88
                              7.1.2   Spatial abstraction . . . . . . . . . . . . . . . . . . . . . . .      89
                              7.1.3   Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . .      91
                              7.1.4   Distributed platform . . . . . . . . . . . . . . . . . . . . . .       92
                        7.2   Actor platform design       . . . . . . . . . . . . . . . . . . . . . . . . .  94
                              7.2.1   System design . . . . . . . . . . . . . . . . . . . . . . . . . .      94
                              7.2.2   Server-based actor platform . . . . . . . . . . . . . . . . . .        96
                              7.2.3   Peer-to-peer actor platform       . . . . . . . . . . . . . . . . . .  97
The words contained in this file might help you see if this file matches what you are looking for:

...Alma mater studiorum universita di bologna campus cesena scuola ingegneria e architettura corso laurea magistrale in scienze informatiche aggregate programming scala a core library and actor based platform for distributed computational fields tesi dei sistemi software adattativi complessi relatore presentata da prof mirko viroli robertocasadei anno accademico sessione iii contents abstract italiano i introduction v background development advanced features the language onobject oriented traits oopinscala quick tour of basics class construction linearisation member overriding super resolution trait instantiation renement early denitions type system some preparatory types generic parameters bounds bounded quantication variance vs implicits implicit scope classes more on techniques pimp my pattern component modelling implementation cake family polymorphism internal dsl syntactic sugar associativity precedence dynamic examples ii space time spatial computing motivation context issues scenar...

no reviews yet
Please Login to review.