Reactive Web Programming
|
|
- Silvester Casey
- 5 years ago
- Views:
Transcription
1 Reactive Web Programming Colin Vidal INRIA Sophia Antipolis Supervisors : Manuel Serrano Gérard Berry December 2, / 14
2 JavaScript language A mainstream language to write web application : very easy to write dynamic (modular) program, which parts on remote servers ; embedded in common web browsers ; also use in server side (NodeJS) ; no threads with shared memory capabilities ; asynchronous ; efficient, thanks to JIT ; 2 / 14
3 Hop.js Language for building web, multitiers web applications. A JavaScript run-time with few goodies : defines easily route (URL), or access to distant services, with language primitives ; server and client code in the same program ; fully compatible with NodeJS libraries ; parse and evaluate XML trees like an imbrication of functions. function BAR() { console.log( bar called ); } function FOO(attrs) { console.log( foo called, attrs.val) } <bar><foo val=5 /></bar> will print foo called 5 bar called 3 / 14
4 Way to program web applications The web is conceptually asynchronous no control on layers which it depends (we won t block) ; interactions between different peers is asynchronous (eg. requests of users, answer to them, UI events... ) ; no way to keep track of state without using global variables and big automates. It s difficult to have a global view of sequential execution of the program, because of the continuations : difficult to avoid bug and maintains. needs to orchestration technique. 4 / 14
5 Esterel language Originally, Esterel is : static code, no run-time dynamic loading very efficient for schedule, control and orchestrate asynchronous code in a synchronous way used to be embedded on host language ; Adapted for embedded systems, static languages... but actually not adapted to web programming. 5 / 14
6 Esterel + JavaScript How to get power of control of Esterel, keeping the flexibility, and asynchronous style of JavaScript? 6 / 14
7 HipHop.js A Hop.js library which is : a reactive extension of the language ; a partial clone of Esterel ; specific of JavaScript programming. A reactive HipHop.js program is describe with an XML tree (avoid parsing), eventually, it will be a DSL. 7 / 14
8 1 " use hopscript " 2 var rjs = require (" reactive -js"); 3 var prg = < rjs. reactivemachine name =" ABRO " > 4 <rjs. inputsignal name ="R" /> 5 <rjs. inputsignal name ="A" /> 6 <rjs. inputsignal name ="B" /> 7 <rjs. outputsignal name ="O"/> 8 <rjs. loop > 9 <rjs. abort signal_name ="R"> 10 <rjs. sequence > 11 <rjs. parallel > 12 <rjs. await signal_name ="A" /> 13 <rjs. await signal_name ="B" /> 14 </ rjs. parallel > 15 <rjs. emit signal_name ="O" /> 16 <rjs. halt /> 17 </ rjs. sequence > 18 </ rjs. abort > 19 </ rjs. loop > 20 </ rjs. reactivemachine >; 8 / 14
9 1 function foo ( evt ) { 2 console. log ( evt. signal, "is set "); 3 } 4 5 prg. seteventlistener ("O", foo ); 6 7 prg. setinput ("A"); 8 prg. setinput ("B"); 9 prg. react (); // will print "O is set " 9 / 14
10 Compilation of HipHop.js program Goal : simulation of circuits, with high level objects that represent components and wires (not concerned by optimization yet). var foo = <ReactiveMachine name="foo">... </ReactiveMachine>; 1. The XML tree is evaluated in Hop.js, as a regular imbrication of functions ; 2. this evaluation build an AST tree of the program ; 3. visitors cross on it, building the run-time objects ; 4. returns a reactive machine into foo. 10 / 14
11 What we have now, with HipHop.js? same semantics that Esterel (core language, immediate reaction to the absence) ; expression and types are directly in JavaScript ; tiny API to set event handler on signal emission, set inputs, start reaction ; save the machine state, and restore it for a further execution. 11 / 14
12 Merge signal and variables Esterel variables can t be shared between concurrent threads, since a thread write on it : avoid non-determinism ; difficult to use it ; odd for peoples from imperative programming. The SCL language allow it, since there is an deterministic order between initialization, writing and reading the variables. 12 / 14
13 Conclusion Orchestrate web applications with a re-implementation of Esterel, keeping lot of the language : web programmers just have to write a reactive machine and plug already existing inputs events and callbacks on it ; all of core statement of Esterel, no compromise Lots of things to be done, for instance : Make easy to use debugging tools ; more concise way to write reactive program than XML ; make applications, find users! 13 / 14
14 Thanks for your attention! 14 / 14
HIPHOP: A Synchronous Reactive Extension for HOP
HIPHOP: A Synchronous Reactive Extension for HOP Gérard Berry Inria Sophia Méditerranée 2004 route des Lucioles - BP 93 F-06902 Sophia Antipolis, Cedex France Gerard.Berry@inria.fr Cyprien Nicolas Inria
More informationIntroduction 2 The first synchronous language (early 80 s) Gérard Berry and his team (École des Mines de Paris / INRIA Sophia-Antipolis) Imperative, s
Pascal Raymond, Verimag-CNRS Introduction 2 The first synchronous language (early 80 s) Gérard Berry and his team (École des Mines de Paris / INRIA Sophia-Antipolis) Imperative, sequential style (i.e.
More informationThe Esterel language
Pascal Raymond, Verimag-CNRS Introduction 2 The first synchronous language (early 80 s) Gérard Berry and his team (École des Mines de Paris / INRIA Sophia-Antipolis) Imperative, sequential style (i.e.
More informationHIPHOP: A Synchronous Reactive Extension for HOP
HIPHOP: A Synchronous Reactive Extension for HOP Gérard Berry Inria Sophia Méditerranée 2004 route des Lucioles - BP 93 F-06902 Sophia Antipolis, Cedex France Gerard.Berry@inria.fr Cyprien Nicolas Inria
More informationHop and HipHop: Multitier Web Orchestration
Hop and HipHop: Multitier Web Orchestration Gérard Berry*, Manuel Serrano** *Collège de France Chair Algorithms, Machines and Langages **Inria Sophia-Antipolis Indian Imagination : pbase.com/gberry ICDCIT,
More informationHop and HipHop : Multitier Web Orchestration
Hop and HipHop : Multitier Web Orchestration Gérard Berry, Manuel Serrano To cite this version: Gérard Berry, Manuel Serrano. Hop and HipHop : Multitier Web Orchestration. International Conference on Distributed
More informationSynchronous Statecharts. Christian Motika
Execution (KlePto) Esterel to transformation (KIES) Synchronous Statecharts for executing Esterel with Ptolemy Christian Motika Real-Time Systems and Embedded Systems Group Department of Computer Science
More informationJS Event Loop, Promises, Async Await etc. Slava Kim
JS Event Loop, Promises, Async Await etc Slava Kim Synchronous Happens consecutively, one after another Asynchronous Happens later at some point in time Parallelism vs Concurrency What are those????
More informationECL: A SPECIFICATION ENVIRONMENT FOR SYSTEM-LEVEL DESIGN
/ ECL: A SPECIFICATION ENVIRONMENT FOR SYSTEM-LEVEL DESIGN Gerard Berry Ed Harcourt Luciano Lavagno Ellen Sentovich Abstract We propose a new specification environment for system-level design called ECL.
More informationNODE.JS MOCK TEST NODE.JS MOCK TEST I
http://www.tutorialspoint.com NODE.JS MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Node.js Framework. You can download these sample mock tests at
More informationCompiling Esterel. Dumitru Potop-Butucaru. Stephen A. Edwards Gérard Berry
Compiling Esterel Compiling Esterel Dumitru Potop-Butucaru Stephen A. Edwards Gérard Berry A C.I.P. Catalogue record for this book is available from the Library of Congress. ISBN 978-0-387-70626-9 (HB)
More informationReal-Time Programming Languages (ADA and Esterel as Examples)
Real-Time Programming Languages (ADA and Esterel as Examples) Real-Time Systems, 2008 RT Languages, 1 RT Language Classes HLL suitable for RT-Analysis (e.g., rms or time-driven) Synchronous HLL (clock
More informationInteractive Esterel to SyncCharts Transformation. Christian Motika
Interactive Esterel to SyncCharts Transformation for executing Esterel with Ptolemy Christian Motika Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universität
More informationXEVE, an ESTEREL Verification Environment
XEVE, an ESTEREL Verification Environment Amar Bouali INRIA, B.P. 93, F-06902 Sophia-Antipolis cedex amar@sophia, inria, fr Abstract. We describe the verification methods and tools we are currently developing
More informationExecutive Summary. It is important for a Java Programmer to understand the power and limitations of concurrent programming in Java using threads.
Executive Summary. It is important for a Java Programmer to understand the power and limitations of concurrent programming in Java using threads. Poor co-ordination that exists in threads on JVM is bottleneck
More informationESUIF: An Open Esterel Compiler
ESUIF: An Open Esterel Compiler Stephen A. Edwards Department of Computer Science Columbia University www.cs.columbia.edu/ sedwards Not Another One... My research agenda is to push Esterel compilation
More informationChapter 4: Threads. Operating System Concepts. Silberschatz, Galvin and Gagne
Chapter 4: Threads Silberschatz, Galvin and Gagne Chapter 4: Threads Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Linux Threads 4.2 Silberschatz, Galvin and
More informationSynchronous Dataflow Processong
Synchronous Dataflow Processong Claus Traulsen and Reinhard von Hanxleden Christian-Albrechts Universität zu Kiel Echtzeitsysteme / Eingebettete Systeme March 00 CAU Claus Traulsen / 8 Outline Motivation
More informationHuman-Computer Interaction Design
Human-Computer Interaction Design COGS120/CSE170 - Intro. HCI Instructor: Philip Guo Lab 6 - Connecting frontend and backend without page reloads (2016-11-03) by Michael Bernstein, Scott Klemmer, and Philip
More informationSafe Reactive Programming: the FunLoft Proposal
Safe Reactive Programming: the FunLoft Proposal Frédéric Boussinot MIMOSA Project, Inria Sophia-Antipolis (Joint work with Frédéric Dabrowski) http://www.inria.fr/mimosa/rp With support from ALIDECS SYNCHRON
More informationCSP IN JAVASCRIPT.
CSP IN JAVASCRIPT Page 1 of 31 VINCENZO CHIANESE BUGS INTRODUCER AT APIARY https://github.com/xvincentx @D3DVincent https://vncz.js.org Page 2 of 31 COMMUNICATING SEQUENTIAL PROCESSES Page 3 of 31 THE
More informationRe-engineering engineering Home Service Robots Improving Software Reliability: A Case Study. Moonzoo Kim, etc
Re-engineering engineering Home Service Robots Improving Software Reliability: A Case Study Moonzoo Kim, etc Agenda Introduction Re-engineering engineering Software Architecture Control Plane Re-engineering
More informationEmbedded Software Engineering
Embedded Software Engineering 3 Unit Course, Spring 2002 EECS Department, UC Berkeley Christoph Kirsch www.eecs.berkeley.edu/~fresco/giotto/course-2002 It s significant $4 billion development effort >
More informationUr/Web: A Simple Model for Programming the Web. Adam Chlipala MIT CSAIL POPL 2015 January 15, 2015
Ur/Web: A Simple Model for Programming the Web Adam Chlipala MIT CSAIL POPL 2015 January 15, 2015 Ur / Web Ur A new general-purpose typed functional language λ Web Tools for implementing modern three-tier
More informationWritten Presentation: JoCaml, a Language for Concurrent Distributed and Mobile Programming
Written Presentation: JoCaml, a Language for Concurrent Distributed and Mobile Programming Nicolas Bettenburg 1 Universitaet des Saarlandes, D-66041 Saarbruecken, nicbet@studcs.uni-sb.de Abstract. As traditional
More informationCyber Physical System Verification with SAL
Cyber Physical System Verification with July 22, 2013 Cyber Physical System Verification with Outline 1 2 3 4 5 Cyber Physical System Verification with Table of Contents 1 2 3 4 5 Cyber Physical System
More informationCS193X: Web Programming Fundamentals
CS193X: Web Programming Fundamentals Spring 2017 Victoria Kirst (vrk@stanford.edu) CS193X schedule Today - MongoDB - Servers and MongoDB Friday - Web application architecture - Authentication MongoDB installation
More informationParsing Scheme (+ (* 2 3) 1) * 1
Parsing Scheme + (+ (* 2 3) 1) * 1 2 3 Compiling Scheme frame + frame halt * 1 3 2 3 2 refer 1 apply * refer apply + Compiling Scheme make-return START make-test make-close make-assign make- pair? yes
More informationUsing Scala for building DSL s
Using Scala for building DSL s Abhijit Sharma Innovation Lab, BMC Software 1 What is a DSL? Domain Specific Language Appropriate abstraction level for domain - uses precise concepts and semantics of domain
More information55249: Developing with the SharePoint Framework Duration: 05 days
Let s Reach For Excellence! TAN DUC INFORMATION TECHNOLOGY SCHOOL JSC Address: 103 Pasteur, Dist.1, HCMC Tel: 08 38245819; 38239761 Email: traincert@tdt-tanduc.com Website: www.tdt-tanduc.com; www.tanducits.com
More informationUsing and Compiling Esterel
Using and Compiling Esterel Stephen A. Edwards Columbia University Department of Computer Science sedwards@cs.columbia.edu http://www.cs.columbia.edu/ sedwards/ Memocode Tutorial, July 11, 2005 The Esterel
More informationJavaScript Fundamentals_
JavaScript Fundamentals_ HackerYou Course Syllabus CLASS 1 Intro to JavaScript Welcome to JavaScript Fundamentals! Today we ll go over what programming languages are, JavaScript syntax, variables, and
More informationLecture 2: January 24
CMPSCI 677 Operating Systems Spring 2017 Lecture 2: January 24 Lecturer: Prashant Shenoy Scribe: Phuthipong Bovornkeeratiroj 2.1 Lecture 2 Distributed systems fall into one of the architectures teaching
More informationEsterel. Software Environment
Esterel Software Environment xesterel GUI(v5_9x) Visit //www.esterel-technologies.com for academic version 2 Project name Esterel Studio Strl file name Tree pane Textual Document pane Main Tool icons console
More informationFunctional Programming and Parallel Computing
Functional Programming and Parallel Computing Björn Lisper School of Innovation, Design, and Engineering Mälardalen University bjorn.lisper@mdh.se http://www.idt.mdh.se/ blr/ Functional Programming and
More informationConcurrency Analysis of Asynchronous APIs
Concurrency Analysis of Asynchronous APIs Anirudh Santhiar and Aditya Kanade April 2, 2016 Computer Science and Automation, IISc Introduction Asynchronous Programming Model1 A way to organize programs
More informationSCCharts. Sequentially Constructive Charts
SCCharts Sequentially Constructive Charts Reinhard von Hanxleden, Björn Duderstadt, Christian Motika, Steven Smyth, Michael Mendler, Joaquin Aguado, Stephen Mercer, and Owen O Brien Real-Time Systems and
More informationOperating Systems Overview. Chapter 2
1 Operating Systems Overview 2 Chapter 2 3 An operating System: The interface between hardware and the user From the user s perspective: OS is a program that controls the execution of application programs
More informationAJAX: The Basics CISC 282 March 25, 2014
AJAX: The Basics CISC 282 March 25, 2014 Synchronous Communication User and server take turns waiting User requests pages while browsing Waits for server to respond Waits for the page to load in the browser
More informationAJAX: Introduction CISC 282 November 27, 2018
AJAX: Introduction CISC 282 November 27, 2018 Synchronous Communication User and server take turns waiting User requests pages while browsing Waits for server to respond Waits for the page to load in the
More informationLab 4: Interrupts and Realtime
Lab 4: Interrupts and Realtime Overview At this point, we have learned the basics of how to write kernel driver module, and we wrote a driver kernel module for the LCD+shift register. Writing kernel driver
More informationWelcome to CS50 section! This is Week 10 :(
Welcome to CS50 section! This is Week 10 :( This is our last section! Final project dates Official proposals: due this Friday at noon Status report: due Monday, Nov 28 at noon Hackathon: Thursday, Dec
More informationCS 498RK FALL RESTFUL APIs
CS 498RK FALL 2017 RESTFUL APIs Designing Restful Apis blog.mwaysolutions.com/2014/06/05/10-best-practices-for-better-restful-api/ www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api Resources
More information1Z Oracle. Java Platform Enterprise Edition 6 Enterprise JavaBeans Developer Certified Expert
Oracle 1Z0-895 Java Platform Enterprise Edition 6 Enterprise JavaBeans Developer Certified Expert Download Full Version : http://killexams.com/pass4sure/exam-detail/1z0-895 Answer: F QUESTION: 284 Given:
More informationOutline. Threads. Single and Multithreaded Processes. Benefits of Threads. Eike Ritter 1. Modified: October 16, 2012
Eike Ritter 1 Modified: October 16, 2012 Lecture 8: Operating Systems with C/C++ School of Computer Science, University of Birmingham, UK 1 Based on material by Matt Smart and Nick Blundell Outline 1 Concurrent
More informationWebGL Seminar: O3D. Alexander Lokhman Tampere University of Technology
WebGL Seminar: O3D Alexander Lokhman Tampere University of Technology What is O3D? O3D is an open source JavaScript API for creating rich, interactive 3D applications in the browser Created by Google and
More informationComet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios
Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios Simone Bordet sbordet@intalio.com 1 Agenda What are Comet web applications? Impacts of Comet web applications WebSocket
More informationEsterel. Software Environment
Esterel Software Environment xesterel GUI(v5_9x) Visit //www.esterel-technologies.com for academic version 2 Project name Esterel Studio Strl file name Tree pane Textual Document pane Main Tool icons console
More informationIntroduction to Express.js. CSC309 Feb. 6, 2015 Surya Nallu
Introduction to Express.js CSC309 Feb. 6, 2015 Surya Nallu What is Express.js? Web application framework for Node.js Light-weight and minimalist Provides boilerplate structure & organization for your web-apps
More informationThe SugarCubes Tool Box
The SugarCubes Tool Box Frédéric BOUSSINOT, Jean-Ferdy SUSINI INRIA EMP-CMA/Meije 2004 route des lucioles F-06902 Sophia-Antipolis fb@sophia.inria.fr, jfsusini@sophia.inria.fr Abstract The SugarCubes are
More informationSynchronous reactive programming
Synchronous reactive programming Marcus Sundman Department of Computer Science Åbo Akademi University, FIN-20520 Åbo, Finland e-mail: marcus.sundman@iki.fi URL: http://www.iki.fi/marcus.sundman/ Abstract
More informationProcesses and Threads
COS 318: Operating Systems Processes and Threads Kai Li and Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall13/cos318 Today s Topics u Concurrency
More informationBuy a Feature: an Adventure in Immutability and Actors. David Pollak BayFP August 22, 2008
Buy a Feature: an Adventure in Immutability and Actors David Pollak BayFP August 22, 2008 David Pollak Not strict, but pretty lazy Lead developer for Lift web framework Scala since November 2006, Ruby/Rails,
More informationLanguage Extensions. present [C and not pre(a or B or C)] then p else q end
A Language Extensions The full Esterel V5 language includes the Kernel Esterel primitives and derived statements whose semantics are given by structural expansion into the primitives. The full language
More informationPROCESSES AND THREADS
PROCESSES AND THREADS A process is a heavyweight flow that can execute concurrently with other processes. A thread is a lightweight flow that can execute concurrently with other threads within the same
More informationUpdates on SCCharts Christian Motika Steven Smyth
Updates on SCCharts Updates on SCCharts Christian Motika Steven Smyth SYNCHRON 2015 04. DEC 2015, Kiel 1 Reactive System Updates on SCCharts Safety-critical systems State based reactions Concurrency Synchronous
More informationBugloo: A Source Level Debugger for Scheme Programs Compiled into JVM Bytecode
Bugloo: A Source Level Debugger for Scheme Programs Compiled into JVM Bytecode Damien Ciabrini Manuel Serrano firstname.lastname@sophia.inria.fr INRIA Sophia Antipolis 2004 route des Lucioles - BP 93 F-06902
More informationChapter 1 - Development Setup of Angular
Chapter 1 - Development Setup of Angular Objectives Key objectives of this chapter Angular Files and Dependencies Node.js Node package manager (npm) package.json Semantic version numbers Installing Angular
More informationClojureScript. as a compilation target to JS. Michiel Vijay FP AMS October 16th 2014
ClojureScript as a compilation target to JS Michiel Borkent @borkdude Vijay Kiran @vijaykiran FP AMS October 16th 2014 This work is licensed under a Creative Commons Attribution 4.0 International License.
More informationNODE.JS SERVER SIDE JAVASCRIPT. Introduc)on Node.js
NODE.JS SERVER SIDE JAVASCRIPT Introduc)on Node.js Node.js was created by Ryan Dahl starting in 2009. For more information visit: http://www.nodejs.org 1 What about Node.js? 1. JavaScript used in client-side
More informationScala Actors. Scalable Multithreading on the JVM. Philipp Haller. Ph.D. candidate Programming Methods Lab EPFL, Lausanne, Switzerland
Scala Actors Scalable Multithreading on the JVM Philipp Haller Ph.D. candidate Programming Methods Lab EPFL, Lausanne, Switzerland The free lunch is over! Software is concurrent Interactive applications
More informationRemoving Cycles in Esterel Programs
Removing Cycles in Esterel Programs Dissertation zur Erlangung des akademischen Grades Doktor der Naturwissenschaften (Dr. rer. nat.) der Technischen Fakultät der Christian-Albrechts-Universität zu Kiel
More informationIntroduction to Asynchronous Programming Fall 2014
CS168 Computer Networks Fonseca Introduction to Asynchronous Programming Fall 2014 Contents 1 Introduction 1 2 The Models 1 3 The Motivation 3 4 Event-Driven Programming 4 5 select() to the rescue 5 1
More informationWhy I still develop synchronous web in the asyncio era. April 7th, 2017 Giovanni Barillari - pycon otto - Firenze, Italy
Why I still develop synchronous web in the asyncio era April 7th, 2017 Giovanni Barillari - pycon otto - Firenze, Italy Who am I? I m Gio! pronounced as Joe trust me, I m a physicist :) code principally
More informationProcess Description and Control
Process Description and Control 1 Process:the concept Process = a program in execution Example processes: OS kernel OS shell Program executing after compilation www-browser Process management by OS : Allocate
More informationManoj Kumar- From Call back's hell to using Async Await: Automated testing with JavaScript
Manoj Kumar- From Call back's hell to using Async Await: Automated testing with JavaScript ManojKumar: Welcome everyone again. We are here to see about a primer on Selenium WebDriver JavaScript and Protractor
More informationJSON Evaluation. User Store
Overview Demo following technologies: JSON Node Package Manager npm Node modules. Very brief introduction to asynchronous programming using async and await. Mongo db JSON JavaScript Object Notation. Inductive
More informationEE382N.23: Embedded System Design and Modeling
EE382N.23: Embedded System Design and Modeling Lecture 3 Language Semantics Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu Lecture 3: Outline
More informationC25: Creating Web Services using the Spring Framework
CISC 3120 C25: Creating Web Services using the Spring Framework Hui Chen Department of Computer & Information Science CUNY Brooklyn College 5/9/2018 CUNY Brooklyn College 1 Outline Recap & Review The Model-View-Controller
More informationCross-Platform, Functional, Reactive GUIs
Cross-Platform, Functional, Reactive GUIs Welcome! CARLOS AGUAYO SOFTWARE ENGINEER MANAGER @carlosaguayo81 Credits ANTONIO ANDRADE SOFTWARE ARCHITECT SUVAJIT GUPTA VP, ENGINEERING Modern UIs: Characteristics
More informationSynchronous Specification
Translation Validation for Synchronous Specification in the Signal Compiler Van-Chan Ngo Jean-Pierre Talpin Thierry Gautier INRIA Rennes, France FORTE 2015 Construct a modular translation validationbased
More informationAn Esterel Virtual Machine for Embedded Systems
SLA 6 An Esterel Virtual Machine for Embedded Systems Becky lummer Department of Computer Science Columbia University New York, USA Mukul Khajanchi Department of Computer Science Columbia University New
More informationMcLab tools on the web. Deepanjan Roy Supervisor: Prof. Laurie Hendren
McLab tools on the web Deepanjan Roy Supervisor: Prof. Laurie Hendren Brief overview of the McLab project LANGUAGES, COMPILERS, AND VIRTUAL MACHINES Dynamic Scientific Programming Languages (Especially
More informationFrontend II: Javascript and DOM Programming. Wednesday, January 7, 15
6.148 Frontend II: Javascript and DOM Programming Let s talk about Javascript :) Why Javascript? Designed in ten days in December 1995! How are they similar? Javascript is to Java as hamster is to ham
More information"Charting the Course... MOC A: Developing with the SharePoint Framework. Course Summary
Course Summary Description This five-day instructor-led course is intended for developers who want to be able to create client-side applications with SharePoint Framework. In this course, students will
More informationDavid Pollak CUFP September 26 th, 2008
Buy a Feature Adventure in Immutability and Actors David Pollak CUFP September 26 th, 2008 David Pollak Not strict, but pretty lazy Lead developer for Lift web framework Scala since November 2006, Ruby/Rails,
More informationEI-PaaS Node-RED Plug-ins User Manual
EI-PaaS Node-RED Plug-ins User Manual The document is provided to you for references and is subject to change. Please always get latest version from Advantech to sync. Table of Content Introduction...
More informationNode.js. Node.js Overview. CS144: Web Applications
Node.js Node.js Overview JavaScript runtime environment based on Chrome V8 JavaScript engine Allows JavaScript to run on any computer JavaScript everywhere! On browsers and servers! Intended to run directly
More informationProgramming Languages for Real-Time Systems. LS 12, TU Dortmund
Programming Languages for Real-Time Systems Prof. Dr. Jian-Jia Chen LS 12, TU Dortmund 20 June 2016 Prof. Dr. Jian-Jia Chen (LS 12, TU Dortmund) 1 / 41 References Slides are based on Prof. Wang Yi, Prof.
More informationRequireJS Javascript Modules for the Browser. By Ben Keith Quoin, Inc.
RequireJS Javascript Modules for the Browser By Ben Keith Quoin, Inc. Traditional Browser JS One global namespace Often inline JS code embedded directly in HTML Many tags with hidden ordering
More informationIN Development in Platform Ecosystems Lecture 3: json, ajax, APIs
IN5320 - Development in Platform Ecosystems Lecture 3: json, ajax, APIs 3rd of September 2018 Department of Informatics, University of Oslo Magnus Li - magl@ifi.uio.no 1 Today s lecture 1. Objects and
More informationReinhard v. Hanxleden 1, Michael Mendler 2, J. Aguado 2, Björn Duderstadt 1, Insa Fuhrmann 1, Christian Motika 1, Stephen Mercer 3 and Owen Brian 3
Sequentially Constructive Concurrency * A conservative extension of the Synchronous Model of Computation Reinhard v. Hanxleden, Michael Mendler 2, J. Aguado 2, Björn Duderstadt, Insa Fuhrmann, Christian
More informationWebApp development. Outline. Web app structure. HTML basics. 1. Fundamentals of a web app / website. Tiberiu Vilcu
Outline WebApp development Tiberiu Vilcu Prepared for EECS 411 Sugih Jamin 20 September 2017 1 2 Web app structure HTML basics Back-end: Web server Database / data storage Front-end: HTML page CSS JavaScript
More informationCREATE SASSY WEB PARTS. Developer Guide to SASS usage in SPFx
CREATE SASSY WEB PARTS Developer Guide to SASS usage in SPFx !!! WARNING!!! YOU WILL SEE SOURCE CODE!!! WARNING!!! OUR GOALS Sketch and develop web parts Create your own reusable CSS Handle external
More informationAdvance Mobile& Web Application development using Angular and Native Script
Advance Mobile& Web Application development using Angular and Native Script Objective:- As the popularity of Node.js continues to grow each day, it is highly likely that you will use it when you are building
More informationProgramming in Scala Second Edition
Programming in Scala Second Edition Martin Odersky, Lex Spoon, Bill Venners artima ARTIMA PRESS WALNUT CREEK, CALIFORNIA Contents Contents List of Figures List of Tables List of Listings Foreword Foreword
More informationECMAScript 2015 and beyond The Future of JavaScript is Now!
ECMAScript 2015 and beyond The Future of JavaScript is Now! Tom Van Cutsem JS.BE Meetup @tvcutsem Talk Outline Part I: 20 years of JavaScript (or, the long road to ECMAScript 6) Part II: a brief tour of
More informationFuzzilli. (Guided-)fuzzing for JavaScript engines. Samuel Groß
Fuzzilli (Guided-)fuzzing for JavaScript engines Samuel Groß (saelo@google.com) Motivation Cool bugs in JS engine runtime implementations, JIT compilers, etc. var a = [1, 2, 3, 4, 5]; var i = {}; i.valueof
More informationProcess Concepts. CSC400 - Operating Systems. 3. Process Concepts. J. Sumey
CSC400 - Operating Systems 3. Process Concepts J. Sumey Overview Concurrency Processes & Process States Process Accounting Interrupts & Interrupt Processing Interprocess Communication CSC400 - Process
More informationSystem Level Design and Verification Using a Synchronous Language
System Level Design and Verification Using a Synchronous Language Gérard Berry Esterel Technologies France gerard.berry@estereltechnologies.com Michael Kishinevsky Intel Corp. Hillsboro, OR michael.kishinevsky@intel.com
More informationA Brief History of Distributed Programming: RPC. YOW Brisbane 2016
A Brief History of Distributed Programming: RPC YOW Brisbane 2016 Christopher Meiklejohn Université catholique de Louvain @cmeik christophermeiklejohn.com Caitie McCaffrey Distributed Systems Engineer
More informationProf. Mohamed Hamada Software Engineering Lab. The University of Aizu Japan
Language Processing Systems Prof. Mohamed Hamada Software Engineering Lab. The University of Aizu Japan Semantic Analysis Compiler Architecture Front End Back End Source language Scanner (lexical analysis)
More informationWeb Application Development
Web Application Development Produced by David Drohan (ddrohan@wit.ie) Department of Computing & Mathematics Waterford Institute of Technology http://www.wit.ie SERVER SIDE JAVASCRIPT PART 1 Outline 1.
More informationThe Esterel Language. The Esterel Version. Basic Ideas of Esterel
The Synchronous Language Esterel OMS W4995-02 Prof. Stephen. Edwards Fall 2002 olumbia University epartment of omputer Science The Esterel Language eveloped by Gérard erry starting 1983 Originally for
More informationJava SE7 Fundamentals
Java SE7 Fundamentals Introducing the Java Technology Relating Java with other languages Showing how to download, install, and configure the Java environment on a Windows system. Describing the various
More informationInterpreters. Prof. Clarkson Fall Today s music: Step by Step by New Kids on the Block
Interpreters Prof. Clarkson Fall 2017 Today s music: Step by Step by New Kids on the Block Review Previously in 3110: functional programming modular programming data structures Today: new unit of course:
More informationMicroservices with Node.js
Microservices with Node.js Objectives In this module we will discuss: Core Node.js concepts Node Package Manager (NPM) The Express Node.js package The MEAN stack 1.1 What is Node.js? Node.js [ https://nodejs.org/
More informationVS08 This One Goes to Going Parallel with PFX, PLINQ, TPL and Async Keywords
VS08 This One Goes to Going Parallel with PFX, PLINQ, TPL and Async Keywords Brian Noyes Chief Architect, IDesign Inc (www.idesign.net) brian.noyes@idesign.net, @briannoyes About Brian Chief Architect
More informationINF5750. Introduction to JavaScript and Node.js
INF5750 Introduction to JavaScript and Node.js Outline Introduction to JavaScript Language basics Introduction to Node.js Tips and tools for working with JS and Node.js What is JavaScript? Built as scripting
More informationAjax HTML5 Cookies. Sessions 1A and 1B
Ajax HTML5 Cookies Sessions 1A and 1B JavaScript Popular scripting language: Dynamic and loosely typed variables. Functions are now first-class citizens. Supports OOP. var simple = 2; simple = "I'm text
More information