Repository navigation
Expand file tree
/
Copy paththesis.bib
More file actions
4441 lines (3863 loc) · 324 KB
/
Copy paththesis.bib
File metadata and controls
4441 lines (3863 loc) · 324 KB
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
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
% This file was created with JabRef 2.10.
% Encoding: UTF8
@InProceedings{DBLP:journals/corr/LeinoW14,
Title = {The {Dafny} Integrated Development Environment},
Author = {K. Rustan M. Leino and
Valentin W{\"{u}}stholz},
Booktitle = {Proceedings 1st Workshop on Formal Integrated Development Environment,
{F-IDE} 2014, Grenoble, France, April 6, 2014.},
Year = {2014},
Pages = {3--15},
Bibsource = {dblp computer science bibliography, http://dblp.org},
Biburl = {http://dblp.uni-trier.de/rec/bib/journals/corr/LeinoW14},
Crossref = {DBLP:journals/corr/DuboisGM14},
Doi = {10.4204/EPTCS.149.2},
File = {:Users/hisham/ac/dr/reading/pdf/The_Dafny_Integrated_Development_Environment.pdf:PDF},
Owner = {hisham},
Review = {Integration of Z3-based verifier for the Dafny language into Visual Studio.
UI shows progress of verifier to give user feedback.
Challenges are in making the process interactive given that verification is computationally expensive.},
Timestamp = {2014-05-02},
Url = {http://dx.doi.org/10.4204/EPTCS.149.2}
}
@Book{Abelson:1996:SIC:547755,
Title = {Structure and Interpretation of Computer Programs},
Author = {Abelson, Harold and Sussman, Gerald Jay and Sussman, Julie},
ISBN = {0262011530},
Publisher = {MIT Press},
Year = {1996},
Address = {Cambridge, MA, USA},
Edition = {2nd},
Owner = {hisham},
Timestamp = {2016-01-25},
Url = {https://mitpress.mit.edu/sicp/full-text/book/book.html}
}
@InProceedings{Abraham:2006:TIS:1140335.1140346,
Title = {Type Inference for Spreadsheets},
Author = {Abraham, Robin and Erwig, Martin},
Booktitle = {Proceedings of the 8th ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming},
Year = {2006},
Address = {New York, NY, USA},
Pages = {73--84},
Publisher = {ACM},
Series = {PPDP '06},
Abstract = {Spreadsheets are the most popular programming systems in use today. Since spreadsheets are visual, first-order functional languages, research into the foundations of spreadsheets is therefore a highly relevant topic for the principles and, in particular, the practice, of declarative programming.Since the error rate in spreadsheets is very high and since those errors have significant impact, methods and tools that can help detect and remove errors from spreadsheets are very much needed. Type systems have traditionally played a strong role in detecting errors in programming languages, and it is therefore reasonable to ask whether type systems could not be helpful in improving the current situation of spreadsheet programming.In this paper we introduce a type system and a type inference algorithm for spreadsheets and demonstrate how this algorithm and the underlying typing concept can identify programming errors in spreadsheets. In addition, we also demonstrate how the type inference algorithm can be employed to infer models, or specifications, for spreadsheets, which can be used to prevent future errors in spreadsheets.},
Acmid = {1140346},
Doi = {10.1145/1140335.1140346},
File = {:Users/hisham/ac/dr/reading/pdf/Type_Inference_for_Spreadsheets.pdf:PDF},
ISBN = {1-59593-388-3},
Keywords = {end-user software engineering, templates, type inference},
Location = {Venice, Italy},
Numpages = {12},
Owner = {hisham},
Review = {Includes static semantics for Spreadsheets.},
Timestamp = {2015-11-25},
Url = {http://doi.acm.org/10.1145/1140335.1140346}
}
@InProceedings{Acher2014Metamorphic,
Title = {Metamorphic Domain-Specific Languages - A Journey Into the Shapes of a Language},
Author = {Acher, Mathieu and Combemale, Benoit and Collet, Philippe},
Booktitle = {Proceedings of the 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming \&\#38; Software},
Year = {2014},
Address = {New York, NY, USA},
Pages = {243--254},
Publisher = {ACM},
Series = {Onward! '14},
Abstract = {External or internal domain-specific languages (DSLs) or (fluent) APIs? Whoever you are – a developer or a user of a DSL – you usually have to choose side; you should not! What about metamorphic DSLs that change their shape according to your needs? Our 4-years journey of providing the "right" support (in the domain of feature modeling), led us to develop an external DSL, different shapes of an internal API, and maintain all these languages. A key insight is that there is no one-size-fits-all solution or no clear superiority of a solution compared to another. On the contrary, we found that it does make sense to continue the maintenance of an external and internal DSL. Based on our experience and on an analysis of the DSL engineering field, the vision that we foresee for the future of software languages is their ability to be self-adaptable to the most appropriate shape (including the corresponding integrated development environment) according to a particular usage or task. We call metamorphic DSL such a language, able to change from one shape to another shape.},
Location = {Portland, Oregon, USA},
Owner = {hisham},
Review = {Advocates the design of DSLs that allow the same language to be used with different syntactic frontends for different purposes.
Explores the difference between external DSLs, internal DSLs and fluent APIs.
Ideally, one could be able to move from one "shape" of the language to another
(which is particularly difficult with internal DSLs and fluent APIs, due to being inserted
in (or actually being) another language's code).},
Timestamp = {2014-12-16}
}
@Manual{vee93userguide,
Title = {{VEE 9.3 User's Guide}},
Author = {{Agilent Technologies}},
Year = {2011},
Owner = {hisham},
Timestamp = {2017-01-12}
}
@InBook{Ahmad2003TypeSystemSpreadsheet,
Title = {A type system for statically detecting spreadsheet errors},
Author = {Y. Ahmad and T. Antoniu and S. Goldwater and S. Krishnamurthi},
Pages = {174--183},
Year = {2003},
Month = {10},
Abstract = {We describe a methodology for detecting user errors in spreadsheets, using the notion of units as our basic elements of checking. We define the concept of a header and discuss two types of relationships between headers, namely is-a and has-a relationships. With these, we develop a set of rules to assign units to cells in the spreadsheet. We check for errors by ensuring that every cell has a well-formed unit. We describe an implementation of the system that allows the user to check Microsoft Excel spreadsheets. We have run our system on practical examples, and even found errors in published spreadsheets.},
Booktitle = {Automated Software Engineering, 2003. Proceedings. 18th IEEE International Conference on},
Doi = {10.1109/ASE.2003.1240305},
ISBN = {0-7695-2035-9},
Owner = {hisham},
Review = {infers types of columns based on headers
has found an error in a spreadsheet presented in a book containing examples of spreadsheets in science and engineering},
Timestamp = {2016-01-18}
}
@InProceedings{AivaloglouXLGrammar2015,
Title = {A grammar for spreadsheet formulas evaluated on two large datasets},
Author = {E. Aivaloglou and D. Hoepelman and F. Hermans},
Booktitle = {Source Code Analysis and Manipulation (SCAM), 2015 IEEE 15th International Working Conference on},
Year = {2015},
Month = {Sept},
Pages = {121-130},
Abstract = {Spreadsheets are ubiquitous in the industrial world and often perform a role similar to other computer programs, which makes them interesting research targets. However, there does not exist a reliable grammar that is concise enough to facilitate formula parsing and analysis and to support research on spreadsheet codebases. This paper presents a grammar for spreadsheet formulas that is compatible with the spreadsheet formula language, is compact enough to feasibly implement with a parser generator, and produces parse trees aimed at further manipulation and analysis. We evaluate the grammar against more than one million unique formulas extracted from the well known EUSES and Enron spreadsheet datasets, successfully parsing 99.99%. Additionally, we utilize the grammar to analyze these datasets and measure the frequency of usage of language features in spreadsheet formulas. Finally, we identify smelly constructs and uncommon cases in the syntax of formulas.},
Doi = {10.1109/SCAM.2015.7335408},
Keywords = {context-free grammars;spreadsheet programs;EUSES;computer program;context-free grammars;parser generator;spreadsheet formula language;Arrays;Generators;Grammar;Indexes;Production;Spreadsheet programs;Syntactics},
Owner = {hisham},
Timestamp = {2016-07-01}
}
@InBook{Arvedsen2015,
Title = {Nordic Contributions in IS Research: 6th Scandinavian Conference on Information Systems, SCIS 2015, Oulu, Finland, August 9-12, 2015, Proceedings},
Author = {Arvedsen, Mikkel
and Langergaard, Jonas
and Vollstedt, Jens
and Obwegeser, Nikolaus},
Chapter = {Chances and Limits of End-User Development: A Conceptual Model},
Editor = {Oinas-Kukkonen, Harri
and Iivari, Netta
and Kuutti, Kari
and {\"O}{\"o}rni, Anssi
and Rajanen, Mikko},
Pages = {208--219},
Publisher = {Springer International Publishing},
Year = {2015},
Address = {Cham},
__markedentry = {[hisham:1]},
Abstract = {Information systems development has seen many trends and hypes on the way from unstructured, unplanned scripting-like software development, via early methods like the waterfall model, heavy plan-based methods like the RUP to finally arrive at today’s state-of-the-art agile methods like SCRUM. This paper looks at what seems to be a recent trend in (agile) software development: End-User Development (EUD). EUD can be seen both as the logical next step to intensified user integration as proposed in many agile methods as well as a radically new approach to not only interact with but rather empower end-users to (partially) design and create themselves. As in many emerging research areas, EUD lacks clear definitions, concepts and a common understanding of its prospects and limits to both researchers and practitioners. Consequently, this paper aims to address these shortfalls and highlights implications for practice by building a conceptual model of EUD application.},
Doi = {10.1007/978-3-319-21783-3_15},
ISBN = {978-3-319-21783-3},
Owner = {hisham},
Timestamp = {2016-02-04},
Url = {http://dx.doi.org/10.1007/978-3-319-21783-3_15}
}
@InProceedings{Arvind:1977:IMD:800214.806559,
Title = {Indeterminacy, Monitors, and Dataflow},
Author = {Arvind and Gostelow, Kim P. and Plouffe, Wil},
Booktitle = {Proceedings of the Sixth ACM Symposium on Operating Systems Principles},
Year = {1977},
Address = {New York, NY, USA},
Pages = {159--169},
Publisher = {ACM},
Series = {SOSP '77},
__markedentry = {[hisham:1]},
Abstract = {The work described in this paper began with a desire to include some linguistic concept of a resource manager within a dataflow language we have been designing [AGP76]. In doing so, we discovered that dataflow monitors (resource managers) provide a natural way of thinking about resources and especially their scheduling. Dataflow semantics are based upon a program composed of asynchronous operators interconnected by lines along which data tokens (messages) flow, such that when all of the input tokens for a given operator have arrived then that operator may fire (execute) by absorbing the input tokens, computing, and producing an output token as its result. These operations closely match one's intuitive model of resource managers (operators) passing signals (tokens) to one another for the purpose of synchronizing and scheduling resource usage. Previously though, dataflow languages [D73, K73, W75] have dealt only with the expression of highly asynchronous yet determinate computations; however, resource management characteristically involves indeterminate computation. The introduction here of dataflow monitors and an explicit nondeterministic merge operator for dataflow streams makes dataflow very well suited for expressing interprocess communication and operations on resources.},
Acmid = {806559},
Doi = {10.1145/800214.806559},
File = {:Users/hisham/ac/dr/reading/pdf/Indeterminacy__Monitors__and_Dataflow.pdf:PDF},
Location = {West Lafayette, Indiana, USA},
Numpages = {11},
Owner = {hisham},
Timestamp = {2016-01-21},
Url = {http://doi.acm.org/10.1145/800214.806559}
}
@Article{Ashcroft:1977:LNL:359636.359715,
Title = {Lucid, a Nonprocedural Language with Iteration},
Author = {Ashcroft, E. A. and Wadge, W. W.},
Journal = {Commun. ACM},
Year = {1977},
Month = {jul},
Number = {7},
Pages = {519--526},
Volume = {20},
Abstract = {Lucid is a formal system in which programs can be written and proofs of programs carried out. The proofs are particularly easy to follow and straightforward to produce because the statements in a Lucid program are simply axioms from which the proof proceeds by (almost) conventional logical reasoning, with the help of a few axioms and rules of inference for the special Lucid functions. As a programming language, Lucid is unconventional because, among other things, the order of statements is irrelevant and assignment statements are equations. Nevertheless, Lucid programs need not look much different than iterative programs in a conventional structured programming language using assignment and conditional statements and loops.},
Acmid = {359715},
Address = {New York, NY, USA},
Doi = {10.1145/359636.359715},
File = {:Users/hisham/ac/dr/reading/pdf/Lucid__a_Nonprocedural_Language_with_Iteration.pdf:PDF},
ISSN = {0001-0782},
Issue_date = {July 1977},
Keywords = {formal systems, iteration, program proving, semantics, structured programming},
Numpages = {8},
Owner = {hisham},
Publisher = {ACM},
Timestamp = {2016-01-11},
Url = {http://doi.acm.org/10.1145/359636.359715}
}
@Misc{ATTUnixFilm1982,
Title = {{UNIX}: Making Computers Easier To Use},
Author = {{AT\&T}},
HowPublished = {AT\&T Archives Film},
Year = {1982},
Keywords = {UNIX, film},
Owner = {hisham},
Review = {Source of this quote
“What we wanted to preserve was not just a good programming environment in which to do programming, but a system around which a community could form, a fellowship. We knew from experience that the essence of communal computing, as supplied by remote-access time-sharing systems, is not just to type programs into a terminal instead of a key-punch, but to encourage close communication.” — Dennis Ritchie, 1982.},
Timestamp = {2015-03-08},
Url = {https://www.youtube.com/watch?v=XvDZLjaCJuw}
}
@Article{Avron1994,
Title = {Stability, Sequentiality and Demand Driven Evaluation in Dataflow},
Author = {Avron, Arnon
and Sasson, Nada},
Journal = {Formal Aspects of Computing},
Year = {1994},
Number = {6},
Pages = {620--642},
Volume = {6},
Abstract = {We show that a given dataflow language l has the property that for any program P and any demand for outputs D (which can be satisfied) there exists a least partial computation of P which satisfies D, iff all the operators of l are stable. This minimal computation is the demand-driven evaluation of P. We also argue that in order to actually implement this mode of evaluation, the operators of l should be further restricted to be effectively sequential ones.},
Doi = {10.1007/BF03259389},
File = {:Users/hisham/ac/dr/reading/pdf/Stability_Sequentiality_and_Demand_Driven_Evaluation_in_Dataflow.pdf:PDF},
ISSN = {1433-299X},
Owner = {hisham},
Review = {discussion of demand-driven dataflow for stream (Lustre-style) languages},
Timestamp = {2017-01-12},
Url = {http://dx.doi.org/10.1007/BF03259389}
}
@Article{Badros:2001:CLA:504704.504705,
Title = {The Cassowary Linear Arithmetic Constraint Solving Algorithm},
Author = {Badros, Greg J. and Borning, Alan and Stuckey, Peter J.},
Journal = {ACM Trans. Comput.-Hum. Interact.},
Year = {2001},
Month = {dec},
Number = {4},
Pages = {267--306},
Volume = {8},
__markedentry = {[hisham:1]},
Abstract = {Linear equality and inequality constraints arise naturally in specifying many aspects of user interfaces, such as requiring that one window be to the left of another, requiring that a pane occupy the leftmost third of a window, or preferring that an object be contained within a rectangle if possible. Previous constraint solvers designed for user interface applications cannot handle simultaneous linear equations and inequalities efficiently. This is a major limitation, as such systems of constraints arise often in natural declarative specifications. We describe Cassowary---an incremental algorithm based on the dual simplex method, which can solve such systems of constraints efficiently. We have implemented the algorithm as part of a constraint-solving toolkit. We discuss the implementation of the toolkit, its application programming interface, and its performance.},
Acmid = {504705},
Address = {New York, NY, USA},
Doi = {10.1145/504704.504705},
File = {:Users/hisham/ac/dr/reading/pdf/Cassowary.pdf:PDF},
ISSN = {1073-0516},
Issue_date = {December 2001},
Keywords = {Cassowary, constraint-solving toolkit, constraints, user interface},
Numpages = {40},
Owner = {hisham},
Publisher = {ACM},
Timestamp = {2016-01-25},
Url = {http://doi.acm.org/10.1145/504704.504705}
}
@Article{Barkati:2013:SPA:2543581.2543591,
Title = {Synchronous Programming in Audio Processing: A Lookup Table Oscillator Case Study},
Author = {Barkati, Karim and Jouvelot, Pierre},
Journal = {ACM Comput. Surv.},
Year = {2013},
Month = {dec},
Number = {2},
Pages = {24:1--24:35},
Volume = {46},
Abstract = {The adequacy of a programming language to a given software project or application domain is often considered a key factor of success in software development and engineering, even though little theoretical or practical information is readily available to help make an informed decision. In this article, we address a particular version of this issue by comparing the adequacy of general-purpose synchronous programming languages to more Domain-Specific Languages (DSLs) in the field of computer music. More precisely, we implemented and tested the same lookup table oscillator example program, one of the most classical algorithms for sound synthesis, using a selection of significant synchronous programming languages, half of which designed as specific music languages—Csound, Pure Data, SuperCollider, ChucK, Faust—and the other half being general synchronous formalisms—Signal, Lustre, Esterel, Lucid Synchrone and C with the OpenMP Stream Extension (Matlab/Octave is used for the initial specification). The advantages of these two approaches are discussed, providing insights to language designers and possibly software developers of both communities regarding programming languages design for the audio domain.},
Acmid = {2543591},
Address = {New York, NY, USA},
Articleno = {24},
Doi = {10.1145/2543581.2543591},
File = {:Users/hisham/ac/dr/reading/pdf/Synchronous_Programming_in_Audio_Processing__A_Lookup_Table_Oscillator_Case_Study.pdf:PDF},
ISSN = {0360-0300},
Issue_date = {November 2013},
Keywords = {Synchronous programming languages, computer music, music programming languages, signal processing, timing},
Numpages = {35},
Owner = {hisham},
Publisher = {ACM},
Review = {researchers from the Faust group compare writing the same wavetable oscillator in 10 languages (5 for music, 5 are general-purpose synchronous languages).},
Timestamp = {2015-10-06},
Url = {http://doi.acm.org/10.1145/2543581.2543591}
}
@Article{ee1999labview_vs_vee,
Title = {Evaluation of {LabVIEW} 5.0 and {HP VEE} 5.0 - {Part} 2},
Author = {Ed Baroth and Chris Hartsough and Amy Holst and George Wells},
Journal = {EE, Evaluation Engineering},
Year = {1999},
Month = {may},
Number = {5},
Pages = {5},
Volume = {38},
Abstract = {The features and shortcomings of LabVIEW version 5.0 and Hewlett-Packard's Visual Engineering Environment (VEE) version 5.0 graphical programming languages are discussed. LabVIEW 5.0 and HP VEE 5.0 have both data acquisition, analysis and operations display, and Active X and web processing. They both use graphical programming, but they do it differently, and can offer productivity improvements of up to 10 times conventional programming. For use with PC-based interface cards, the industry seems to have selected LabVIEW over HP VEE, primarily because LabVIEW permits the control of cards effectively. The focus of HP VEE has been and remains on controlling fully capable instruments that connect to computers using GPIB or RS-232.},
Owner = {hisham},
Review = {comparison between LabVIEW and VEE. Says that "LabVIEW follows the data-flow paradigm of programming rigorously. HP VEE is loosely based on data-flow diagrams with a large measure of flow-charting sprinkled with a little decision table. "},
Timestamp = {2017-01-12}
}
@InProceedings{Barowy:2014:CDD:2660193.2660207,
Title = {CheckCell: Data Debugging for Spreadsheets},
Author = {Barowy, Daniel W. and Gochev, Dimitar and Berger, Emery D.},
Booktitle = {Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages \& Applications},
Year = {2014},
Address = {New York, NY, USA},
Pages = {507--523},
Publisher = {ACM},
Series = {OOPSLA '14},
Acmid = {2660207},
Doi = {10.1145/2660193.2660207},
File = {:Users/hisham/ac/dr/reading/pdf/CheckCell__Data_Debugging_for_Spreadsheets.pdf:PDF},
ISBN = {978-1-4503-2585-1},
Keywords = {data-debugging, debugging, errors, inputs, spreadsheets},
Location = {Portland, Oregon, USA},
Numpages = {17},
Owner = {hisham},
Review = {Top ten functions used in corpus of spreadsheets includes OFFSET and INDEX, which can calculate references to other cells.},
Timestamp = {2016-01-16},
Url = {http://doi.acm.org/10.1145/2660193.2660207}
}
@InProceedings{Beaudouin-Lafon:1988:ISM:62453.62492,
Title = {Iconic Shells for Multitasking Workstations},
Author = {Beaudouin-Lafon, Michel and Karsenty, Solange},
Booktitle = {Proceedings of the 1988 ACM SIGSMALL/PC Symposium on ACTES},
Year = {1988},
Address = {New York, NY, USA},
Pages = {187--196},
Publisher = {ACM},
Series = {SIGSMALL '88},
Abstract = {Today's workstations running a multitasking operating system provide high level graphics toward user friendly interfaces. Microcomputers, on their side, implement graphic interfaces on monotasking operating systems. There are two differences between these machines: the operating system and the user interface to this operating system (the shell). Workstations still use standard shells (textual commands) but through a sophisticated graphic environment as a window manager, while microcomputers have their own graphic shell running on monotasking operating system. In this paper we examine the features of both systems and then we present an iconic shell developed for Unix workstations. This shell differs from existing shells because the interaction language is based on graphic manipulations, and is integrated in a multitasking environment.},
Acmid = {62492},
Doi = {10.1145/62453.62492},
File = {:Users/hisham/ac/dr/reading/pdf/Iconic_Shells_for_Multitasking_Workstations.pdf:PDF},
ISBN = {0-89791-255-1},
Location = {Cannes, France},
Numpages = {10},
Owner = {hisham},
Review = {An old paper where a file manager environment is called an "iconic shell".},
Timestamp = {2015-04-14},
Url = {http://doi.acm.org/10.1145/62453.62492}
}
@InProceedings{1372307,
Title = {Gender: An Important Factor in End-User Programming Environments?},
Author = {L. Beckwith and M. Burnett},
Booktitle = {2004 IEEE Symposium on Visual Languages - Human Centric Computing},
Year = {2004},
Month = {Sept},
Pages = {107-114},
Abstract = {A human-centric issue that has not been considered in the design of end-user programming environments is whether gender differences exist that are important to the design of these environments. Ignoring this issue would miss the opportunity of enhancing the effectiveness of end-user programmers by incorporating appropriate mechanisms to support gender-associated differences in decision making, learning, and problem solving. This paper takes a first step toward building a foundation for investigating this issue by surveying gender difference literature from five domains with an eye toward possible implications for end-user programming. We present a taxonomy of this literature, and derive a number of specific issues for each element of the taxonomy (stated as hypotheses). This foundation provides a starting point for organized investigations into issues that may be important for making breakthroughs in the effectiveness of end-user programmers},
Doi = {10.1109/VLHCC.2004.28},
File = {:Users/hisham/ac/dr/reading/pdf/Gender An Important Factor in End-User Programming Environments.pdf:PDF},
Keywords = {decision making;gender issues;personal computing;programming environments;decision making;end-user programming environments;gender differences;human-centric issue;learning;problem solving;Buildings;Computer science;Computer science education;Decision making;Human computer interaction;Problem-solving;Programming environments;Programming profession;Software design;Taxonomy},
Owner = {hisham},
Timestamp = {2017-03-19}
}
@Article{Bentley:1986:little,
Title = {Programming Pearls: Little Languages},
Author = {Bentley, Jon},
Journal = {Commun. ACM},
Year = {1986},
Month = {aug},
Number = {8},
Pages = {711--721},
Volume = {29},
Acmid = {315691},
Address = {New York, NY, USA},
Doi = {10.1145/6424.315691},
File = {:Users/hisham/ac/dr/reading/pdf/Programming_Pearls__Little_Languages.pdf:PDF},
ISSN = {0001-0782},
Issue_date = {Aug. 1986},
Numpages = {11},
Owner = {hisham},
Publisher = {ACM},
Timestamp = {2015-05-14},
Url = {http://doi.acm.org/10.1145/6424.315691}
}
@Article{Bentley:1986:PPL:5948.315654,
Title = {Programming Pearls: A Literate Program},
Author = {Bentley, Jon and Knuth, Don and McIlroy, Doug},
Journal = {Commun. ACM},
Year = {1986},
Month = {jun},
Number = {6},
Pages = {471--483},
Volume = {29},
Acmid = {315654},
Address = {New York, NY, USA},
Doi = {10.1145/5948.315654},
File = {:Users/hisham/ac/dr/reading/pdf/Programming_Pearls__A_Literate_Program.pdf:PDF},
ISSN = {0001-0782},
Issue_date = {June 1986},
Numpages = {13},
Owner = {hisham},
Publisher = {ACM},
Timestamp = {2014-12-17},
Url = {http://doi.acm.org/10.1145/5948.315654}
}
@InProceedings{Beuvens:2012:DGU:2379057.2379116,
Title = {Designing Graphical User Interfaces Integrating Gestures},
Author = {Beuvens, Fran\c{c}ois and Vanderdonckt, Jean},
Booktitle = {Proceedings of the 30th ACM International Conference on Design of Communication},
Year = {2012},
Address = {New York, NY, USA},
Pages = {313--322},
Publisher = {ACM},
Series = {SIGDOC '12},
__markedentry = {[hisham:1]},
Acmid = {2379116},
Doi = {10.1145/2379057.2379116},
File = {:Users/hisham/ac/dr/reading/pdf/Designing_Graphical_User_Interfaces_Integrating_Gestures.pdf:PDF},
ISBN = {978-1-4503-1497-8},
Keywords = {method engineering, model-driven architecture, pen-based gesture, sketch, user interface},
Location = {Seattle, Washington, USA},
Numpages = {10},
Owner = {hisham},
Timestamp = {2015-05-18},
Url = {http://doi.acm.org/10.1145/2379057.2379116}
}
@Article{Bhattacharya:2001:PDM:2197975.2202339,
Title = {Parameterized Dataflow Modeling for DSP Systems},
Author = {Bhattacharya, B. and Bhattacharyya, S.S.},
Journal = {Trans. Sig. Proc.},
Year = {2001},
Month = oct,
Number = {10},
Pages = {2408--2421},
Volume = {49},
Abstract = {Dataflow has proven to be an attractive computation model for programming digital signal processing (DSP) applications. A restricted version of dataflow, termed synchronous dataflow (SDF), that offers strong compile-time predictability properties, but has limited expressive power, has been studied extensively in the DSP context. Many extensions to synchronous dataflow have been proposed to increase its expressivity while maintaining its compile-time predictability properties as much as possible. We proposed a parameterized dataflow framework that can be applied as a meta-modeling technique to significantly improve the expressive power of any dataflow model that possesses a well-defined concept of a graph iteration, Indeed, the parameterized dataflow framework is compatible with many of the existing dataflow models for DSP including SDF, cyclo-static dataflow, scalable synchronous dataflow, and Boolean dataflow. In this paper, we develop precise, formal semantics for parameterized synchronous dataflow (PSDF)-the application of our parameterized modeling framework to SDF-that allows data-dependent, dynamic DSP systems to be modeled in a natural and intuitive fashion. Through our development of PSDF, we demonstrate that desirable properties of a DSP modeling environment such as dynamic reconfigurability and design reuse emerge as inherent characteristics of our parameterized framework. An example of a speech compression application is used to illustrate the efficacy of the PSDF approach and its amenability to efficient software synthesis techniques. In addition, we illustrate the generality of our parameterized framework by discussing its application to cyclo-static dataflow, which is a popular alternative to the SDF model},
Acmid = {2202339},
Address = {Piscataway, NJ, USA},
Doi = {10.1109/78.950795},
ISSN = {1053-587X},
Issue_date = {October 2001},
Numpages = {14},
Owner = {hisham},
Publisher = {IEEE Press},
Timestamp = {2017-03-12},
Url = {http://dx.doi.org/10.1109/78.950795}
}
@InProceedings{Bilsen1995cyclo,
Title = {Cyclo-static data flow},
Author = {G. Bilsen and M. Engels and R. Lauwereins and J. A. Peperstraete},
Booktitle = {1995 International Conference on Acoustics, Speech, and Signal Processing},
Year = {1995},
Month = {May},
Pages = {3255-3258 vol.5},
Volume = {5},
__markedentry = {[hisham:1]},
Abstract = {The high sample-rates involved in many DSP-applications, require the use of static schedulers wherever possible. The construction of static schedules however is classically limited to applications that fit in the synchronous data flow model. In this paper we present cyclo-static data flow as a model to describe applications with a cyclically changing behaviour. We give both a necessary and sufficient condition for the existence of a static schedule for a cyclo-static data flow graph and show how such a schedule can be constructed. The example of a video encoder is used to illustrate the importance of cyclo-static data flow for real-life DSP-systems},
Doi = {10.1109/ICASSP.1995.479579},
File = {:Users/hisham/ac/dr/reading/pdf/Cyclo-static dataflow.pdf:PDF},
ISSN = {1520-6149},
Keywords = {data flow graphs;processor scheduling;signal sampling;video coding;video equipment;DSP systems;DSP-applications;cyclically changing behaviour;cyclo-static data flow graph;high sample-rates;necessary condition;static schedule;static schedulers;sufficient condition;synchronous data flow model;video encoder;Costs;Digital signal processing;Dynamic scheduling;Emulation;Flow graphs;Hardware;Processor scheduling;Prototypes;Runtime;Sufficient conditions},
Owner = {hisham},
Timestamp = {2017-03-12}
}
@InProceedings{Blackwell1999,
Title = {Investment of attention as an analytic approach to cognitive dimensions},
Author = {Blackwell, Alan F and Green, Thomas RG},
Booktitle = {Collected Papers of the 11th Annual Workshop of the Psychology of Programming Interest Group (PPIG-11)},
Year = {1999},
Pages = {24--35},
Keywords = {HCI, Cognition, Cognitive Dimensions, Attention},
Owner = {hisham},
Review = {Cognitive dimensions: hidden dependencies, juxtaposition, secondary notation, etc.
Loss of attention in information artifacts - examples: writing a family tree when reading a book; saving a number in quick dial in a telephone.
Investment of attention in programming - looking up an API, when to look for a similar function, refactoring, etc.
Attention economies! (A great quote in the paper, saying that information is not scarce; attention is.)
Experiment with a simulation (process of searching+replacing), Clippy, etc.
Describing notational activities in attentional terms: transcription, incrementation, modification, search.},
Timestamp = {2014-09-02}
}
@Electronic{blender,
Title = {Blender},
Author = {{Blender Foundation}},
Url = {https://www.blender.org/},
Year = {2017},
Owner = {hisham},
Timestamp = {2017-03-14}
}
@Book{sunset1982easy,
Title = {Easy Basics for Good Cooking},
Author = {Sunset Books},
Editor = {David E. Clark},
ISBN = {0-376-02093-8},
Publisher = {Lane},
Year = {1982},
Address = {Menlo Park, CA},
Edition = {1},
Keywords = {cooking},
Lccn = {82081368},
Owner = {hisham},
Review = {Cooking book that includes examples that is like exception-handling.},
Timestamp = {2015-01-14},
Url = {https://books.google.com.br/books?id=NSUCAAAACAAJ}
}
@InBook{Boole1854Thought,
Title = {An investigation of the laws of thought, on which are founded the mathematical theories of logic and probabilities},
Author = {George Boole},
Chapter = {3},
Pages = {30},
Publisher = {Project Gutenberg EBook \#15114 (2005)},
Year = {1854},
Owner = {hisham},
Timestamp = {2017-03-19}
}
@InProceedings{Borg:1990:IVU:97243.97274,
Title = {IShell: A Visual UNIX Shell},
Author = {Borg, Kjell},
Booktitle = {Proceedings of the SIGCHI Conference on Human Factors in Computing Systems},
Year = {1990},
Address = {New York, NY, USA},
Pages = {201--207},
Publisher = {ACM},
Series = {CHI '90},
Acmid = {97274},
Doi = {10.1145/97243.97274},
File = {:Users/hisham/ac/dr/reading/pdf/IShell__A_Visual_UNIX_Shell.pdf:PDF},
ISBN = {0-201-50932-6},
Location = {Seattle, Washington, USA},
Numpages = {7},
Owner = {hisham},
Review = {IShell, a visual UNIX shell based on the desktop metaphor
Uses IScript, a visual language based on dataflow graphs
Concept of "machines" ("cat" machine, "wc" machine, "sort", etc.)
Detectors to monitor data flow},
Timestamp = {2015-04-14},
Url = {http://doi.acm.org/10.1145/97243.97274}
}
@InProceedings{Boyce:1973:SQR:951762.951765,
Title = {Specifying Queries As Relational Expressions},
Author = {Boyce, R. F. and Chamberlin, D. D. and Hammer, M. M. and King, W. F.},
Booktitle = {Proceedings of the 1973 Meeting on Programming Languages and Information Retrieval},
Year = {1973},
Address = {New York, NY, USA},
Pages = {31--47},
Publisher = {ACM},
Series = {SIGPLAN '73},
Abstract = {SQUARE (Specifying Queries As Relational Expressions) is a set oriented data sublanguage for expressing queries (access, modification, insertion, and deletion) to a data base consisting of a collection of time-varying relations. The language mimics how people use relations or tables to obtain information. It does not require the sophisticated mathematical machinery of the predicate calculus (bound variables, quantifiers, etc.) in order to express simple references to tables. However, the language has been shown to be complete, i.e., any query expressible in the predicate calculus is expressible in SQUARE.},
Acmid = {951765},
Doi = {10.1145/951762.951765},
File = {:Users/hisham/ac/dr/reading/pdf/Specifying_Queries_As_Relational_Expressions.pdf:PDF},
Location = {Gaithersburg, Maryland},
Numpages = {17},
Owner = {hisham},
Review = {Presents SQUARE, the forerunner of SQL.
SEQUEL (which became SQL) is also presented in a short section as a syntactic variant.},
Timestamp = {2014-12-12},
Url = {http://doi.acm.org/10.1145/951762.951765}
}
@Book{brooks2010design,
Title = {The Design of Design: Essays from a Computer Scientist},
Author = {Brooks, Frederick P.},
ISBN = {9780321702067},
Publisher = {Pearson Education},
Year = {2010},
Lccn = {2009045215},
Owner = {hisham},
Timestamp = {2015-03-09},
Url = {http://books.google.com.br/books?id=0qG4TQi-e-4C}
}
@Book{Brooks1995Mythical,
Title = {The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition)},
Author = {Brooks, Frederick P.},
ISBN = {0201835959},
Publisher = {Addison-Wesley Professional},
Year = {1995},
Edition = {Anniversary},
Month = {aug},
Abstract = {{These essays draw from Brooks' experience as project manager for the IBM System/360 computer family and then for OS/360, its massive software system. Now, 20 years after the initial publication of his book, Brooks has revisited his original ideas and added new thoughts and advice. -- from publisher description}},
Day = {12},
File = {:Users/hisham/ac/dr/reading/pdf/The_Mythical_Man_Month.pdf:PDF},
HowPublished = {Paperback},
Keywords = {book, project-managment},
Owner = {hisham},
Posted-at = {2007-03-28 16:04:43},
Timestamp = {2015-03-08}
}
@PhdThesis{Buck:1993:SDD:921086,
Title = {Scheduling Dynamic Dataflow Graphs with Bounded Memory Using the Token Flow Model},
Author = {Buck, Joseph Tobin},
Year = {1993},
Note = {AAI9431898},
Abstract = {This thesis presents an analytical model of the behavior of dataflow graphs with data-dependent control flow. In this model, the number of tokens produced or consumed by each actor is given as a symbolic function of the Boolean-valued tokens in the system. Several definitions of consistency are discussed and compared. Necessary and sufficient conditions for bounded-length schedules, as well as sufficient conditions for determining whether a dataflow graph can be scheduled in bounded memory are given. These are obtained by analyzing the properties of minimal cyclic schedules, defined as minimal sequences of actor executions that return the dataflow graph to its original state. Additional analysis techniques, including a clustering algorithm that reduces graphs to standard control structures (such as "if-then-else" and "do-while") and a state enumeration procedure, are also described. Relationships between these techniques and those used in Petri net analysis, as well as in the theory of certain stream languages, are discussed.
Finally, an implementation of these techniques using Ptolemy, an object-oriented simulation and software prototyping platform, is described. Given a dynamic dataflow graph, the implementation is capable either of simulating the execution of the graph, or generating efficient code for it (in an assembly language or higher level language).},
File = {:Users/hisham/ac/dr/reading/pdf/Scheduling dynamic dataflow graphs with bounded memory.pdf:PDF},
Owner = {hisham},
Publisher = {University of California, Berkeley},
Review = {Boolean Data Flow (BDF)
Cited in \cite{Wipliez2010}},
Timestamp = {2017-03-12}
}
@InProceedings{Burlet:2015:ESE:2820518.2820554,
Title = {An Empirical Study of End-user Programmers in the Computer Music Community},
Author = {Burlet, Gregory and Hindle, Abram},
Booktitle = {Proceedings of the 12th Working Conference on Mining Software Repositories},
Year = {2015},
Address = {Piscataway, NJ, USA},
Pages = {292--302},
Publisher = {IEEE Press},
Series = {MSR '15},
Abstract = {Computer musicians are a community of end-user programmers who often use visual programming languages such as Max/MSP or Pure Data to realize their musical compositions. This research study conducts a multifaceted analysis of the software development practices of computer musicians when programming in these visual music-oriented languages. A statistical analysis of project metadata harvested from software repositories hosted on GitHub reveals that in comparison to the general population of software developers, computer musicians' repositories have less commits, less frequent commits, more commits on weekends, yet similar numbers of bug reports and similar numbers of contributing authors. Analysis of source code in these repositories reveals that the vast majority of code can be reconstructed from duplicate fragments. Finally, these results are corroborated by a survey of computer musicians and interviews with individuals in this end-user community. Based on this analysis and feedback from computer musicians we find that there are many avenues where software engineering can be applied to help aid this community of end-user programmers.},
Acmid = {2820554},
File = {:Users/hisham/ac/dr/reading/pdf/An_Empirical_Study_of_End_user_Programmers_in_the_Computer_Music_Community.pdf:PDF},
Location = {Florence, Italy},
Numpages = {11},
Owner = {hisham},
Review = {A study of Max/MSP and Pure Data patches stored in Github.
Seems to conclude they use Git in a more amateur way (by commit numbers),
despite having similar numbers of bug reports and contributors.
They detect "clones" in patches, but I think the clones they detected
are just typical program statements (akin to finding MIN and MAX macros in C code).
One interesting thing is that they note users reinvent functions already provided.},
Timestamp = {2016-01-18},
Url = {http://dl.acm.org/citation.cfm?id=2820518.2820554}
}
@Article{Burnett95ScalingUpVPLs,
Title = {Scaling Up Visual Programming Languages},
Author = {Margaret M. Burnett and Marla J. Baker and Carisa Bohus and Paul Carlson and Sherry Yang and Pieter van Zee},
Journal = {Computer},
Year = {1995},
Month = {mar},
Number = {3},
Pages = {45--54},
Volume = {28},
__markedentry = {[hisham:1]},
Abstract = {The directness, immediacy, and simplicity of visual programming languages are appealing. The question is, can VPLs be effectively applied to large-scale programming problems while retaining these characteristics?},
Doi = {10.1109/2.366157},
File = {:Users/hisham/ac/dr/reading/pdf/Scaling_Up_Visual_Programming_Languages.pdf:PDF},
Owner = {hisham},
Timestamp = {2017-01-11},
Url = {http://web.engr.oregonstate.edu/~burnett/Scaling/ScalingUp.html}
}
@InBook{Burnett2014EUD,
Title = {The Encyclopedia of Human-Computer Interaction, 2nd Ed.},
Author = {Burnett, Margaret M. and Scaffidi, Christopher},
Chapter = {End-User Development},
Publisher = {The Interaction Design Foundation},
Year = {2014},
Address = {{Aarhus}, {Denmark}},
Comment = {https://www.interaction-design.org/encyclopedia/end-user_development.html},
Owner = {hisham},
Review = {Introduction to End-user Development
History of EUD, cites spreadsheets VisiCalc and Lotus 1-2-3 as seminal examples.
End-user Programming (EUP)
End-user Software Engineering (EUSE)},
Timestamp = {2014-12-09}
}
@Book{Cajori1909math,
Title = {A History of Mathematics},
Author = {Florian Cajori},
Publisher = {Macmillan},
Year = {1909},
Owner = {hisham},
Timestamp = {2017-03-20}
}
@InCollection{Cappiello2011EUDMashups,
Title = {Enabling End User Development through Mashups: Requirements, Abstractions and Innovation Toolkits},
Author = {Cappiello, Cinzia and Daniel, Florian and Matera, Maristella and Picozzi, Matteo and Weiss, Michael},
Booktitle = {End-User Development},
Publisher = {Springer Berlin Heidelberg},
Year = {2011},
Editor = {Costabile, MariaFrancesca and Dittrich, Yvonne and Fischer, Gerhard and Piccinno, Antonio},
Pages = {9-24},
Series = {Lecture Notes in Computer Science},
Volume = {6654},
Doi = {10.1007/978-3-642-21530-8_3},
File = {:Users/hisham/ac/dr/reading/pdf/Enabling_End_User_Development_through_Mashups__Requirements__Abstractions_and_Innovation_Toolkits.pdf:PDF},
ISBN = {978-3-642-21529-2},
Keywords = {Web Mashups; End User Development; User-driven Innovation},
Language = {English},
Owner = {hisham},
Review = {The development of modern Web 2.0 applications is increasingly characterized by the involvement of end users with typically limited programming skills. In particular, an emerging practice is the development of web mashups, i.e., applications based on the composition of contents and functions that are accessible via the Web. In this article, we try to explain the ingredients that are needed for end users to become mashup developers, namely adequatemashup tools and lightweight development processes, leveraging on the users’ capability to innovate. We also describe our own solution, the DashMash platform, an example of end-user-oriented mashup platform that tries to fill the gaps that typically prevent end users from fully exploiting the mashup potential as innovation instruments. DashMash offers an intelligible, easy-to-use composition paradigm that enables even inexperienced users to compose own mashups. As confirmed by a user-centric experiment, its paradigm is effective and increases the satisfaction of the end users.},
Timestamp = {2015-04-15},
Url = {http://dx.doi.org/10.1007/978-3-642-21530-8_3}
}
@InProceedings{Carver:2006:EET:1159733.1159775,
Title = {An Empirical Evaluation of a Testing and Debugging Methodology for Excel},
Author = {Carver, Jeffrey and Fisher,II, Marc and Rothermel, Gregg},
Booktitle = {Proceedings of the 2006 ACM/IEEE International Symposium on Empirical Software Engineering},
Year = {2006},
Address = {New York, NY, USA},
Pages = {278--287},
Publisher = {ACM},
Series = {ISESE '06},
Acmid = {1159775},
Doi = {10.1145/1159733.1159775},
File = {:Users/hisham/ac/dr/reading/pdf/An_Empirical_Evaluation_of_a_Testing_and_Debugging_Methodology_for_Excel.pdf:PDF},
ISBN = {1-59593-218-6},
Keywords = {empirical study, end-user software engineering, human subjects},
Location = {Rio de Janeiro, Brazil},
Numpages = {10},
Owner = {hisham},
Timestamp = {2016-01-18},
Url = {http://doi.acm.org/10.1145/1159733.1159775}
}
@InProceedings{cervesato2006everyday,
Title = {A Spreadsheet for Everyday Symbolic Reasoning},
Author = {Cervesato, I.},
Booktitle = {{AAAI Fall Symposium on Integrating Reasoning into Everyday Applications}},
Year = {2006},
Address = {Menlo Park, CA, USA},
Month = {oct},
Number = {FS-06-04},
Organization = {AAAI},
Pages = {1--8},
Publisher = {{The AAAI Press}},
Abstract = {We propose a deductive extension of the spreadsheet paradigm as the basis for an automated assistant for the daily reasoning and decision-making needs of computer users, in the same way as a spreadsheet application such as Microsoft Excel assists them every day with calculations simple and complex. Users without formal training in Logic or even Computer Science can interactively define logical rules in the same simple way as they define formulas in Excel. These rules are immediately evaluated thereby returning lists of values that satisfy them, again just like with numerical formulas. The deductive component is seamlessly integrated into the traditional spreadsheet so that a user not only still has access to the usual functionalities, but is able to mix deductive reasoning and numerical calculation.},
Institution = {The AAAI Press},
Owner = {hisham},
Review = {States that array formulas do not increase the expressiveness of scalar spreadsheets.},
Timestamp = {2016-03-22}
}
@InProceedings{Chamberlin:1974:SSE:800296.811515,
Title = {SEQUEL: A Structured English Query Language},
Author = {Chamberlin, Donald D. and Boyce, Raymond F.},
Booktitle = {Proceedings of the 1974 ACM SIGFIDET (Now SIGMOD) Workshop on Data Description, Access and Control},
Year = {1974},
Address = {New York, NY, USA},
Pages = {249--264},
Publisher = {ACM},
Series = {SIGFIDET '74},
Abstract = {In this paper we present the data manipulation facility for a structured English query language (SEQUEL) which can be used for accessing data in an integrated relational data base. Without resorting to the concepts of bound variables and quantifiers SEQUEL identifies a set of simple operations on tabular structures, which can be shown to be of equivalent power to the first order predicate calculus. A SEQUEL user is presented with a consistent set of keyword English templates which reflect how people use tables to obtain information. Moreover, the SEQUEL user is able to compose these basic templates in a structured manner in order to form more complex queries. SEQUEL is intended as a data base sublanguage for both the professional programmer and the more infrequent data base user.},
Acmid = {811515},
Doi = {10.1145/800296.811515},
File = {:Users/hisham/ac/dr/reading/pdf/SEQUEL__A_Structured_English_Query_Language.pdf:PDF},
Keywords = {Data Base Management Systems, Data Manipulation Languages, Information Retrieval, Query Languages},
Location = {Ann Arbor, Michigan},
Numpages = {16},
Owner = {hisham},
Review = {The paper that introduced SQL (then called SEQUEL) to the world.
Also presents briefly SQUARE, an equivalent language with a more mathematical syntax.},
Timestamp = {2014-12-11},
Url = {http://doi.acm.org/10.1145/800296.811515}
}
@InProceedings{Chang:2015:SMH:2702123.2702587,
Title = {A Spreadsheet Model for Handling Streaming Data},
Author = {Chang, Kerry Shih-Ping and Myers, Brad A.},
Booktitle = {Proceedings of the 33rd Annual ACM Conference on Human Factors in Computing Systems},
Year = {2015},
Address = {New York, NY, USA},
Pages = {3399--3402},
Publisher = {ACM},
Series = {CHI '15},
__markedentry = {[hisham:1]},
Acmid = {2702587},
Doi = {10.1145/2702123.2702587},
File = {:Users/hisham/ac/dr/reading/pdf/A_Spreadsheet_Model_for_Handling_Streaming_Data.pdf:PDF},
ISBN = {978-1-4503-3145-6},
Keywords = {end-user programming, live programming, spreadsheets, streaming data, web services},
Location = {Seoul, Republic of Korea},
Numpages = {4},
Owner = {hisham},
Timestamp = {2015-05-18},
Url = {http://doi.acm.org/10.1145/2702123.2702587}
}
@Article{Chen2014210,
Title = {VisualTPL: A visual dataflow language for report data transformation },
Author = {Woei-Kae Chen and Pin-Ying Tu},
Journal = {Journal of Visual Languages \& Computing },
Year = {2014},
Number = {3},
Pages = {210 - 226},
Volume = {25},
__markedentry = {[hisham:1]},
Abstract = {Abstract Data transformation, an important part of report generation, converts the layout of source data into a new layout suitable for presentation. Many report tools have been developed for end-users to specify data transformation. However, current report tools only support a limited set of report layouts. This paper proposes a visual dataflow programming language, called VisualTPL, to resolve this problem. Data transformation is accomplished by writing graphical dataflow programs, which manipulate tables as first-class objects with a set of extendable table operations. A report tool, called VisualTPS, has been developed to offer an easy and intuitive end-user programming environment. Reports with sophisticated layouts can be created through top-down decomposition and incremental development. An evaluation has been conducted to assess end-users' performance with VisualTPL. The results indicated that end-users could learn VisualTPL in a short time and create complicated report layouts all by themselves. And, in comparison with a commercial report tool, VisualTPL offered end-users similar performances and was preferred over the commercial tool. },
Doi = {http://dx.doi.org/10.1016/j.jvlc.2013.11.003},
File = {:Users/hisham/ac/dr/reading/pdf/VisualTPL__A_visual_dataflow_language_for_report_data_transformation_.pdf:PDF},
ISSN = {1045-926X},
Keywords = {Report generation},
Owner = {hisham},
Timestamp = {2016-01-19},
Url = {http://www.sciencedirect.com/science/article/pii/S1045926X13000803}
}
@Book{citrin2007little,
Title = {The Little Black Apron: A Single Girl's Guide to Cooking with Style and Grace},
Author = {Citrin, J. and Gibson, M. and Nunes, K.},
ISBN = {9781598692068},
Publisher = {Adams Media},
Year = {2007},
Lccn = {2007018899},
Owner = {hisham},
Review = {cooking example with decision: "if you want a crisper crust".},
Timestamp = {2015-01-14},
Url = {https://books.google.com.br/books?id=1Thj5mcoQlMC}
}
@Article{Codd:1970:RMD:362384.362685,
Title = {A Relational Model of Data for Large Shared Data Banks},
Author = {Codd, E. F.},
Journal = {Commun. ACM},
Year = {1970},
Month = {jun},
Number = {6},
Pages = {377--387},
Volume = {13},
Abstract = {Future users of large data banks must be protected from having to know how the data is organized in the machine (the internal representation). A prompting service which supplies such information is not a satisfactory solution. Activities of users at terminals and most application programs should remain unaffected when the internal representation of data is changed and even when some aspects of the external representation are changed. Changes in data representation will often be needed as a result of changes in query, update, and report traffic and natural growth in the types of stored information. Existing noninferential, formatted data systems provide users with tree-structured files or slightly more general network models of the data. In Section 1, inadequacies of these models are discussed. A model based on n-ary relations, a normal form for data base relations, and the concept of a universal data sublanguage are introduced. In Section 2, certain operations on relations (other than logical inference) are discussed and applied to the problems of redundancy and consistency in the user's model.},
Acmid = {362685},
Address = {New York, NY, USA},
Doi = {10.1145/362384.362685},
File = {:Users/hisham/ac/dr/reading/pdf/A_Relational_Model_of_Data_for_Large_Shared_Data_Banks.pdf:PDF},
ISSN = {0001-0782},
Issue_date = {June 1970},
Keywords = {composition, consistency, data bank, data base, data integrity, data organization, data structure, derivability, hierarchies of data, join, networks of data, predicate calculus, redundancy, relations, retrieval language, security},
Numpages = {11},
Owner = {hisham},
Publisher = {ACM},
Review = {Introduces relational algebra.},
Timestamp = {2014-12-12},
Url = {http://doi.acm.org/10.1145/362384.362685}
}
@InCollection{Cooper2006FrTime,
Title = {Embedding Dynamic Dataflow in a Call-by-Value Language},
Author = {Cooper, GregoryH. and Krishnamurthi, Shriram},
Booktitle = {Programming Languages and Systems},
Publisher = {Springer Berlin Heidelberg},
Year = {2006},
Editor = {Sestoft, Peter},
Pages = {294-308},
Series = {Lecture Notes in Computer Science},
Volume = {3924},
__markedentry = {[hisham:1]},
Abstract = {This paper describes FrTime, an extension of Scheme designed for writing interactive applications. Inspired by functional reactive programming, the language embeds dynamic dataflow within a call-by-value functional language. The essence of the embedding is to make program expressions evaluate to nodes in a dataflow graph. This strategy eases importation of legacy code and permits incremental program construction. We have integrated FrTime with the DrScheme programming environment and have used it to develop several novel applications. We describe FrTime’s design and implementation in detail and present a formal semantics of its evaluation model.},
Doi = {10.1007/11693024_20},
File = {:Users/hisham/ac/dr/reading/pdf/Embedding_Dynamic_Dataflow_in_a_Call_by_Value_Language.pdf:PDF},
ISBN = {978-3-540-33095-0},
Language = {English},
Owner = {hisham},
Timestamp = {2016-01-21},
Url = {http://dx.doi.org/10.1007/11693024_20}
}
@InCollection{Cordy1992,
Title = {Why the User Interface Is Not The Programming Language---and How It Can Be},
Author = {James R. Cordy},
Booktitle = {Languages for developing user interfaces},
Publisher = {AK Peters, Ltd.},
Year = {1992},
Chapter = {6},
Editor = {Brad A. Myers},
Pages = {329--342},
Owner = {hisham},
Review = {What makes a programming language?
* Values and structures
* Decision, repetition, abstraction, parameterization, recursion
Specifying GUIs: an example how to specify visually a binary tree?
A visual language that provides all of the above: we needed a programming language.},
Timestamp = {2014-08-28}
}
@InCollection{Cordy1992LDUI,
Title = {Hints on the Design of User Interface Language Features---Lessons from the Design of Turing},
Author = {James R. Cordy},
Booktitle = {Languages for developing user interfaces},
Publisher = {AK Peters, Ltd.},
Year = {1992},
Chapter = {18},
Editor = {Brad A. Myers},
Pages = {329--342},
Owner = {hisham},
Review = {Turing programming language: designed as a successor to Pascal.
Syntactic conciseness, consistency.
Define-by-example: simple type inference in initializations.},
Timestamp = {2014-08-28}
}
@InCollection{CordyReport1992LDUI,
Title = {Report of the "Linguistic Support" Working Group},
Author = {James R. Cordy and Ralph D. Hill and Gurminder Singh and Brad Vander Zanden},
Booktitle = {Languages for developing user interfaces},
Publisher = {AK Peters, Ltd.},
Year = {1992},
Chapter = {21},
Editor = {Brad A. Myers},
Pages = {385--399},
Owner = {hisham},
Review = {Goal of the group: dissatisfaction with the lack of UI support in existing app programming languages; lack of consistent semantic model relating UI to application.
These things are possible to fix with existing (1992) technology.
Architecture: separate program data and UI via idealized abstract data types.
Application ←→ ADT: critical issue is synchronization.
ADT ←→ UI: critical issue is graphical representation and mapping of commands to the ADT.
Example systems: RENDEZVOUS, UofA*, Constraint Grammars, GVL.},
Timestamp = {2014-08-28}
}
@InProceedings{Cunha:2009:SRD:1480945.1480972,
Title = {From Spreadsheets to Relational Databases and Back},
Author = {Cunha, J\'{a}come and Saraiva, Jo\~{a}o and Visser, Joost},
Booktitle = {Proceedings of the 2009 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation},
Year = {2009},
Address = {New York, NY, USA},
Pages = {179--188},
Publisher = {ACM},
Series = {PEPM '09},
Abstract = {This paper presents techniques and tools to transform spreadsheets into relational databases and back. A set of data refinement rules is introduced to map a tabular datatype into a relational database schema. Having expressed the transformation of the two data models as data refinements, we obtain for free the functions that migrate the data. We use well-known relational database techniques to optimize and query the data. Because data refinements define bi-directional transformations we can map such database back to an optimized spreadsheet. We have implemented the data refinement rules and we constructed Haskell-based tools to manipulate, optimize and refactor Excel-like spreadsheets.},
Acmid = {1480972},
Doi = {10.1145/1480945.1480972},
File = {:Users/hisham/ac/dr/reading/pdf/From_Spreadsheets_to_Relational_Databases_and_Back.pdf:PDF},
ISBN = {978-1-60558-327-3},
Keywords = {bi-directional transformations, functional programming, spreadsheets, type-safe data migration},
Location = {Savannah, GA, USA},
Numpages = {10},
Owner = {hisham},
Timestamp = {2016-01-16},