generated from NiccoMlt/Unibo-Tesi-Template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmaltoni_niccolo_tesi.bib
960 lines (884 loc) · 68.4 KB
/
maltoni_niccolo_tesi.bib
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
% Encoding: UTF-8
% Foundational field calculus and Protelis aggregate programming
@Article{7274429,
author = {Jacob Beal and Danilo Pianini and Mirko Viroli},
title = {Aggregate Programming for the Internet of Things},
journal = {Computer},
year = {2015},
date = {2015-09},
volume = {48},
number = {9},
pages = {22--30},
issn = {0018-9162},
doi = {10.1109/mc.2015.261},
file = {:res/biblio/papers/7274429 - Aggregate Programming for the Internet of Things.pdf:PDF},
keywords = {Aggregate programmin;Embedded systems;Internet of things;Pervasive computing;Programming;DSLs;Internet of Things;IoT;aggregate programming;distributed systems;domain-specific languages;embedded systems;field calculus;pervasive computing},
publisher = {Institute of Electrical and Electronics Engineers ({IEEE})},
}
% The first scientific paper presenting Protelis and example applications
@InProceedings{PianiniSASOTutorial2017,
author = {Danilo Pianini and Jacob Beal and Mirko Viroli},
title = {Practical Aggregate Programming with Protelis},
booktitle = {2017 {IEEE} 2nd International Workshops on Foundations and Applications of Self{\ast} Systems ({FAS}{\ast}W)},
year = {2017},
date = {2017},
publisher = {{IEEE}},
pages = {391--392},
doi = {10.1109/fas-w.2017.186},
bibsource = {dblp computer science bibliography, http://dblp.org},
biburl = {http://dblp.org/rec/bib/conf/saso/PianiniBV17},
file = {:res/biblio/papers/PianiniSASOTutorial2017 - Practical Aggregate Programming with Protelis.pdf:PDF},
timestamp = {Mon, 23 Oct 2017 12:54:11 +0200},
}
@Thesis{amslaurea19778,
author = {Filippo Nardini},
title = {Sviluppo di piattaforme per il linguaggio Protelis in Kotlin e Java},
type = {Tesi di Laurea},
institution = {Università di Bologna},
year = {2019},
url = {http://amslaurea.unibo.it/19778/},
abstract = {L'ambiente da cui siamo circondati tutti i giorni {\`e} pervaso da dispositivi in grado di effettuare computazioni e comunicare. L'eterogeneit{\`a} di questi dispositivi rende difficile sviluppare applicazioni distribuite resilienti e affidabili utilizzando le tecniche dell'ingegneria del software classica. La programmazione aggregata si propone come paradigma di sviluppo che fornisce meccanismi di comunicazione flessibili e robusti tra questi dispositivi, in particolare vengono presi in considerazione il field calculus e una sua implementazione pratica: Protelis, un linguaggio di programmazione che supporta tale paradigma di programmazione.
In questo lavoro vengono analizzate le caratteristiche di Protelis, in particolare la sua architettura e i suoi livelli di astrazione. In seguito vengono modellati nuovi concetti, per la realizzazione di un modello ad oggetti riusabile, che possa essere un potenziale punto di partenza per l'implementazione di un'infrastruttura facilmente estendibile, riusabile, e manutenibile. A supporto della flessibilit{\`a} del modello, sono presentate tre realizzazioni dell'architettura descritta, che eseguono lo stesso programma aggregato, ma finalizzate a descrivere tre scenari d'uso distinti: la prima rappresenta un micro-simulatore, che emula un contesto distribuito, ma sfrutta la memoria condivisa per permettere lo scambio di messaggi tra i nodi; la seconda realizza un'applicazione distribuita utilizzando le socket TCP per la comunicazione; la terza si serve di un broker di messaggistica centrale e sfrutta il protocollo MQTT, un modello di scambio di messaggi utilizzato nell'Internet-of-Things, per implementare la comunicazione. Per provare l'interoperabilit{\`a} dell'architettura con i linguaggi eseguiti sulla Java Virtual Machine, questi tre scenari sono stati implementati sia in Java che in Kotlin.},
file = {:res/biblio/amslaurea/amslaurea19778 - Sviluppo Di Piattaforme Per Il Linguaggio Protelis in Kotlin E Java.pdf:PDF},
keywords = {aggregate computing,field calculus,protelis,software engineering},
}
@Thesis{amslaurea16824,
author = {Gianluca Aguzzi},
title = {Sviluppo di un front-end di simulazione per applicazioni aggregate nel framework Scafi},
type = {Tesi di Laurea},
institution = {Università di Bologna},
year = {2018},
url = {http://amslaurea.unibo.it/16824/},
abstract = {La tesi {\`e} articolata in sei capitoli: nel primo vengono introdotti gli studi pregressi realizzati durante il periodo di tirocinio svolto presso l'Universit{\`a} di Bologna, utili a comprendere l'insieme di scelte effettuate nelle altre fasi dello studio.
Nel secondo capitolo viene descritta la fase di analisi del modello da realizzare, completa di elenco dei requisiti che il front-end deve rispettare, in questa fase in modo particolare, c'{\`e} stato uno scambio di informazioni costante con il prof. Mirko Viroli e il dott. Roberto Casadei nei panni dei 'committenti' nel progetto.
Nel terzo capitolo si descrive la fase di progettazione architetturale, fornendo informazioni su come il software realizza quanto richiesto in fase di analisi in termini di architettura. Si descrive, quindi, la struttura generale del front-end e si spiega il perch{\'e} delle varie scelte presenti in questa fase.
Nel quarto capitolo vengono descritte, invece, quelle che sono le scelte di design dettagliato, in particolare si descrive com'{\`e} possibile interfacciare il front-end con il framework {$\backslash$}class\{ScaFi\} e come avviare e descrivere una simulazione aggregata.
Nel quinto capitolo vengono mostrate le scelte implementative per la realizzazione del software e vengono mostrati alcuni screenshot con i risultati ottenuti e, infine, nel sesto si offre una panoramica di quello che {\`e} il risultato finale mostrando la struttura dell'interfaccia grafica corredato di analisi delle performance estratte da alcune delle possibili simulazioni eseguibili sul front-end},
file = {:res/biblio/amslaurea/amslaurea16824 - Sviluppo Di Un Front End Di Simulazione Per Applicazioni Aggregate Nel Framework Scafi.pdf:PDF},
keywords = {aggregate computing,scafi,scala},
}
@InProceedings{amslaurea13090,
author = {Matteo Francia and Danilo Pianini and Jacob Beal and Mirko Viroli},
title = {Towards a Foundational {API} for Resilient Distributed Systems Design},
booktitle = {2017 {IEEE} 2nd International Workshops on Foundations and Applications of Self{\ast} Systems ({FAS}{\ast}W)},
year = {2017},
publisher = {{IEEE} Computer Society},
pages = {27--32},
doi = {10.1109/fas-w.2017.116},
url = {http://doi.ieeecomputersociety.org/10.1109/FAS-W.2017.116},
bibsource = {dblp computer science bibliography, https://dblp.org},
biburl = {https://dblp.org/rec/conf/saso/FranciaPBV17.bib},
timestamp = {Wed, 16 Oct 2019 14:14:51 +0200},
}
@Thesis{amslaurea10341,
author = {Roberto Casadei},
title = {Aggregate Programming in Scala: a Core Library and Actor-Based Platform for Distributed Computational Fields},
type = {Tesi di Laurea Magistrale},
institution = {Università di Bologna},
year = {2016},
url = {http://amslaurea.unibo.it/10341/},
abstract = {La programmazione aggregata {\`e} un paradigma che supporta la programmazione di sistemi di dispositivi, adattativi ed eventualmente a larga scala, nel loro insieme -- come aggregati. L'approccio prevalente in questo contesto {\`e} basato sul field calculus, un calcolo formale che consente di definire programmi aggregati attraverso la composizione funzionale di campi computazionali, creando i presupposti per la specifica di pattern di auto-organizzazione robusti.
La programmazione aggregata {\`e} attualmente supportata, in modo pi{\`u} o meno parziale e principalmente per la simulazione, da DSL dedicati (cf., Protelis), ma non esistono framework per linguaggi mainstream finalizzati allo sviluppo di applicazioni. Eppure, un simile supporto sarebbe auspicabile per ridurre tempi e sforzi d'adozione e per semplificare l'accesso al paradigma nella costruzione di sistemi reali, nonch{\'e} per favorire la ricerca stessa nel campo.
Il presente lavoro consiste nello sviluppo, a partire da un prototipo della semantica operazionale del field calculus, di un framework per la programmazione aggregata in Scala.
La scelta di Scala come linguaggio host nasce da motivi tecnici e pratici. Scala {\`e} un linguaggio moderno, interoperabile con Java, che ben integra i paradigmi ad oggetti e funzionale, ha un sistema di tipi espressivo, e fornisce funzionalit{\`a} avanzate per lo sviluppo di librerie e DSL. Inoltre, la possibilit{\`a} di appoggiarsi, su Scala, ad un framework ad attori solido come Akka, costituisce un altro fattore trainante, data la necessit{\`a} di colmare l'abstraction gap inerente allo sviluppo di un middleware distribuito.
Nell'elaborato di tesi si presenta un framework che raggiunge il triplice obiettivo: la costruzione di una libreria Scala che realizza la semantica del field calculus in modo corretto e completo, la realizzazione di una piattaforma distribuita Akka-based su cui sviluppare applicazioni, e l'esposizione di un'API generale e flessibile in grado di supportare diversi scenari.},
file = {:res/biblio/amslaurea/amslaurea10341 - Aggregate Programming in Scala_ a Core Library and Actor Based Platform for Distributed Computational Fields.pdf:PDF},
keywords = {aggregate-programming field-calculus distributed-framework actors self-organization Scala},
}
@InProceedings{10.1145/2742580.2742818,
author = {Bill Fisher},
title = {Flux: A Unidirectional Data Flow Architecture for React Apps},
booktitle = {Applicative 2015},
year = {2015},
series = {Applicative 2015},
publisher = {Association for Computing Machinery},
location = {New York, NY, USA},
isbn = {9781450335270},
doi = {10.1145/2742580.2742818},
url = {https://doi.org/10.1145/2742580.2742818},
address = {New York, NY, USA},
file = {:res/biblio/papers/10.1145_2742580.2742818 - Flux_ a Unidirectional Data Flow Architecture for React Apps.pdf:PDF},
numpages = {1},
}
@InProceedings{Reenskaug2003TheM,
author = {Trygve Reenskaug},
title = {The Model-View-Controller (MVC) Its Past and Present},
year = {2003},
url = {http://heim.ifi.uio.no/~trygver/2003/javazone-jaoo/HM1A93.html},
abstract = {MVC was conceived in 1978 as the design solution to a particular problem. The top level goal was to support theuser's mental model of the relevant information space and to enable the user to inspect and edit this information.The first part of the talk describes the original problem and discusses the chosen solution. The second part elaborates the original ideas and extends the scope to include current day challenges to the originalgoal. We examine some ideas related to MVC that are found in the literature and select those that appear to be partic-ularly relevant to the top level goal. It is all summarized in a condensed MVC pattern language.},
file = {:res/biblio/papers/Reenskaug2003TheM - The Model View Controller (MVC) Its Past and Present.pdf:PDF},
keywords = {controller history imported mcv model origin view},
}
@InBook{observer,
author = {McDonough, James E.},
title = {Observer Design Pattern},
booktitle = {Object-Oriented Design with ABAP: A Practical Approach},
year = {2017},
publisher = {Apress},
isbn = {9781484228388},
pages = {155--171},
doi = {10.1007/978-1-4842-2838-8_13},
url = {https://doi.org/10.1007/978-1-4842-2838-8_13},
abstract = {The next stop on your voyage through the Design Patterns galaxy takes you to the Observer design pattern, another of the design patterns found in the GoF catalog. You will find this design pattern useful in situations where one class needs to be kept aware of changes occurring in another class.},
address = {Berkeley, CA},
}
@Book{10.5555/186897,
author = {Gamma, Erich and Helm, Richard and Johnson, Ralph E. and Vlissides, John},
title = {Design Patterns: Elements of Reusable Object-Oriented Software},
year = {1995},
date = {1995-12-01},
publisher = {Addison-Wesley Longman Publishing Co., Inc.},
isbn = {0201633612},
url = {https://dl.acm.org/doi/book/10.5555/186897},
ean = {9780201633610},
}
@Thesis{czaplicki2012elm,
author = {Evan Czaplicki},
title = {Elm: Concurrent FRP for Functional GUIs},
type = {Senior thesis},
institution = {Harvard University},
year = {2012},
date = {2012-03-30},
url = {https://elm-lang.org/assets/papers/concurrent-frp.pdf},
abstract = {Graphical user interfaces (GUIs) mediate almost all of our interactions with computers,whether it is through web pages, phone apps, or desktop applications. Functional ReactiveProgramming (FRP) is a promising approach to GUI design. This thesis presents Elm, aconcurrent FRP language focused on easily creating responsive GUIs. Elm has two majorfeatures: (1) purely functional graphical layout and (2) support for Concurrent FRP. Purelyfunctional graphical layout is a high level framework for working with complex visual com-ponents. It makes it quick and easy to create and combine text, images, and video intorich multimedia displays. Concurrent FRP solves some of FRP’s long-standing efficiencyproblems: global delays and needless recomputation. Together, Elm’s two major featuressimplify the complicated task of creating responsive and usable graphical user interfaces.This thesis also includes a fully functional compiler for Elm, available at elm-lang.org. Thissite includes an interactive code editor that allows you to write and compile Elm programsonline with no download or install.},
file = {:res/biblio/papers/Elm - Elm_ Concurrent FRP for Functional GUIs.pdf:PDF},
numpages = {58},
}
@InProceedings{CzaplickiC13,
author = {Evan Czaplicki and Stephen Chong},
title = {Asynchronous Functional Reactive Programming for {GUI}s},
booktitle = {Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation},
year = {2013},
publisher = {ACM Press},
month = jun,
pages = {411--422},
abstract = {Graphical user interfaces (GUIs) mediate many of our interactions with computers. Functional Reactive Programming (FRP) is a promising approach to GUI design, providing high-level, declarative, compositional abstractions to describe user interactions and time-dependent computations. We present Elm, a practical FRP language focused on easy creation of responsive GUIs. Elm has two major features: simple declarative support for Asynchronous FRP; and purely functional graphical layout.
Asynchronous FRP allows the programmer to specify when the global ordering of event processing can be violated, and thus enables efficient concurrent execution of FRP programs; long-running computation can be executed asynchronously and not adversely affect the responsiveness of the user interface.
Layout in Elm is achieved using a purely functional declarative framework that makes it simple to create and combine text, images, and video into rich multimedia displays.
Together, Elm’s two major features simplify the complicated task of creating responsive and usable GUIs.},
address = {New York, NY, USA},
file = {:res/biblio/papers/CzaplickiC13 - Asynchronous Functional Reactive Programming for GUIs.pdf:PDF},
}
@InProceedings{aggregatescala-pmldc2016,
author = {Roberto Casadei and Mirko Viroli},
title = {Towards Aggregate Programming in Scala},
booktitle = {First Workshop on Programming Models and Languages for Distributed Computing on - {PMLDC} {\textquotesingle}16},
year = {2016},
publisher = {{ACM} Press},
location = {Rome, Italy},
month = {7},
isbn = {978-1-4503-4775-4},
pages = {5:1--5:7},
doi = {10.1145/2957319.2957372},
url = {http://doi.acm.org/10.1145/2957319.2957372},
acmid = {2957372},
address = {New York, NY, USA},
articleno = {5},
file = {:res/biblio/papers/aggregatescala-pmldc2016 - Towards Aggregate Programming in Scala.pdf:PDF},
keywords = {DSL, Scala, aggregate programming, complex adaptive systems, distributed platform},
numpages = {7},
}
@Article{10.1145/1538942.1538945,
author = {Marco Mamei and Franco Zambonelli},
title = {Programming Pervasive and Mobile Computing Applications: The TOTA Approach},
journal = {{ACM} Transactions on Software Engineering and Methodology},
year = {2009},
volume = {18},
number = {4},
pages = {1--56},
issn = {1049-331X},
doi = {10.1145/1538942.1538945},
url = {https://doi.org/10.1145/1538942.1538945},
address = {New York, NY, USA},
articleno = {Article 15},
file = {:res/biblio/papers/10.1145_1538942.1538945 - Programming Pervasive and Mobile Computing Applications_ the TOTA Approach.pdf:PDF},
issue_date = {July 2009},
keywords = {tuple spaces, self-adaptation, middleware, self-organization, Pervasive computing, mobile computing, coordination},
numpages = {56},
publisher = {Association for Computing Machinery ({ACM})},
}
@PhdThesis{nagpal2001programmable,
author = {Radhika Nagpal},
title = {Programmable self-assembly: constructing global shape using biologically-inspired local interactions and origami mathematics},
year = {2001},
url = {http://hdl.handle.net/1721.1/86667},
bibsource = {dblp computer science bibliography, https://dblp.org},
biburl = {https://dblp.org/rec/phd/ndltd/Nagpal01.bib},
file = {:res/biblio/papers/nagpal2001programmable - Programmable Self Assembly_ Constructing Global Shape Using Biologically Inspired Local Interactions and Origami Mathematics.pdf:PDF},
school = {Massachusetts Institute of Technology, Cambridge, MA, {USA}},
timestamp = {Mon, 08 May 2017 16:29:45 +0200},
}
@InCollection{SpatialIGI2013,
author = {Jacob Beal and Stefan Dulman and Kyle Usbeck and Mirko Viroli and Nikolaus Correll},
title = {Organizing the Aggregate: Languages for Spatial Computing},
booktitle = {Formal and Practical Aspects of Domain-Specific Languages: Recent Developments},
date = {2013},
editor = {Mernik, Marjan},
note = {A longer version available at: {\tt http://arxiv.org/abs/1202.5509}},
publisher = {{IGI} Global},
chapter = {16},
pages = {436--501},
doi = {10.4018/978-1-4666-2092-6.ch016},
url = {http://www.igi-global.com/chapter/organizing-aggregate-languages-spatial-computing/71829},
abstract = {As the number of computing devices embedded into engineered systems continues to rise, there is a
widening gap between the needs of the user to control aggregates of devices and the complex technology of individual devices. Spatial computing attempts to bridge this gap for systems with local communication by exploiting the connection between physical locality and device connectivity. A large number of spatial computing domain specific languages (DSLs) have emerged across diverse domains, from biology and reconfigurable computing, to sensor networks and agent-based systems. In this chapter, we develop a framework for analyzing and comparing spatial computing DSLs, survey the current state of the art, and provide a roadmap for future spatial computing DSL investigation.
},
file = {:res/biblio/papers/SpatialIGI2013 - Organizing the Aggregate_ Languages for Spatial Computing.pdf:PDF},
issn-online = {978-1-4666-2092-6},
keywords = {Spatial Computing, Sensor Networks, Agent-Based Systems},
status = {Published},
venue_list = {--},
}
@Article{10.1145/1327452.1327492,
author = {Jeffrey Dean and Sanjay Ghemawat},
title = {MapReduce: Simplified Data Processing on Large Clusters},
journal = {Communications of the {ACM}},
year = {2008},
volume = {51},
number = {1},
pages = {107–113},
issn = {0001-0782},
doi = {10.1145/1327452.1327492},
url = {https://doi.org/10.1145/1327452.1327492},
address = {New York, NY, USA},
file = {:res/biblio/papers/10.1145_1327452.1327492 - MapReduce_ Simplified Data Processing on Large Clusters.pdf:PDF},
issue_date = {January 2008},
numpages = {7},
publisher = {Association for Computing Machinery ({ACM})},
}
@InProceedings{1017485,
author = {Samuel Madden and Roman Szewczyk and Michael J. Franklin and David E. Culler},
title = {Supporting aggregate queries over ad-hoc wireless sensor networks},
booktitle = {Proceedings Fourth {IEEE} Workshop on Mobile Computing Systems and Applications},
year = {2002},
publisher = {{IEEE} Comput. Soc},
pages = {49-58},
doi = {10.1109/mcsa.2002.1017485},
abstract = {We show how the database community's notion of a generic query interface for data aggregation can be applied to ad-hoc networks of sensor devices. As has been noted in the sensor network literature, aggregation is important as a data reduction tool; networking approaches, however, have focused on application specific solutions, whereas our in-network aggregation approach is driven by a general purpose, SQL-style interface that can execute queries over any type of sensor data while providing opportunities for significant optimization. We present a variety of techniques to improve the reliability and performance of our solution. We also show how grouped aggregates can be efficiently computed and offer a comparison to related systems and database projects.},
file = {:res/biblio/papers/1017485 - Supporting Aggregate Queries Over Ad Hoc Wireless Sensor Networks.pdf:PDF},
issn = {null},
keywords = {query processing;mobile computing;SQL;wireless LAN;relational databases;sensors;data reduction;network operating systems;aggregate queries;ad-hoc wireless sensor networks;relational database;TinyOS operating system;generic query interface;data aggregation;data reduction tool;SQL;optimization;Aggregates;Wireless sensor networks;Databases;Intelligent sensors;Temperature sensors;Ad hoc networks;Sensor systems;Bandwidth;Batteries;Computer networks},
}
@Proceedings{ProtelisSAC14,
title = {Protelis: practical aggregate programming},
year = {2015},
editor = {Roger L. Wainwright and Juan Manuel Corchado and Alessio Bechini and Jiman Hong},
series = {SAC ’15},
publisher = {Association for Computing Machinery},
location = {Salamanca, Spain},
isbn = {978-1-4503-3196-8},
pages = {1846--1853},
doi = {10.1145/2695664.2695913},
url = {https://doi.org/10.1145/2695664.2695913},
abstract = {The notion of a computational field has been proposed as a unifying abstraction for developing distributed systems, focusing on the computations and coordination of aggregates of devices instead of individual behavior. Prior field-based languages, however, have suffered from a number of practical limitations that have posed barriers to adoption and use. We address these limitations by introduction of Protelis, a functional language based on computational fields and embedded in Java, thereby enabling the construction of widely reusable components of aggregate systems. We demonstrate the simplicity of Protelis integration and programming through two examples: simulation of a pervasive computing scenario in the Alchemist simulator, and coordinated management of a network of services.},
address = {New York, NY, USA},
author = {Danilo Pianini and Mirko Viroli and Jacob Beal},
bibsource = {dblp computer science bibliography, https://dblp.org},
biburl = {https://dblp.org/rec/conf/sac/PianiniVB15.bib},
booktitle = {Proceedings of the 30th Annual {ACM} Symposium on Applied Computing, Salamanca, Spain, April 13-17, 2015},
file = {:res/biblio/papers/ProtelisSAC14 - Protelis_ Practical Aggregate Programming.pdf:PDF},
keywords = {aggregate programming, computational field, field calculus, alchemist, coordination},
timestamp = {Tue, 06 Nov 2018 11:06:47 +0100},
venue_e = {Events.Sac2015},
venue_list = {--},
}
@Article{mcmullin2002origins,
author = {Ernan McMullin},
title = {The origins of the field concept in physics},
journal = {Physics in Perspective},
year = {2002},
volume = {4},
number = {1},
pages = {13--39},
doi = {10.1007/s00016-002-8357-5},
file = {:res/biblio/papers/mcmullin2002origins - The Origins of the Field Concept in Physics.pdf:PDF},
publisher = {Springer Science and Business Media {LLC}},
}
@InProceedings{BV-FOCAS2014,
author = {Jacob Beal and Mirko Viroli},
title = {Building Blocks for Aggregate Programming of Self-Organising Applications},
booktitle = {2014 {IEEE} Eighth International Conference on Self-Adaptive and Self-Organizing Systems Workshops},
year = {2014},
date = {2014},
publisher = {{IEEE}},
pages = {8--13},
doi = {10.1109/sasow.2014.6},
file = {:res/biblio/papers/BV-FOCAS2014 - Building Blocks for Aggregate Programming of Self Organising Applications.pdf:PDF},
}
@InProceedings{AggregatecomputingVlsubicomp16,
author = {Mirko Viroli and Roberto Casadei and Danilo Pianini},
title = {On execution platforms for large-scale aggregate computing},
booktitle = {Proceedings of the 2016 {ACM} International Joint Conference on Pervasive and Ubiquitous Computing Adjunct - {UbiComp} {\textquotesingle}16},
year = {2016},
editor = {Paul Lukowicz and Antonio Kr{\"{u}}ger and Andreas Bulling and Youn{-}Kyung Lim and Shwetak N. Patel},
series = {UbiComp '16},
publisher = {{ACM} Press},
location = {Heidelberg, Germany},
isbn = {978-1-4503-4462-3},
pages = {1321--1326},
doi = {10.1145/2968219.2979129},
url = {http://doi.acm.org/10.1145/2968219.2979129},
acmid = {2979129},
address = {New York, NY, USA},
file = {:res/biblio/papers/AggregatecomputingVlsubicomp16 - On Execution Platforms for Large Scale Aggregate Computing.pdf:PDF},
keywords = {aggregate computing, cloud computing, execution platforms, internet of things, large-scale systems},
numpages = {6},
}
@InProceedings{beal2014towards,
author = {Beal, Jacob and Viroli, Mirko and Damiani, Ferruccio},
title = {Towards a unified model of spatial computing},
booktitle = {7th Spatial Computing Workshop (SCW 2014), AAMAS},
year = {2014},
abstract = {In spatial computing, there is a fundamental tension between discrete and continuous models of computation: computational devices are generally discrete, yet it is often useful to program them in terms of the continuous environment through which they are embedded. Aggregate programming models for spatial computers have attempted to resolve this tension in a variety of different ways, generating a profusion of approaches that are difficult to compare or combine. Recently, however, two minimal models have been proposed: continuous space-time universality and a discrete field calculus. This paper unifies these two models by proving that field calculus is space-time universal, and thus provides the first formal connection between continuous and discrete approaches to spatial computing.},
file = {:res/biblio/papers/beal2014towards - Towards a Unified Model of Spatial Computing.pdf:PDF},
keywords = {Computational Fields, Continuous models, Expressiveness},
}
@Article{Beal2006,
author = {Jacob Beal and Jonathan Bachrach},
title = {Infrastructure for Engineered Emergence on Sensor/Actuator Networks},
journal = {{IEEE} Intelligent Systems},
year = {2006},
volume = {21},
number = {2},
pages = {10--19},
doi = {10.1109/mis.2006.29},
file = {:res/biblio/papers/article - Infrastructure for Engineered Emergence on Sensor_Actuator Networks.pdf:PDF},
publisher = {Institute of Electrical and Electronics Engineers ({IEEE})},
}
@InProceedings{7306601,
author = {Shane S. Clark and Jacob Beal and Partha Pal},
title = {Distributed Recovery for Enterprise Services},
booktitle = {2015 {IEEE} 9th International Conference on Self-Adaptive and Self-Organizing Systems},
year = {2015},
date = {2015-09},
publisher = {{IEEE}},
pages = {111-120},
doi = {10.1109/saso.2015.19},
abstract = {Small-to medium-scale enterprise systems are typically complex and highly specialized, but lack the management resources that can be devoted to large-scale (e.g., Cloud) systems, making them extremely challenging to manage. Here we present an adaptive algorithm for addressing a common management problem in enterprise service networks: safely and rapidly recovering from the failure of one or more services. Due to poorly documented and shifting dependencies, a typical industry practice for this situation is to bring the entire system down, then to restart services one at a time in a predefined order. We improve on this practice with the Dependency-Directed Recovery (DDR) algorithm, which senses dependencies by observing network interactions and recovers near-optimally from failures following a distributed graph algorithm. Our Java-based implementation of this system is suitable for deployment with a wide variety of networked enterprise services, and we validate its correct operation and advantage over fixed-order restart with emulation experiments on networks of up to 20 services.},
file = {:res/biblio/papers/7306601 - Distributed Recovery for Enterprise Services.pdf:PDF},
keywords = {computer networks;graph theory;small-to-medium enterprises;small-to medium-scale enterprise system;management resources;enterprise service recovery;dependency-directed recovery algorithm;DDR algorithm;distributed graph algorithm;networked enterprise services;Servers;Monitoring;Electronic mail;Logic gates;Databases;Reliability;Sockets;enterprise systems;aggregate programming;protelis;distributed algorithms},
}
@InProceedings{PCRV-SCOPES2015,
author = {Danilo Pianini and Angelo Croatti and Alessandro Ricci and Mirko Viroli},
title = {Computational Fields Meet Augmented Reality: Perspectives and Challenges},
booktitle = {2015 {IEEE} International Conference on Self-Adaptive and Self-Organizing Systems Workshops},
year = {2015},
publisher = {{IEEE}},
pages = {80-85},
doi = {10.1109/sasow.2015.18},
abstract = {Recently, two different techniques emerged that are tailored to environments pervaded of computational devices. On the one hand, aggregate programming, and especially computational fields-based programming, is a promising abstraction for coordinating the activities of multiple situated devices. On the other hand, augmented reality is emerging as new means of interaction with both software and physical entities. We note that both computational fields and augmented reality are tightly bound to the physical world, and that they both enrich it, with collective computation and augmented information respectively. This work presents an initial analysis of possible future research directions that involve these techniques, discussing some possible ways of integrating them.},
file = {:res/biblio/papers/PCRV-SCOPES2015 - Computational Fields Meet Augmented Reality_ Perspectives and Challenges.pdf:PDF},
keywords = {augmented reality;programming;augmented reality;computational devices;computational fields-based programming;aggregate programming;Augmented reality;Aggregates;Software;Computational modeling;Mirrors;Conferences;augmented reality;aggregate computing;computational fields;situatedness, Aggregates;Augmented reality;Computational modeling;Conferences;Mirrors;Software;aggregate computing;augmented reality;computational fields;situatedness},
}
@InProceedings{anticipativegradient-SASO12,
author = {Sara Montagna and Danilo Pianini and Mirko Viroli},
title = {Gradient-Based Self-Organisation Patterns of Anticipative Adaptation},
booktitle = {2012 {IEEE} Sixth International Conference on Self-Adaptive and Self-Organizing Systems},
year = {2012},
venue = {SASO},
publisher = {{IEEE}},
location = {Lyon, France},
month = {sep},
isbn = {978-0-7695-4851-7},
pages = {169--174},
doi = {10.1109/saso.2012.25},
abstract = {In this paper we conceive new self-organisation mechanisms to enhance the Gradient self-organisation pattern with anticipative adaptation abilities. We ensure that the problem of retrieving a target of interest in mobile environments is solved by proactively reacting to locally-available information about future events, namely, the knowledge about future obstacles (e.g., expected jams or road interruption in a traffic control scenario) is used to compute alternative and faster paths in an emergent way.},
ee = {http://doi.ieeecomputersociety.org/10.1109/SASO.2012.25},
file = {:res/biblio/papers/anticipativegradient-SASO12 - Gradient Based Self Organisation Patterns of Anticipative Adaptation.pdf:PDF},
issn = {1949-3673},
keywords = {gradient methods;road traffic control;self-adjusting systems;gradient-based self-organisation pattern;self-organisation mechanism;anticipative adaptation ability;mobile environment;proactive reaction;locally-available information;future event;future obstacles;expected jams;road interruption;traffic control scenario;Iron;Roads;Data structures;Standards;Mobile communication;Interrupters;Context, Anticipative adaptation, Pervasive service ecosystem, Gradient pattern},
}
@Misc{java1999specification,
author = {James Duncan Davidson and Danny Coward},
editor = {{Sun Microsystems}},
title = {Java Servlet Specification, v2.2},
year = {1999},
date = {1999-12-17},
howpublished = {Public Release},
file = {:res/biblio/papers/servlet-specs.ps:PostScript},
}
@TechReport{Smith2008,
author = {Michael[tm] Smith},
title = {{HTML} 5 Publication Notes},
institution = {W3C},
year = {2008},
type = {{W3C} Note},
month = jun,
url = {http://www.w3.org/TR/2008/NOTE-html5-pubnotes-20080610/},
bibsource = {https://w2.syronex.com/jmr/w3c-biblio},
}
@Book{ECMA-262,
author = {{ECMA}},
title = {{ECMA-262}: {ECMAScript} Language Specification},
year = {1999},
edition = {Third},
publisher = {ECMA (European Association for Standardizing Information and Communication Systems)},
url = {http://www.ecma.ch/ecma1/STAND/ECMA-262.HTM},
acknowledgement = {Nelson H. F. Beebe, University of Utah, Department of Mathematics, 110 LCB, 155 S 1400 E RM 233, Salt Lake City, UT 84112-0090, USA, Tel: +1 801 581 5254, FAX: +1 801 581 4148, e-mail: \path|beebe@math.utah.edu|, \path|beebe@acm.org|, \path|beebe@computer.org| (Internet), URL: \path|http://www.math.utah.edu/~beebe/|},
address = {pub-ECMA:adr},
bibdate = {Thu Feb 22 08:43:46 MST 2001},
bibsource = {http://www.ecma-international.org/publications/standards/Standard.htm; http://www.math.utah.edu/pub/tex/bib/ecmastd.bib},
ecmanumber = {ECMA-262},
month = dec,
}
@TechReport{ISO:1998,
author = {{ISO Central Secretary}},
title = {{Information} technology --- {ECMAScript} language specification},
institution = {International Organization for Standardization},
year = {1998},
type = {Standard},
language = {en},
number = {ISO/IEC 16262:1998},
pages = {98},
url = {https://www.iso.org/standard/29696.html},
address = {Geneva, CH},
shorttitle = {{ISO}/{IEC} 16262:1998},
}
@Article{Ungar1991,
author = {David Ungar and Craig Chambers and Bay-Wei Chang and Urs Hölzle},
title = {Organizing programs without classes},
journal = {Lisp and Symbolic Computation},
year = {1991},
volume = {4},
number = {3},
pages = {223-242},
issn = {1573-0557},
doi = {10.1007/bf01806107},
url = {https://doi.org/10.1007/BF01806107},
abstract = {All organizational functions carried out by classes can be accomplished in a simple and natural way by object inheritance in classless languages, with no need for special mechanisms. A single model--dividing types into prototypes and traits--supports sharing of behavior and extending or replacing representations. A natural extension, dynamic object inheritance, can model behavioral modes. Object inheritance can also be used to provide structured name spaces for well-known objects. Classless languages can even express "class-based" encapsulation. These stylized uses of object inheritance become instantly recognizable idioms, and extend the repertory of organizing principles to cover a wider range of programs.},
publisher = {Springer Science and Business Media {LLC}},
}
@Misc{jep289,
author = {Kevin Rushforth and Andy Herrick and David Dehaven and Kevin Rushforth and Stuart Marks},
editor = {Oracle},
title = {JEP 289: Deprecate the Applet API},
year = {2016},
date = {2016-02-09},
howpublished = {\url{http://openjdk.java.net/jeps/289}},
}
@Article{5617064,
author = {Stefan Tilkov and Steve Vinoski},
title = {Node.js: Using JavaScript to Build High-Performance Network Programs},
journal = {{IEEE} Internet Computing},
year = {2010},
volume = {14},
number = {6},
pages = {80-83},
issn = {1941-0131},
doi = {10.1109/mic.2010.145},
abstract = {One of the more interesting developments recently gaining popularity in the server-side JavaScript space is Node.js. It's a framework for developing high-performance, concurrent programs that don't rely on the mainstream multithreading approach but use asynchronous I/O with an event-driven programming model.},
keywords = {Java;Node.js;high performance network program;server-side JavaScript space;concurrent program;mainstream multithreading;event-driven programming model;Sockets;Instruction sets;Programming;Servers;Libraries;Writing;Registers;Node;Node.js;functional programming;Web development;JavaScript;Internet},
publisher = {Institute of Electrical and Electronics Engineers ({IEEE})},
}
@Article{10.1145/2103621.2103686,
author = {Ravi Chugh and Patrick M. Rondon and Ranjit Jhala},
title = {Nested refinements: a logic for duck typing},
journal = {{ACM} {SIGPLAN} Notices},
year = {2012},
volume = {47},
number = {1},
pages = {231–244},
issn = {0362-1340},
doi = {10.1145/2103621.2103686},
url = {https://doi.org/10.1145/2103621.2103686},
abstract = {Programs written in dynamic languages make heavy use of features --- run-time type tests, value-indexed dictionaries, polymorphism, and higher-order functions --- that are beyond the reach of type systems that employ either purely syntactic or purely semantic reasoning. We present a core calculus, System D, that merges these two modes of reasoning into a single powerful mechanism of nested refinement types wherein the typing relation is itself a predicate in the refinement logic. System D coordinates SMT-based logical implication and syntactic subtyping to automatically typecheck sophisticated dynamic language programs. By coupling nested refinements with McCarthy's theory of finite maps, System D can precisely reason about the interaction of higher-order functions, polymorphism, and dictionaries. The addition of type predicates to the refinement logic creates a circularity that leads to unique technical challenges in the metatheory, which we solve with a novel stratification approach that we use to prove the soundness of System D.},
address = {New York, NY, USA},
issue_date = {January 2012},
keywords = {dynamic languages, refinement types},
numpages = {14},
publisher = {Association for Computing Machinery ({ACM})},
}
@PhdThesis{Doeraene:256862,
author = {Doeraene, Sébastien Jean R},
title = {Cross-Platform Language Design},
institution = {IINFCOM},
year = {2018},
language = {eng},
pages = {184},
doi = {10.5075/EPFL-THESIS-8733},
url = {http://infoscience.epfl.ch/record/256862},
abstract = {Programming languages are increasingly compiled to multiple runtimes, each featuring their own rich structures such as their object model.
Furthermore, they need to interact with other languages targeting said runtimes.
A language targeting only one runtime can be designed to tailor its semantics to those of that runtime, for easy interoperability with other languages.
However, in a language targeting multiple runtimes with differing semantics, it is difficult to cater to each of them while retaining a common behavior across runtimes.
We call \emph{cross-platform language} a language that aims at being both \emph{portable} across platforms and \emph{interoperable} with each target platform.
Portability is the ability for a program or a library to cross-compile for multiple platforms, and behave the same way on all of them.
Interoperability is the ability to communicate with other languages on the same platform.
While many cross-compiling languages focus on one of these two properties---only adding support for the other one as an afterthought---, languages that are designed from the ground up to support both are rare.
In this thesis, we present the design of Scala.js, the dialect of Scala targeting the JavaScript platform, which turned Scala into a cross-platform language.
On the one hand, Scala programs can be cross-compiled for the JVM and JavaScript with portable semantics.
On the other hand, whereas Scala/JVM interoperates with Java, Scala.js interoperates with JavaScript, allowing to use any JavaScript library.
Along the dissertation, we give insights that can be transferred to the design of other cross-platform languages, although with a bias towards those targeting the JVM and JavaScript.
The first and most obvious challenge is to reconcile the static nature of Scala's object model with JavaScript's dynamic one.
Besides the ability to mutate a class hierarchy at run-time in JavaScript, there are fundamental differences between the two models, in particular the difference between compile-time overloading and run-time overloading.
We discuss how such semantic mismatches can live in harmony within the language.
The second challenge is to obtain good performance from a language where interoperability with a dynamic and unknown part of the program is pervasive.
To that end, we design and specify an intermediate representation (IR) with first-class support for dynamically typed interoperability features in addition to statically typed JVM-style operations.
Despite its tight integration with the open world of JavaScript, most of the IR can be considered as a closed world where advanced whole-program optimizations can be performed.
The performance of the overall system is evaluated and shown to be competitive with hand-written JavaScript, and even with Scala/JVM in some cases.},
address = {Lausanne},
file = {:Doeraene_256862 - Cross Platform Language Design.pdf:PDF},
keywords = {interoperability ; portability ; language design ; cross-platform ; performance ; Scala ; JavaScript},
publisher = {Lausanne, EPFL},
}
@Article{10.1145/3093334.2989232,
author = {Stefan Marr and Benoit Daloze and Hanspeter Mössenböck},
title = {Cross-language compiler benchmarking: are we fast yet?},
journal = {{ACM} {SIGPLAN} Notices},
year = {2016},
volume = {52},
number = {2},
pages = {120--131},
issn = {0362-1340},
doi = {10.1145/3093334.2989232},
url = {https://doi.org/10.1145/3093334.2989232},
address = {New York, NY, USA},
issue_date = {May 2017},
keywords = {Virtual Machines, Languages, Benchmarking},
numpages = {12},
publisher = {Association for Computing Machinery ({ACM})},
}
@Online{Belov2017,
author = {Roman Belov},
editor = {JetBrains Kotlin Blog},
title = {Kotlin 1.1 Released with JavaScript Support, Coroutines and more},
year = {2017},
date = {2017-03-01},
url = {https://blog.jetbrains.com/kotlin/2017/03/kotlin-1-1/},
}
@Online{Jemerov2017,
author = {Dmitry Jemerov},
editor = {JetBrains Kotlin Blog},
title = {Kotlin 1.2 Released: Sharing Code between Platforms},
year = {2017},
date = {2017-11-28},
url = {https://blog.jetbrains.com/kotlin/2017/11/kotlin-1-2-released/},
}
@Thesis{amslaurea12188,
author = {Chiara Varini},
title = {Sviluppo di un simulatore per la piattaforma Scafi},
type = {Tesi di Laurea},
institution = {Università di Bologna},
year = {2016},
url = {http://amslaurea.unibo.it/12188/},
abstract = {Il lavoro di tesi muove i suoi passi dalle esigenze di poter testare e simulate dei sistemi distribuiti aggregati. Lo scopo dunque e? quello di creare un simulatore per la piattaforma Scafi.
Una volta definito il codice dell?applicazione distribuita utilizzando le API Scafi, dovr{\`a} essere possibile importare il progetto sul simulatore testarne agilmente il corretto funzionamento. Allo stesso tempo si dovr{\`a} anche ottenere una rappresentazione grafica intuitiva, semplice e pulita, nella quale siano ben distinguibili tutti i diversi elementi che compongono il sistema aggregato.},
file = {:amslaurea12188 - Sviluppo Di Un Simulatore Per La Piattaforma Scafi.pdf:PDF},
keywords = {Java,Scala,Scafi},
}
@Article{alchemist-jos2013,
author = {Danilo Pianini and Sara Montagna and Mirko Viroli},
title = {Chemical-oriented simulation of computational systems with {ALCHEMIST}},
journal = {Journal of Simulation},
year = {2013},
volume = {7},
number = {3},
pages = {202--215},
issn = {1747-7778},
doi = {10.1057/jos.2012.27},
eprint = {https://doi.org/10.1057/jos.2012.27},
url = {http://link.springer.com/10.1057/jos.2012.27},
abstract = {In this paper we address the engineering of complex and emerging computational systems featuring situatedness, adaptivity and self-organisation, like pervasive computing applications in which humans and devices, dipped in a very mobile environment, opportunistically interact to provide and exploit information services. We adopt a meta-model in which possibly mobile, interconnected and communicating agents work according to a set of chemical-like laws. According to this view, substantiated by recent research on pervasive computing systems, we present the Alchemist simulation framework, which retains the performance of known Stochastic Simulation Algorithms for (bio)chemistry, though it is tailored to the specific features of complex and situated computational systems.},
file = {:res/biblio/papers/alchemist-jos2013 - Chemical Oriented Simulation of Computational Systems with ALCHEMIST.pdf:PDF},
issn-online = {1747-7786},
keywords = {Stochastic simulation, chemical-oriented computing, pervasive service ecosystems},
publisher = {Informa {UK} Limited},
}
@InProceedings{4161692,
author = {David G. Bell and Frank Kuehnel and Chris Maxwell and Randy Kim and Kushyar Kasraie and Tom Gaskins and Patrick Hogan and Joe Coughlan},
title = {{NASA} World Wind: Opensource {GIS} for Mission Operations},
booktitle = {2007 {IEEE} Aerospace Conference},
year = {2007},
publisher = {{IEEE}},
pages = {1-9},
doi = {10.1109/aero.2007.352954},
abstract = {This paper describes NASA World Wind, its technical architecture and performance, and its emerging use for mission operations. World Wind is a geographic information system that provides graphical access to terabytes of imagery and elevation models for planets and other celestial objects including satellite and other data of the Earth, Moon, Mars, Venus, and Jupiter; as well as astronomical data made available through the Sloan Digital Sky Survey. World Wind is also a customizable system that can be integrated as part of other applications. World Wind is not only an application in which add-ons can be integrated, but is also being developed as a plugin that can be integrated with other applications. This paper also describes the significant contributions of the international opensource community in making World Wind what it is today. Contributions have involved the following: 1) lead development of add-ons, several of which have been integrated as part of the core system available for direct download via sourceforge, 2) lead provider of high-resolution data sets, 3) lead help desk support through Internet relay chat for end-users and developers, and 4) significant technical contributions to the core system including bug identification, tracking and resolution as well as ideas for new features and source code modifications.},
file = {:res/biblio/papers/4161692 - NASA World Wind_ Opensource GIS for Mission Operations.pdf:PDF},
issn = {1095-323X},
keywords = {geographic information systems;Internet;planetary atmospheres;public domain software;NASA World Wind;Opensource GIS;mission operations;geographic information system;graphical access;celestial objects;Sloan Digital Sky Survey;international opensource community;help desk support;Internet relay chat;bug identification;NASA;Geographic Information Systems;Planets;Satellites;Earth;Moon;Mars;Venus;Jupiter;Internet},
}
@TechReport{Coar2004,
author = {Ken A. L. Coar and David Robinson},
title = {The Common Gateway Interface ({CGI}) Version 1.1},
institution = {{RFC} Editor},
year = {2004},
number = {3875},
pagetotal = {36},
doi = {10.17487/rfc3875},
url = {https://rfc-editor.org/rfc/rfc3875.txt},
abstract = {The Common Gateway Interface (CGI) is a simple interface for running external programs, software or gateways under an information server in a platform-independent manner. Currently, the supported information servers are HTTP servers. The interface has been in use by the World-Wide Web (WWW) since 1993. This specification defines the 'current practice' parameters of the 'CGI/1.1' interface developed and documented at the U.S. National Centre for Supercomputing Applications. This document also defines the use of the CGI/1.1 interface on UNIX(R) and other, similar systems. This memo provides information for the Internet community.},
howpublished = {RFC 3875},
publisher = {{RFC} Editor},
series = {Request for Comments},
}
@InProceedings{Schmidt1995ReactorAO,
author = {Douglas C. Schmidt},
title = {Reactor: An Object Behavioral Pattern for Demultiplexing and Dispatching Handles for Synchronous Events},
year = {1995},
}
@Article{des,
author = {Eduard Babulak and Ming Wang},
title = {Discrete Event Simulation: State of the Art},
journal = {International Journal of Online Engineering (iJOE)},
year = {2010},
volume = {4},
number = {2},
pages = {60--63},
doi = {10.5772/9894},
url = {https://doi.org/10.5772/9894},
booktitle = {Discrete Event Simulations},
publisher = {Sciyo},
}
@Book{des2,
author = {George S Fishman},
title = {Principles of discrete event simulation (Wiley series on systems engineering and analysis)},
year = {1978},
publisher = {John Wiley \& Sons, Inc.},
isbn = {9780471043959},
address = {New York, NY, USA},
}
@InProceedings{des3,
author = {Jerry Banks and John S. Carson},
title = {Introduction to discrete-event simulation},
booktitle = {Proceedings of the 18th conference on Winter simulation - {WSC} {\textquotesingle}86},
year = {1986},
series = {WSC '86},
publisher = {{ACM} Press},
location = {Washington, D.C., USA},
isbn = {9780911801118},
pages = {17--23},
doi = {10.1145/318242.318253},
url = {http://doi.acm.org/10.1145/318242.318253},
acmid = {318253},
address = {New York, NY, USA},
numpages = {7},
}
@Article{gillespie1976,
author = {Daniel T. Gillespie},
title = {A general method for numerically simulating the stochastic time evolution of coupled chemical reactions},
journal = {Journal of Computational Physics},
year = {1976},
volume = {22},
number = {4},
pages = {403--434},
issn = {0021-9991},
doi = {10.1016/0021-9991(76)90041-3},
url = {http://www.sciencedirect.com/science/article/pii/0021999176900413},
abstract = {Abstract An exact method is presented for numerically calculating, within the framework of the stochastic formulation of chemical kinetics, the time evolution of any spatially homogeneous mixture of molecular species which interreact through a specified set of coupled chemical reaction channels. The method is a compact, computer-oriented, Monte Carlo simulation procedure. It should be particularly useful for modeling the transient behavior of well-mixed gas-phase systems in which many molecular species participate in many highly coupled chemical reactions. For “ordinary” chemical systems in which fluctuations and correlations play no significant role, the method stands as an alternative to the traditional procedure of numerically solving the deterministic reaction rate equations. For nonlinear systems near chemical instabilities, where fluctuations and correlations may invalidate the deterministic equations, the method constitutes an efficient way of numerically examining the predictions of the stochastic master equation. Although fully equivalent to the spatially homogeneous master equation, the numerical simulation algorithm presented here is more directly based on a newly defined entity called “the reaction probability density function.” The purpose of this article is to describe the mechanics of the simulation algorithm, and to establish in a rigorous, a priori manner its physical and mathematical validity; numerical applications to specific chemical systems will be presented in subsequent publications.},
publisher = {Elsevier {BV}},
}
@Article{gillespie1977,
author = {Daniel T. Gillespie},
title = {Exact stochastic simulation of coupled chemical reactions},
journal = {The Journal of Physical Chemistry},
year = {1977},
volume = {81},
number = {25},
pages = {2340--2361},
doi = {10.1021/j100540a008},
eprint = {http://dx.doi.org/10.1021/j100540a008},
publisher = {American Chemical Society ({ACS})},
utrl = {http://dx.doi.org/10.1021/j100540a008},
}
@Article{nextReactionMethod,
author = {Michael A. Gibson and Jehoshua Bruck},
title = {Efficient Exact Stochastic Simulation of Chemical Systems with Many Species and Many Channels},
journal = {The Journal of Physical Chemistry A},
year = {2000},
volume = {104},
number = {9},
pages = {1876--1889},
doi = {10.1021/jp993732q},
eprint = {http://dx.doi.org/10.1021/jp993732q},
url = {http://dx.doi.org/10.1021/jp993732q},
publisher = {American Chemical Society ({ACS})},
}
@TechReport{Melnikov2011,
author = {Alexey Melnikov and Ian Fette},
title = {The {WebSocket} Protocol},
institution = {{RFC} Editor},
year = {2011},
number = {6455},
pagetotal = {71},
doi = {10.17487/rfc6455},
url = {https://rfc-editor.org/rfc/rfc6455.txt},
abstract = {The WebSocket Protocol enables two-way communication between a client running untrusted code in a controlled environment to a remote host that has opted-in to communications from that code. The security model used for this is the origin-based security model commonly used by web browsers. The protocol consists of an opening handshake followed by basic message framing, layered over TCP. The goal of this technology is to provide a mechanism for browser-based applications that need two-way communication with servers that does not rely on opening multiple HTTP connections (e.g., using XMLHttpRequest or \textless{}iframe\textgreater{}s and long polling). {[}STANDARDS-TRACK{]}},
howpublished = {RFC 6455},
publisher = {{RFC} Editor},
series = {Request for Comments},
}
@Article{ashton2009internet,
author = {Kevin Ashton},
title = {That ‘Internet of Things’ thing},
journal = {RFID journal},
year = {2009},
volume = {22},
number = {7},
pages = {97--114},
url = {https://www.rfidjournal.com/articles/view?4986},
file = {:res/biblio/papers/ashton2009internet - That ‘internet of Things’ Thing.pdf:PDF},
}
@InProceedings{10.1007/978-3-319-92408-3_1,
author = {Audrito, Giorgio and Beal, Jacob and Damiani, Ferruccio and Viroli, Mirko},
title = {Space-Time Universality of Field Calculus},
booktitle = {Coordination Models and Languages},
year = {2018},
editor = {Di Marzo Serugendo, Giovanna and Loreti, Michele},
publisher = {Springer International Publishing},
isbn = {978-3-319-92408-3},
pages = {1--20},
abstract = {Recent work in the area of coordination models and collective adaptive systems promotes a view of distributed computations as functional blocks manipulating data structures spread over space and evolving over time. In this paper, we address expressiveness issues of such computations, and specifically focus on the field calculus, a prominent emerging language in this context. Based on the classical notion of event structure, we introduce the cone Turing machine as a ground for studying computability issues, and first use it to prove that field calculus is space-time universal. We then observe that, in the most general case, field calculus computations can be rather inefficient in the size of messages exchanged, but this can be remedied by an encoding to nearly similar computations with slower information speed. We capture this concept by a notion of delayed space-time universality, which we prove to hold for the set of message-efficient algorithms expressible by field calculus. As a corollary, it is derived that field calculus can implement with message-size efficiency all self-stabilising distributed algorithms.},
address = {Cham},
}
@Article{DBLP:journals/fgcs/CasadeiFPRSV19,
author = {Roberto Casadei and Giancarlo Fortino and Danilo Pianini and Wilma Russo and Claudio Savaglio and Mirko Viroli},
title = {Modelling and simulation of Opportunistic {IoT} Services with Aggregate Computing},
journal = {Future Generation Computer Systems},
year = {2019},
volume = {91},
month = {feb},
pages = {252--262},
doi = {10.1016/j.future.2018.09.005},
url = {https://doi.org/10.1016/j.future.2018.09.005},
bibsource = {dblp computer science bibliography, https://dblp.org},
biburl = {https://dblp.org/rec/journals/fgcs/CasadeiFPRSV19.bib},
publisher = {Elsevier {BV}},
timestamp = {Wed, 19 Feb 2020 14:15:47 +0100},
}
@Article{tocl,
author = {Giorgio Audrito and Mirko Viroli and Ferruccio Damiani and Danilo Pianini and Jacob Beal},
title = {A Higher-Order Calculus of Computational Fields},
journal = {{ACM} Transactions on Computational Logic},
year = {2019},
volume = {20},
number = {1},
pages = {5:1--5:55},
doi = {10.1145/3285956},
url = {https://doi.org/10.1145/3285956},
bibsource = {dblp computer science bibliography, https://dblp.org},
biburl = {https://dblp.org/rec/journals/tocl/AudritoVDPB19.bib},
file = {:res/biblio/papers/tocl - A Higher Order Calculus of Computational Fields.pdf:PDF},
publisher = {Association for Computing Machinery ({ACM})},
timestamp = {Thu, 09 May 2019 13:10:56 +0200},
}
@InCollection{FieldCalculusFOCLASA2013,
author = {Mirko Viroli and Ferruccio Damiani and Jacob Beal},
title = {A Calculus of Computational Fields},
booktitle = {Advances in Service-Oriented and Cloud Computing},
year = {2013},
editor = {Canal, Carlos and Villari, Massimo},
volume = {393},
series = {Communications in Computer and Information Science},
note = {Pre-proceedings available at: {http://foclasa.lcc.uma.es/documents/foclasa2013-preproceedings.pdf}},
publisher = {Springer Berlin Heidelberg},
location = {Malaga, Spain},
chapter = {10},
pages = {114--128},
doi = {10.1007/978-3-642-45364-9_11},
url = {http://link.springer.com/book/10.1007/978-3-642-45364-9},
abstract = {A number of recent works have investigated the notion of “computational fields” as a means of coordinating systems in distributed, dense and mobile environments such as pervasive computing, sensor networks, and robot swarms. We introduce a minimal core calculus meant to capture the key ingredients of languages that make use of computational fields: functional composition of fields, functions over fields, evolution of fields over time, construction of fields of values from neighbours, and restriction of a field computation to a sub-region of the network. This calculus can act as a core for actual implementation of coordination languages and models, as well as pave the way towards formal analysis of properties concerning expressiveness, self-stabilisation, topology independence, and relationships with the continuous space-time semantics of spatial computations.},
address = {Berlin, Germany},
file = {:res/biblio/papers/FieldCalculusFOCLASA2013 - A Calculus of Computational Fields.pdf:PDF},
isbn-online = {978-3-642-45363-2},
keywords = {Spatial Computing, Self-Organising Coordination, Core Calculus},
status = {Published},
url-pdf = {http://link.springer.com/content/pdf/10.1007%2F978-3-642-45364-9_11.pdf},
venue_list = {--},
}
@InCollection{Anderson2012,
author = {Anderson, Chris},
title = {The Model-View-{ViewModel} ({MVVM}) Design Pattern},
booktitle = {Pro Business Applications with Silverlight 5},
year = {2012},
date = {2012-06-08},
publisher = {Springer-Verlag GmbH},
isbn = {9781430235019},
pages = {461--499},
doi = {10.1007/978-1-4302-3501-9_13},
url = {https://doi.org/10.1007/978-1-4302-3501-9_13},
abstract = {Few topics surrounding Silverlight are so widely discussed as the Model-View-ViewModel (MVVM) design pattern. This pattern is used by many Silverlight, Windows Phone 7, and WPF developers, and even JavaScript libraries are starting to appear that enable HTML applications to make use of the pattern. The blogosphere is overflowing with posts on this topic, with so many differing and varied opinions on how it should be implemented that you might become a little overwhelmed. Adding to this confusion is the fact that the project templates in Visual Studio do not facilitate using the MVVM design pattern out of the box, and with no information on the amount of prerequisite Silverlight knowledge required to implement it effectively, many developers new to Silverlight shun the pattern until they become more experienced in the technology. However, there is general agreement in the development community that, regardless of how you implement the pattern, doing so is good practice. Developers who implement this pattern invariably say that their code is much better for it.},
address = {Berkeley, CA},
}
@InProceedings{DBLP:conf/ijcai/HewittBS73,
author = {Carl Hewitt and Peter Boehler Bishop and Richard Steiger},
title = {A Universal Modular {ACTOR} Formalism for Artificial Intelligence},
booktitle = {Proceedings of the 3rd International Joint Conference on Artificial Intelligence. Standford, CA, USA, August 20-23, 1973},
year = {1973},
editor = {Nils J. Nilsson},
publisher = {William Kaufmann},
pages = {235--245},
url = {http://ijcai.org/Proceedings/73/Papers/027B.pdf},
bibsource = {dblp computer science bibliography, https://dblp.org},
biburl = {https://dblp.org/rec/conf/ijcai/HewittBS73.bib},
timestamp = {Tue, 20 Aug 2019 16:17:37 +0200},
}
@InProceedings{7789463,
author = {Jacob Beal and Kyle Usbeck and Joseph Loyall and Mason Rowe and James Metzler},
title = {Adaptive Task Reallocation for Airborne Sensor Sharing},
booktitle = {2016 {IEEE} 1st International Workshops on Foundations and Applications of Self{\ast} Systems ({FAS}{\ast}W)},
year = {2016},
publisher = {{IEEE}},
pages = {168-173},
doi = {10.1109/fas-w.2016.46},
abstract = {Airborne sensor platforms are becoming increasingly significant for both civilian and military operations, yet at present their sensors are typically idle for much of their flight time. Opportunistic sensor sharing, e.g., via the Mission-Driven Tasking of Information Producers (MTIP) can greatly improve sensor utilization, both decreasing the number of platforms needed to achieve a goal and increasing sensor efficacy. Dynamically changing environments, however, are likely to rapidly render any initial plan obsolete. In this paper, we address the challenge of adaptive reallocation of sensor sharing tasks, demonstrating how the adaptable sensor sharing of MTIP can provide significant performance improvements in a large-scale disaster response scenario, as well as identifying areas of inefficiency that are likely to benefit from further improvement.},
issn = {null},
keywords = {computerised instrumentation;self-organising feature maps;sensors;adaptive task reallocation;airborne sensor sharing;sensor sharing tasks;adaptable sensor sharing;MTIP;large-scale disaster response scenario;Resource management;Organizations;Data mining;Military aircraft;Monitoring;Sensors;User interfaces;sensor sharing;airborne sensors;replanning},
}
@InProceedings{7536289,
author = {Jacob Beal and Kyle Usbeck and Joseph Loyall and James Metzler},
title = {Opportunistic Sharing of Airborne Sensors},
booktitle = {2016 International Conference on Distributed Computing in Sensor Systems ({DCOSS})},
year = {2016},
publisher = {{IEEE}},
pages = {25-32},
doi = {10.1109/dcoss.2016.43},
abstract = {Airborne sensors are often idle for much of their flight, e.g., while the platform carrying them is in transit to and from the locations of sensor tasks. The sensing needs of many other potential information consumers might thus be served by sharing such sensors, allowing other information consumers to opportunistically task them during their otherwise unscheduled time. Toward this end, we have developed Mission-Driven Tasking of Information Producers (MTIP), a prototype system for opportunistic sharing of airborne sensors. This paper describes its implementation as an agent-based task allocation system on top of the Marti Quality of Service (QoS)-managed publish-subscribe information management system, and presents simulations of a disaster response scenario demonstrating how MTIP can increase the number of sensor tasks served as well as reducing the number of UAVs required to serve a given set of sensor tasks.},
issn = {2325-2944},
keywords = {geographic information systems;quality of service;remote sensing by radar;airborne sensors;agent-based task allocation system;quality of service;information management system;Mission-Driven Tasking of Information Producers;Resource management;Organizations;Sensors;Information management;Semantics;Quality of service;Publish-subscribe},
}
@Article{Berners_Lee_2010,
author = {Tim Berners-Lee and Robert Cailliau and Jean-Fran{\c{c}}ois Groff and Bernd Pollermann},
title = {World-wide web: the information universe},
journal = {Internet Research},
year = {2010},
volume = {20},
number = {4},
pages = {461--471},
doi = {10.1108/10662241011059471},
publisher = {Emerald},
}
@Article{10.1145/3022671.2984017,
author = {Satish Chandra and Colin S. Gordon and Jean-Baptiste Jeannin and Cole Schlesinger and Manu Sridharan and Frank Tip and Youngil Choi},
title = {Type inference for static compilation of {JavaScript}},
journal = {{ACM} {SIGPLAN} Notices},
year = {2016},
volume = {51},
number = {10},
pages = {410--429},
issn = {0362-1340},
doi = {10.1145/3022671.2984017},
url = {https://doi.org/10.1145/3022671.2984017},
address = {New York, NY, USA},
file = {:res/biblio/papers/10.1145_3022671.2984017 - Type Inference for Static Compilation of JavaScript.pdf:PDF},
issue_date = {December 2016},
keywords = {JavaScript, object-oriented type systems, type inference},
numpages = {20},
publisher = {Association for Computing Machinery ({ACM})},
}
@InProceedings{10.1145/2093328.2093330,
author = {Tom Van Cutsem and Mark S. Miller},
title = {Traits.Js: Robust Object Composition and High-Integrity Objects for Ecmascript 5},
booktitle = {Proceedings of the 1st {ACM} {SIGPLAN} international workshop on Programming language and systems technologies for internet clients - {PLASTIC} {\textquotesingle}11},
year = {2011},
series = {PLASTIC ’11},
publisher = {{ACM} Press},
location = {Portland, Oregon, USA},
isbn = {9781450311717},
pages = {1–8},
doi = {10.1145/2093328.2093330},
url = {https://doi.org/10.1145/2093328.2093330},
address = {New York, NY, USA},
keywords = {javascript, traits},
numpages = {8},
}
@Comment{jabref-meta: databaseType:biblatex;}