Domain Adaptation from 3D Synthetic Images to Real Images

Total Page:16

File Type:pdf, Size:1020Kb

Domain Adaptation from 3D Synthetic Images to Real Images Master of Science in Computer Science September 2020 Domain Adaptation from 3D synthetic images to real images Krishna Himaja Manamasa Faculty of Computing, Blekinge Institute of Technology, 371 79 Karlskrona, Sweden This thesis is submitted to the Faculty of Computing at Blekinge Institute of Technology in partial fulfilment of the requirements for the degree of Master of Science in Computer Science. The thesis is equivalent to 20 weeks of full time studies. The authors declare that they are the sole authors of this thesis and that they have not used any sources other than those listed in the bibliography and identified as references. They further declare that they have not submitted this thesis at any other institution to obtain a degree. Contact Information: Author: Krishna Himaja Manamasa E-mail: [email protected] University supervisor: Prof. Hakan Grahn Department of Computer science External supervisor: Xiaomeng Zhu E-mail: [email protected] Faculty of Computing Internet : www.bth.se Blekinge Institute of Technology Phone : +46 455 38 50 00 SE–371 79 Karlskrona, Sweden Fax : +46 455 38 50 57 Abstract Background: Domain adaptation is described as, a model learning from a source data distribution and performing well on the target data. This concept, Domain adaptation is applied to assembly-line production tasks to perform automatic qual- ity inspection. Objectives: The aim of this master thesis is to apply this concept of 3D domain adaptation from synthetic images to real images. It is an attempt to bridge the gap between different domains (synthetic and real point cloud images), by implementing deep learning models that learn from synthetic 3D point cloud (CAD model images) and perform well on actual 3D point cloud (3D Camera images). Methods: Through this course of thesis project, various methods for understand- ing the data and analysing it for bridging the gap between CAD and CAM to make them similar is looked into. Literature review and controlled experiment are research methodologies followed during implementation. In this project we experiment with four different deep learning models with data generated and compare their perfor- mance to know which deep learning model performs best for the data. Results: The results are explained through metrics i.e, accuracy and train time, which were the outcomes of each of the deep learning models after experiment. These metrics are illustrated in the form of graphs for comparative analysis between the models on which the data is trained and tested on. PointDAN showed better results with higher accuracy compared to the other 3 models. Conclusions: The results attained show that domain adaptation for synthetic im- ages to real images is possible with the data generated. PointDAN deep learning model which focus on local feature alignment and global feature alignment with single-view point data show better results with our data. Keywords: Domain adaptation, Transfer learning, Deep learning, 3D point clouds Acknowledgments This thesis is an industrial research, carried out in Smart Factory Lab, TEED, Sca- nia CV AB, Södertälje, Sweden. I take immense pleasure in thanking my supervisor Xiaomeng Zhu for guiding me throughout the whole research project. Many thanks for her patience and support. I would like to thank Prof. Håkan Grahn, my university supervisor and advisor for all the valuable insights and support for making it an incredible learning experi- ence. My special thanks to my manager Franz A Waker for providing such an amazing environment to develop my thesis and to my collegue Juan Luis for helping me gen- erate CAD data. My colleagues at TEED, Smart Factory Lab equally helped me throughout the whole period and made it enjoyable. Lastly, I thank my parents Rammohan Manamasa and Radha Rani Manamasa, fam- ily and friends for all the love and support who stood by me through these tough times during covid-19 pandemic situation. ii Contents Abstract i Acknowledgments ii 1 Introduction 3 1.1 Problem statement ............................ 3 1.2Aim.................................... 4 1.2.1 Objectives ............................. 4 1.3 Research questions ............................ 4 1.4 Contribution ................................ 5 1.5 Ethical, Societal and Sustainable aspects ................ 6 1.6 Outline ................................... 6 2 Background 7 2.1 Automatic quality inspection ....................... 7 2.1.1 Quality inspection . ..................... 7 2.1.2 Automatic quality inspection of assembly ............ 7 2.2 Machine learning and Deep learning ................... 8 2.2.1 Transfer learning ......................... 9 2.3 Artificial Neural Network ......................... 9 2.3.1 Activation function ........................ 10 2.3.2 Loss function ........................... 11 2.3.3 Back propagation . ...................... 11 2.4 Convolutional Neural Network ...................... 11 2.4.1 Convolutional layer ........................ 12 2.4.2 Pooling layer ........................... 12 2.4.3 Fully-connected layer ....................... 12 2.5 Domain adaptation ............................ 12 2.5.1 Unsupervised domain adaptation ................ 14 2.6 Point cloud data ............................. 15 3 Related Work 16 3.1 Literature review on previous studies .................. 16 3.2Drawbacks................................. 17 iii 4 Deep learning models 18 4.1PointDAN................................. 18 4.1.1 Architecture ............................ 19 4.2 Self-supervised domain adaptation network ............... 20 4.2.1 Architecture ............................ 21 4.3 Pointnet++ ................................ 21 4.3.1 Architecture ............................ 22 4.4Pointnet.................................. 22 4.4.1 Architecture ............................ 23 5 Methods 24 5.1 Data preparation ............................. 24 5.1.1 Source data ............................ 25 5.1.2 Target data ............................ 25 5.2 Data .................................... 26 5.3 Dataset labelling ............................. 26 5.4 Data cleaning ............................... 26 5.5 Model selection through literature review ................ 27 5.5.1 Search terminology and Search strings ............. 27 5.6 Methodology and Experimental design ................. 29 5.6.1 Experimentation on the deep learning models ......... 29 5.6.2 Evaluation ............................. 31 6 Understanding the data 32 6.1 WRL to point cloud conversion ..................... 32 6.2 Single view point cloud .......................... 33 6.3 Generation of data from camera ..................... 37 6.4 Other methods .............................. 39 7 Results 40 7.1 Results ................................... 40 7.1.1 Model 1-PointDAN ....................... 40 7.1.2 Model 2-Self-supervised network ................. 42 7.1.3 Model 3-Pointnet++ ....................... 43 7.1.4 Model 4-Pointnet ......................... 45 8 Analysis and Discussions 48 8.1PointDAN................................. 48 8.2 Self-supervised network .......................... 49 8.3 Pointnet++ ................................ 49 8.4Pointnet.................................. 50 8.5 Limitations and Challenges ........................ 51 8.5.1 Validity threats .......................... 52 iv 9 Conclusions and Future work 54 9.1 Conclusion ................................. 54 9.2 Answering the research questions .................... 55 9.3 Recommended Future work ....................... 56 References 57 A UI for automatic quality inspection 62 v List of Figures 1.1 Domain Adaptation [38] ......................... 3 2.1 Simple neural network[8] ......................... 10 2.2 Different activation functions[44] ..................... 10 2.3 Convolutional Neural Network[29] ................... 12 2.4 Categories of domain adaptation[19] .................. 13 2.5 Deep domain adaptation[46] . ..................... 14 2.6 Unsupervised domain adaptation[9] ................... 15 2.7 Example point cloud image [14] ..................... 15 4.1 Feature alignment[37] ........................... 18 4.2 PointDAN Network [37] ......................... 19 4.3 Self-supervised domain adaptation network [1] ............. 21 4.4 pointnet++ network [36] ......................... 22 4.5 pointnet network [34] ........................... 23 6.1 MeshLab software ............................ 33 6.2 Example of perspective projection[49] ................. 34 6.3PedalCar................................. 35 6.4 Cropping the pedal car to project only the wheel with bounding box using functions and libraries in python. ................. 35 6.5 Cropped wheel .............................. 36 6.6 Single view point cloud wheel ...................... 36 6.7 TrispectorP1000 along with the robot .................. 37 6.8 Operator of the robot to scan the wheel ................ 38 6.9 CloudCompare Software ......................... 39 7.1 Overall accuracy vs epoch graph when the data is test with pointDAN network. .................................. 41 7.2 Loss vs epoch graph when the data is trained and tested on PointDAN 41 7.3 Class-wise accuracy for PointDAN model ................ 42 7.4 Overall accuracy vs epoch graph when the data is test with self- supervised network. ............................ 42 7.5 Loss vs epoch graph when the data is trained and tested on self- supervised network. ............................ 43 7.6 Class-wise accuracy on Self-supervised model. ............. 43 7.7 Overall accuracy vs epoch graph
Recommended publications
  • Dynamic Extension of Typed Functional Languages
    Dynamic Extension of Typed Functional Languages Don Stewart PhD Dissertation School of Computer Science and Engineering University of New South Wales 2010 Supervisor: Assoc. Prof. Manuel M. T. Chakravarty Co-supervisor: Dr. Gabriele Keller Abstract We present a solution to the problem of dynamic extension in statically typed functional languages with type erasure. The presented solution re- tains the benefits of static checking, including type safety, aggressive op- timizations, and native code compilation of components, while allowing extensibility of programs at runtime. Our approach is based on a framework for dynamic extension in a stat- ically typed setting, combining dynamic linking, runtime type checking, first class modules and code hot swapping. We show that this framework is sufficient to allow a broad class of dynamic extension capabilities in any statically typed functional language with type erasure semantics. Uniquely, we employ the full compile-time type system to perform run- time type checking of dynamic components, and emphasize the use of na- tive code extension to ensure that the performance benefits of static typing are retained in a dynamic environment. We also develop the concept of fully dynamic software architectures, where the static core is minimal and all code is hot swappable. Benefits of the approach include hot swappable code and sophisticated application extension via embedded domain specific languages. We instantiate the concepts of the framework via a full implementation in the Haskell programming language: providing rich mechanisms for dy- namic linking, loading, hot swapping, and runtime type checking in Haskell for the first time. We demonstrate the feasibility of this architecture through a number of novel applications: an extensible text editor; a plugin-based network chat bot; a simulator for polymer chemistry; and xmonad, an ex- tensible window manager.
    [Show full text]
  • Regent: a High-Productivity Programming Language for Implicit Parallelism with Logical Regions
    REGENT: A HIGH-PRODUCTIVITY PROGRAMMING LANGUAGE FOR IMPLICIT PARALLELISM WITH LOGICAL REGIONS A DISSERTATION SUBMITTED TO THE DEPARTMENT OF COMPUTER SCIENCE AND THE COMMITTEE ON GRADUATE STUDIES OF STANFORD UNIVERSITY IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY Elliott Slaughter August 2017 © 2017 by Elliott David Slaughter. All Rights Reserved. Re-distributed by Stanford University under license with the author. This work is licensed under a Creative Commons Attribution- Noncommercial 3.0 United States License. http://creativecommons.org/licenses/by-nc/3.0/us/ This dissertation is online at: http://purl.stanford.edu/mw768zz0480 ii I certify that I have read this dissertation and that, in my opinion, it is fully adequate in scope and quality as a dissertation for the degree of Doctor of Philosophy. Alex Aiken, Primary Adviser I certify that I have read this dissertation and that, in my opinion, it is fully adequate in scope and quality as a dissertation for the degree of Doctor of Philosophy. Philip Levis I certify that I have read this dissertation and that, in my opinion, it is fully adequate in scope and quality as a dissertation for the degree of Doctor of Philosophy. Oyekunle Olukotun Approved for the Stanford University Committee on Graduate Studies. Patricia J. Gumport, Vice Provost for Graduate Education This signature page was generated electronically upon submission of this dissertation in electronic format. An original signed hard copy of the signature page is on file in University Archives. iii Abstract Modern supercomputers are dominated by distributed-memory machines. State of the art high-performance scientific applications targeting these machines are typically written in low-level, explicitly parallel programming models that enable maximal performance but expose the user to programming hazards such as data races and deadlocks.
    [Show full text]
  • A Bibliography of Publications About Virtual Machines
    A Bibliography of Publications about Virtual Machines 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: [email protected], [email protected], [email protected] (Internet) WWW URL: http://www.math.utah.edu/~beebe/ 28 September 2021 Version 1.380 Abstract This bibliography records books and other publications about virtual machines. Title word cross-reference TM $32.95 [Ano97a]. 5 [ALW15, HH18]. [Cza00]. TP [LTK17]. d [XDLS15]. HV 2M [CBZ+16]. n [WZKP19]. ! [Arv02]. Π [Syr07]. V 2 [DG05]. -dienste [WF03]. -Enabled [SB18]. -Tier [WZKP19]. .NET [Fra06, Fra09, Hee07, Hog06, Hog08, Men03]. /CLI [Fra06, Fra09, Hee07, Hog06, Hog08, Siv07, Wil06]. /dev/random [Fer11]. 1 2 0 [Sim92, SCP93]. 0.9.0 [WR07]. 0.9.1 [WR08]. '01 [Ano00, Ano01a, Ano01b, USE01c, USE01d]. '02 [USE02]. '03 [ACM03b, Ert03]. '04 [Ano04a, Ano04b]. '05 [ACM05d, Vra05]. 1 [Fli77, Pul91, Sch94a, WDSW01]. 1-4 [Ano06a]. 1.x [KGG00]. '10 [Ano10, See10, VSC+10, YCL+18]. 10.0 [Bau06b]. 10GE [HB12]. 11 [Ham76, PK75a]. 11/40 [GBO87]. 11/60 [SP83]. 1100 [Kam75]. 11th [ACM04a]. 12th [IEE85]. 14-16 [ACM06f]. 148 [Ano15]. 15th [ACM06b]. 165 [IBM76]. 168 [IBM76]. 16th [BW03, Ano93]. 17th [Ano10]. 180x86 [Law00]. 19 [Cap21]. 1981 [Mar81]. 1985 [Jou85]. 1989 [Boa90, Shr89]. 1990 [ACM90]. 1991 [MR91]. 1992 [IEE92]. 1993 [IEE93a, IEE93b, JPTE94]. 19th [ACM03b, SS05]. 1st [ACM06c, Ano01a]. 2 [Bri98, Com00, Com03, Kis08]. 2-Level [ZSR+05]. 2.0 [Fra06, Ng01a, SUN97]. 2000 [ACM00]. 2001 [ACM01b].
    [Show full text]
  • The A-Z of Programming Languages (Interviews with Programming Language Creators)
    The A-Z of Programming Languages (interviews with programming language creators) Computerworld, 2008-20101 Ada: S. Tucker Taft ...................................................... 1 Arduino: Tom Igoe ...................................................... 5 ASP: Microsoft .......................................................... 9 AWK: Alfred Aho ....................................................... 11 AWK & AMPL: Brian Kernighan ....................................... 15 Bash: Chet Ramey....................................................... 17 C#: Anders Hejlsberg.................................................... 20 C++: Bjarne Stroustrup ................................................. 27 Clojure: Rich Hickey .................................................... 35 ColdFusion: Jeremy Allaire .............................................. 38 D: Walter Bright ......................................................... 41 Erlang: Joe Armstrong................................................... 44 F#: Don Syme .......................................................... 48 Falcon: Giancarlo Niccolai ............................................... 51 Forth: Charles Moore .................................................... 59 Groovy: Guillaume Laforge .............................................. 61 Haskell: Simon Peyton-Jones............................................. 65 INTERCAL: Don Wood................................................. 76 JavaScript: Brendan Eich................................................ 79 Lua: Roberto Ierusalimschy..............................................
    [Show full text]
  • TUGBOAT Volume 34, Number 1 / 2013
    TUGBOAT Volume 34, Number 1 / 2013 General Delivery 3 Ab epistulis / Steve Peter 4 Editorial comments / Barbara Beeton This is the year for TEX bug reports; Don Knuth in the news (again); A new TEX calendar; Compulsive Bodoni / the Parmigiano Typographic System; Printing technology, old and new; Interactive and collaborative on-line LATEX; Mapping math and scientific symbols to their meanings Resources 6 CTAN: Relaunch of the Web portal / Gerd Neugebauer Fonts 10 Fonts! Fonts! Fonts! / Bob Tennent Typography 14 Typographers’ Inn / Peter Flynn Graphics 17 Entry-level MetaPost: On the grid / Mari Voipio 21 Recreating historical patterns with MetaPost / Mari Voipio 26 The xpicture package / Robert Fuster A L TEX 34 Side-by-side figures in LATEX / Thomas Thurnherr 37 Glisterings: Repetition; Verbatims; Small pages; Prefixing section heads / Peter Wilson 40 The esami package for examinations / Grazia Messineo and Salvatore Vassallo Dreamboat 47 E-TEX: Guidelines for future TEX extensions — revisited / Frank Mittelbach Software & Tools 64 LuaJITTEX / Luigi Scarso ConTEXt 72 ConTEXt: Just-in-time LuaTEX / Hans Hagen 79 ConTEXt basics for users: Images / Aditya Mahajan Macros 83 New CSplain of 2012 / Petr Olˇs´ak 88 OPmac: Macros for plain TEX / Petr Olˇs´ak Hints & Tricks 96 The treasure chest / Karl Berry 97 Production notes / Karl Berry Book Reviews 98 Book review: The Computer Science of TEX and LATEX / Boris Veytsman Abstracts 99 Die TEXnische Kom¨odie: Contents of issues 4/2012–1/2013 100 Eutypon: Contents of issue 28–29 (October 2012) News 101 Calendar 102 TUG 2013 announcement Advertisements 103 TEX consulting and production services TUG Business 2 TUGboat editorial information 2 TUG institutional members 105 TUG membership form 106 TUG financial statements for 2012 / Karl Berry 107 TUG 2013 election Fiction 108 Colophon / Daniel Quinn TEX Users Group Board of Directors TUGboat (ISSN 0896-3207) is published by the TEX Donald Knuth, Grand Wizard of TEX-arcana † Users Group.
    [Show full text]
  • Theory and Practice of Coroutines with Snapshots
    Theory and Practice of Coroutines with Snapshots Aleksandar Prokopec Oracle Labs, Zürich, Switzerland [email protected] https://orcid.org/0000-0003-0260-2729 Fengyun Liu École Polytechnique Fédérale de Lausanne, Lausanne, Switzerland fengyun.liu@epfl.ch https://orcid.org/0000-0001-7949-4303 Abstract While event-driven programming is a widespread model for asynchronous computing, its inherent control flow fragmentation makes event-driven programs notoriously difficult to understand and maintain. Coroutines are a general control flow construct that can eliminate control flow frag- mentation. However, coroutines are still missing in many popular languages. This gap is partly caused by the difficulties of supporting suspendable computations in the language runtime. We introduce first-class, type-safe, stackful coroutines with snapshots, which unify many vari- ants of suspendable computing. Our design relies solely on the static metaprogramming support of the host language, without modifying the language implementation or the runtime. We also develop a formal model for type-safe, stackful and delimited coroutines, and we prove the respect- ive safety properties. We show that the model is sufficiently general to express iterators, single- assignment variables, async-await, actors, event streams, backtracking, symmetric coroutines and continuations. Performance evaluations reveal that the proposed metaprogramming-based approach has a decent performance, with workload-dependent overheads of 1.03 − 2.11× com- pared to equivalent manually written
    [Show full text]
  • TUGBOAT Volume 28, Number 3 / 2007 TUG 2007 Conference
    TUGBOAT Volume 28, Number 3 / 2007 TUG 2007 Conference Proceedings TUG 2007 274 Conference program, delegates, and sponsors 276 Tim Arnold / TUG 2007: A few words Keynote 280 Peter Wilson / Between then and now — A meandering memoir Fonts 299 Barbara Beeton / The STIX Project—From Unicode to fonts 305 Jonathan Kew and Victor Gaultney / Fonts for every language: SIL’s font projects and the Open Font License Electronic Documents 306 William Hammond / Dual presentation with math from one source using GELLMU Software & Tools 312 Taco Hoekwater / LuaTEX 314 Hans Hagen / ConTEXt MkIV: Going UTF 317 Taco Hoekwater and Hans Hagen / MPlib: MetaPost as a reusable component 319 Nelson Beebe / Extending TEX and METAFONT with floating-point arithmetic 329 Richard Koch / Support for multiple TEX distributions in i-Installer and MacTEX 335 Barry MacKichan / Design decisions for a structured front end to LATEX 340 Paul Topping / MathType 6.0’s TEX input for MS Word and Wikipedia 342 Robert Burgess and Emin G¨un Sirer / CrossTEX: A modern bibliography management tool LATEX 350 Klaus H¨oppner / Typesetting tables with LATEX 354 Andrew Mertz and William Slough / Programming with PerlTEX 363 Eitan Gurari / LATEX conversion into normalized forms and speech Abstracts 369 Abstracts (Allen, DeLand, Hagen, Hamid, Hefferon, Høgholm, Ierusalimschy, Kew, Rosenthol, Rowley, Stern) ConTEXt 372 Aditya Mahajan / ConTEXt basics for users: Table macros TUG Business 375 TEX Development Fund committee / A roadmap for TEX development 377 TUGboat Editors / Random comments
    [Show full text]
  • Hugo Musso Gualandi the Pallene Programming Language
    Hugo Musso Gualandi The Pallene Programming Language Tese de Doutorado Thesis presented to the Programa de Pós–graduação em Infor- mática of PUC-Rio in partial fulfillment of the requirements for the degree of Doutor em Ciências – Informática. Advisor: Prof. Roberto Ierusalimschy Rio de Janeiro May 2020 Hugo Musso Gualandi The Pallene Programming Language Thesis presented to the Programa de Pós–graduação em Infor- mática of PUC-Rio in partial fulfillment of the requirements for the degree of Doutor em Ciências – Informática. Approved by the Examination Committee. Prof. Roberto Ierusalimschy Advisor Departamento de Informática – PUC-Rio Prof. Waldemar Celes Filho Pontifícia Universidade Católica do Rio de Janeiro – PUC-Rio Prof. Francisco Figueiredo Goytacaz Sant’Anna Universidade Estadual do Rio de Janeiro – UERJ Prof. Philip Wadler University of Edinburgh Renato Fontoura de Gusmão Cerqueira IBM Research Brazil Rio de Janeiro, May 8th, 2020 All rights reserved. Hugo Musso Gualandi Graduated in 2011 with a Bachelor’s Degree in Molecular Sciences from the University of São Paulo (USP). In 2015, received a Master’s Degree in Informatics from the Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio). Bibliographic data Musso Gualandi, Hugo The Pallene Programming Language / Hugo Musso Gualandi; advisor: Roberto Ierusalimschy. – Rio de Janeiro: PUC-Rio, Departamento de Informática, 2020. v., 95 f: il. ; 30 cm Tese (doutorado) - Pontifícia Universidade Católica do Rio de Janeiro, Departamento de Informática. Inclui bibliografia 1. Informática – Teses. 2. Linguagens de Scripting. 3. Tipagem Gradual. 4. Compiladores. I. Ierusalimschy, Roberto. II. Pontifícia Universidade Católica do Rio de Janeiro. Depar- tamento de Informática. III. Título. CDD: 004 This thesis is dedicated to my family, my friends, and my professors.
    [Show full text]
  • Theory and Practice of Coroutines with Snapshots
    Theory and Practice of Coroutines with Snapshots Aleksandar Prokopec Oracle Labs, Zürich, Switzerland [email protected] https://orcid.org/0000-0003-0260-2729 Fengyun Liu École Polytechnique Fédérale de Lausanne, Lausanne, Switzerland fengyun.liu@epfl.ch https://orcid.org/0000-0001-7949-4303 Abstract While event-driven programming is a widespread model for asynchronous computing, its inherent control flow fragmentation makes event-driven programs notoriously difficult to understand and maintain. Coroutines are a general control flow construct that can eliminate control flow frag- mentation. However, coroutines are still missing in many popular languages. This gap is partly caused by the difficulties of supporting suspendable computations in the language runtime. We introduce first-class, type-safe, stackful coroutines with snapshots, which unify many vari- ants of suspendable computing. Our design relies solely on the static metaprogramming support of the host language, without modifying the language implementation or the runtime. We also develop a formal model for type-safe, stackful and delimited coroutines, and we prove the respect- ive safety properties. We show that the model is sufficiently general to express iterators, single- assignment variables, async-await, actors, event streams, backtracking, symmetric coroutines and continuations. Performance evaluations reveal that the proposed metaprogramming-based approach has a decent performance, with workload-dependent overheads of 1.03 − 2.11× com- pared to equivalent manually written
    [Show full text]
  • Fourteen Years of Software Engineering at ETH Zurich Bertrand Meyer Politecnico Di Milano and Innopolis University [email protected]
    Fourteen years of software engineering at ETH Zurich Bertrand Meyer Politecnico di Milano and Innopolis University [email protected] Abstract A Chair of Software Engineering existed at ETH Zurich, the Swiss Federal Institute of Technology, from 1 October 2001 to 31 January 2016, under my leadership. Our work, summarized here, covered a wide range of theoretical and practical topics, with object technology in the Eiffel method as the unifying thread1. Overview Computer science (“Informatik”) has a brilliant past at ETH Zurich, most notori- ously illustrated by Niklaus Wirth; but there has not traditionally been, and there is not now, a group or professorship with the name “software engineering”. The Chair of Software Engineering existed from 1 October 2001, when I was appointed on Wirth’s former position with the title of Professor of Software Engineering, until 31 January 2016. Our slogan, covering both the products and processes of software, was to “help the world produce better software and produce software better”. This chapter is an account of what the Chair did towards this goal. It is divided into the following sections: 1. Basic data. 2. Conferences, journals, summer school and other outreach. 3. Courses taught. 4. Principle and experience of teaching programming. 5. Pedagogical tools and MOOCs. 6. Methods and tools for distributed software development. 7. Language development and standardization. 8. Software process and methodology, requirements analysis, agile methods. 9. Object persistence. 10. Verification: proofs, tests, automatic bug correction. 11. Concurrent programming. 12. Software for robotics. 13. Assessment. While this order of sections facilitates the presentation it requires some patience from the reader, since the topics that accounted for most of the chair’s attention, resources and scientific results appear from section 10 on.
    [Show full text]
  • Rodrigo Costa Mesquita Santos a GALS Approach for Programming
    Rodrigo Costa Mesquita Santos A GALS Approach for Programming Distributed Interactive Multimedia Applications Tese de Doutorado Thesis presented to the Programa de Pós–graduação em Infor- mática of PUC-Rio in partial fulfillment of the requirements for the degree of Doutor em Ciências - Informática. Advisor: Prof. Noemi de La Rocque Rodriguez Rio de Janeiro October 2018 Rodrigo Costa Mesquita Santos A GALS Approach for Programming Distributed Interactive Multimedia Applications Thesis presented to the Programa de Pós–graduação em Infor- mática of PUC-Rio in partial fulfillment of the requirements for the degree of Doutor em Ciências - Informática. Approved by the undersigned Examination Committee. Prof. Noemi de La Rocque Rodriguez Advisor Departamento de Informática – PUC-Rio Prof. Francisco Figueiredo Goytacaz Sant’Anna – UERJ Prof. Roberto Ierusalimschy Departamento de Informática – PUC-Rio Prof. Sérgio Colcher Departamento de Informática – PUC-Rio Renato Fontoura de Gusmão Cerqueira IBM Research – IBM Prof. Marcelo Ferreira Moreno – UFJF Rio de Janeiro, October 4th, 2018 All rights reserved. Rodrigo Costa Mesquita Santos Rodrigo has Bachelor’s Degree (2010) and Master’s Degree (2013) in Computer Science from Federal University of Ma- ranhão, where he worked as a researcher for the Laboratory of Advanced Web Systems (LAWS Lab). In 2013, he joined the TeleMídia Lab. of PUC-Rio, working on the evolution and maintenance of the Ginga-NCL middleware and related tools. From 2016 to 2018, he was a Research Software Engineering intern at IBM Research Brazil. Currently, Rodrigo is a Re- search Software Engineer at IBM Research Brazil, where he works mainly with knowledge engineering and AI. Bibliographic data Santos, Rodrigo Costa Mesquita A GALS Approach for Programming Distributed Interac- tive Multimedia Applications / Rodrigo Costa Mesquita San- tos; advisor: Noemi de La Rocque Rodriguez.
    [Show full text]
  • A Bibliography of Publications About the AT&T Plan 9 Distributed
    A Bibliography of Publications about the AT&T Plan 9 Distributed Operating System 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: [email protected], [email protected], [email protected] (Internet) WWW URL: http://www.math.utah.edu/~beebe/ 23 March 2021 Version 1.47 Title word cross-reference PPT+92, PPT+93, PPD+95, P+96a, P+96b, Pik00c, Pik00d, Pik00a, Pik02, Pre88, Pre90, PPTT91b, PPTT92, Pre93a, Pre93b, PW93, PPTT94, Ray94, Sko98, Sta12, Tho00b, 81=2 [Pik91, Pik00a]. α [PT00]. Wel93, Wel94, WJV+84]. '93 [ABB93]. '96 [PT00, PT00]. η [PT00]. κ [PT00]. λ [PT00]. [Ano96a]. 9p [MM06]. 9p-based [MM06]. µ [PT00]. ρ [PT00]. σ [PT00]. Acid [Win00a, Win94, Win00b]. Acme 11th [USE02]. 18th [IEE04]. 19th [ABB93]. [Pik94]. Adding [Fla02]. aggregate [VFMM08]. algorithm [Tho68]. 5 [Ano96a]. Algorithms [KP99b]. Analytical [JCSM96, JCMS97]. Annual [USE00]. 9 [Ano90, Ano95a, Ano95b, Ano95c, Ano96a, ANSI [Tri00]. ANSI/POSIX [Tri00]. Ano96b, Ano96d, Ano96c, Anoxxa, Anoxxb, APE [Tri00]. Application [Fla02, Lau00]. Anoxxc, Anoxxd, Ano00a, Bai96b, Bai96a, Applications [BGSL05]. Approach + BGSL05, Cox00, CGP 02, DPP92, Duf90a, [Cox09, MS04, QD02]. April Duf90b, Duf00, Fen96, Fil96, Fla00, Fla02, [IEE04, USE92]. Architecture [Fla02]. Gan08, Goo90, GS93, HF00, Kor96, Kot94, Architectures [USE92, Wel93, Wel94]. + Kue97, Lug81, MKM 14, MS04, PPTT90a, archival [QD02]. assembler [Pik00e]. PPTT90b, PPTT91a, PPT91, Pik91, 1 2 AT&T [Ano95a, Ano96b, Bai96b, Bai96a]. Earlier [Sta12]. Edge [Ano96a]. Editor August [ABB93, USE02]. authentication [Pik87, Pik00h, Ritxx, DL67]. efficient [Gan08].
    [Show full text]