Visual IoT/Robotics Programming Language in -Calculus

Size: px
Start display at page:

Download "Visual IoT/Robotics Programming Language in -Calculus"

Transcription

1 2017 IEEE 13th Interntionl Symposium on Autonomous Decentrlized Systems Visul IoT/Robotics Progrmming Lnguge in -Clculus Gennro De Luc nd Yinong Chen School of Computing, Informtics nd Decision Systems Engineering Arizon Stte University Tempe, AZ , U.S.A. Abstrct As IoT/robotics reserch nd pplictions expnd explosively into mny domins in computing, informtion, nd control systems, schools nd universities must prepre students to understnd nd be ble to progrm IoT devices nd robots. However, progrmming IoT nd physicl devices is hrd nd depends on good understnding of hrdwre nd low-level progrmming. Workflow nd visul progrmming environments hve been developed to ddress this issue, including MIT App Inventor, Microsoft Robotics Developer Studio nd VPL (Visul Progrmming Lnguge), nd Intel Service Orchestrtion Lyer. We hve developed new visul progrmming lnguge nd its development environment: ASU VIPLE (Visul IoT/Robotics Progrmming Lnguge Environment). ASU VIPLE is specificlly developed to support different device pltforms. It supports LEGO EV3 nd ll IoT devices bsed on n open rchitecture. ASU VIPLE integrtes engineering design process, workflow, fundmentl progrmming concepts, control flow, prllel computing, nd event-driven progrmming semlessly into the curriculum. It hs been pilot tested t Arizon Stte University in summers 2015 nd 2016, nd is now tught in n ASU regulr clss, Introduction to Engineering. It hs been dopted by numerous universities round the world. This pper focuses on the mthemticl model of ASU VIPLE. clculus is used to describe the bsic ctivities in VIPLE, s well s the workflow defined by the bsic ctivities. Keywords - -clculus, visul progrmming, computer science eduction, Internet of Things, nd robotics pplictions. I. INTRODUCTION The development of Internet nd cloud computing hs pushed the desktop-bsed computing pltform into n internet nd Web-bsed computing infrstructure. It hs chnged the concept of physicl products or things into services. The endorsement nd commitment to building nd utilizing cloud computing environments s the integrted computing nd communiction infrstructure by mny governments nd mjor computing corportions round the world hve led the rpid development of mny commercil nd mission-criticl pplictions in the new infrstructure, including the integrtion of physicl devices, which gives Internet of Things the unlimited computing cpcity. Internet of Things (IoT) ws initilly proposed nd pplied in the Rdio-Frequency Identifiction RFID-tgs to mrk the Electronic Product Code (Auto-ID Lb) [1]. IoT concept is extended to refer to the world where physicl objects re semlessly integrted into the informtion network, nd where the physicl objects cn become ctive prticipnts in business processes [2]. Internet of Intelligent Things (IoIT) dels with intelligent devices tht hve dequte computing cpcity. Distributed intelligence is prt of the IoIT [3]. According to Intel s report, there re 15 billion devices tht re connected to the Internet, of which 4 billon devices include 32-bit processing power, nd 1 billon devices re intelligent systems [4]. An utonomous decentrlized system (ADS) is distributed system composed of modules or components tht re designed to operte independently but re cpble of intercting with ech other to meet the overll gol of the system. ADS components re designed to operte in loosely coupled mnner nd dt re shred through contentoriented protocol. This design prdigm enbles the system to continue to function in the event of component filures. It lso enbles mintennce nd repir to be crried out while the system remins opertionl. ADS nd the relted technologies hve lrge number of pplictions in industril production lines, rilwy signling, nd robotics [5][6]. ADS concepts re the foundtion of lter technologies such s cloud computing nd Internet of Things. Robot s Service (RS) is cloud computing unit tht fcilittes the semless integrtion of robot nd embedded devices into Web nd cloud computing environments [7][8]. In terms of service-oriented rchitecture (SOA), RS unit includes services for performing functionlity, service directory for discovery, nd service clients for the user's direct ccess [9]. The current RS implementtion fcilittes SOAP nd RESTful communictions between RS units nd the other cloud computing units. Hrdwre support nd stndrds re vilble to support RS implementtions. For exmple, Devices Profile for Web Services (DPWS) defines implementtion constrints to enble secure Web Service messging, discovery, description, nd eventing on resourceconstrined devices between Web services nd devices. The recent Intel IoT-enbled rchitecture, such s Glileo nd Edison, mde it esy to progrm these devices s Web services. From different perspectives, n RS unit cn be considered unit of Internet of Things (IoT), Internet of Intelligent Things (IoIT) tht hve dequte computing cpcity to perform complex computtions [3], Cyberphysicl system (CPS) tht is combintion of lrge computtionl nd communiction core nd physicl elements tht cn interct with the physicl world [4], nd n utonomous decentrlized system (ADS) /17 $ IEEE DOI /ISADS

2 As IoT/robotics reserch nd pplictions expnd explosively into mny domins in computing, informtion, nd control systems, schools nd universities must prepre students to understnd nd to be ble to progrm IoT devices nd robots. However, progrmming IoT nd physicl devices is hrd nd depends on good understnding of hrdwre nd low-level progrmming. Workflow nd visul progrmming lnguges hve been developed to ddress this issue. MIT App Inventor [10] uses drg-nd-drop style puzzles to construct phone pplictions on the Android pltform. Crnegie Mellon s Alice is 3D gme nd movie development environment [11] on desktop computers. It uses drop-down list for users to select the vilble functions in stepwise mnner. App Inventor nd Alice llow novice progrmmers to develop complex pplictions using visul composition t the workflow level. Intel Service Orchestrtion Lyer is workflow lnguge tht llows quick development of IoT pplictions on Intel s IoT pltforms, such s Edison nd Glileo. Microsoft Robotics Developer Studio (MSRDS) nd Visul Progrmming Lnguge (VPL) re specificlly developed for robotics pplictions [13], nd they re milestones in softwre engineering, robotics, nd computer science eduction from mny spects. MSRDS VPL is service-oriented; it is visul nd workflow-bsed; it is eventdriven; it supports prllel computing; nd it is gret eductionl tool tht is simple to lern nd yet powerful nd expressive. Sponsored by two Innovtion Excellence wrds from Microsoft Reserch in 2003 nd in 2005, the uthor prticipted in the erlier discussion of service-oriented robotics developer environment t Microsoft. MSRDS VPL ws immeditely dopted t Arizon Stte University (ASU) in developing the freshmn computer science nd engineering course CSE101 in The course grew from 70 students in 2006 to over 350 students in The course ws extended to ll students in Ir A. Fulton Schools of Engineering (FSE) t ASU in 2011 nd ws renmed FSE100, which is offered to thousnds of freshmn engineering students now [8]. Unfortuntely, Microsoft stopped its development nd support to MSRDS nd VPL in 2014 [14], which led to our FSE100 course, nd mny other schools courses using VPL, without further support. Prticulrly, the ltest version of VPL (MSRDS R4) does not support LEGO s third genertion EV3 robot, while the second genertion NXT is out of the mrket. To keep our course running nd lso help the other schools, we tke the chllenge nd the responsibility to develop our own visul progrmming environment t Arizon Stte University (ASU). We nme this environment VIPLE, stnding for Visul IoT/Robotics Progrmming Lnguge Environment [15]. ASU VIPLE is bsed on our previous erobotics development environments [16]. It is designed to support s mny fetures nd functionlities tht MSRDS VPL supports s possible, in order to better serve the MSRDS VPL community in eduction nd reserch. To serve this purpose, VIPLE lso uses similr user interfce, so tht the MSRDS VPL development community cn use VIPLE with little lerning curve. VIPLE does not replce MSRDS VPL. Insted, it extends MSRDS VPL in its cpcity in multiple spects. It cn connect to different physicl robots, including EV3 nd ny robots bsed on the open rchitecture processors. ASU VIPLE hs been pilot tested t ASU in summer 2015 nd in spring 2016 s well s t severl other universities. ASU VIPLE softwre nd documents re free nd cn be downloded t: neptune.fulton.d.su.edu/wsrepository/viple/ The min gol of this pper is to provide model to represent VIPLE using -clculus. As VIPLE is workflow lnguge, this pper will expound nd improve pre-existing model for workflow lnguges. In their pper on workflow ptterns, Puhlmnn nd Weske present model for representing generl workflow lnguges [19]. They begin with model for bsic control flow ptterns nd proceed to cover severl dvnced brnching nd synchroniztion ptterns [19]. This pper will reduce the size of the model to succinctly express VIPLE s vrious ptterns. Of dditionl note is their use of throughout their model to represent ctions performed by ech ctivity tht cnnot be represented by -clculus [19]. As VIPLE is well-defined (i.e. the behvior is well-defined) workflow lnguge, these ctions cn be simplified, nd in some cses removed, to more specificlly detil the behvior of ech ctivity. The rest of the pper is orgnized s follows. Section II presents ASU VIPLE, the Visul IoT/Robotics Progrmming Lnguge Environment, which mkes IoT/Robotics device progrmming s esy s drwing nd connecting functionl boxes. Section III provides n introduction to VIPLE nd clculus terminology nd definitions to fcilitte the cretion of the model. Section IV presents the model for VIPLE in clculus. Section V provides exmples of pplictions fcilitted by using VIPLE. Section VI concludes the pper. II. THE DEFINITION OF VIPLE The bsic building blocks of n ASU VIPLE progrm (digrm) is listed nd explined in Figure 1. Figure 1. Activities: ASU VIPLE versus Microsoft VPL The usbility of lnguge lrgely depends on the vilbility of librry functions or clled services. Figure 2 shows the three sets of ASU VIPLE services. 24

3 The first set contins the generl services, including input/output services (Simple Dilog, Print Line, Text to Speech, nd Rndom), event services (Key Press Event, Key Relese Event, Custom Event, nd Timer), nd RESTful services. The second set is the generic robotic services. VIPLE offers set of stndrd communiction interfces, including Wi-Fi, TCP, Bluetooth, USB, nd WebSocket interfces. The dt formt between VIPLE nd the IoT/Robotic devices is defined s stndrd JSON (JvScript Object Nottion) object. Any robot tht cn be progrmmed to support one of the communiction types nd cn process the JSON object cn communicte with VIPLE nd be progrmmed in VIPLE. As shown in the second prt of Figure 2, ll VIPLE services tht strt with Robot re generic robotic services. We cn use these services to progrm our simulted robots nd custombuilt physicl robots. Figure 2. ASU VIPLE services ctegorized by functionlity The third set is the vendor-specific services. Some robots, such s LEGO robots nd irobots, do not offer n open communiction nd progrmming interfces. In this cse, we cn offer built-in services in VIPLE to ccess these robots without requiring ny progrmming efforts on the device side. Currently, the services for ccessing LEGO EV3 robots re implemented, so tht VIPLE cn red ll EV3 sensors nd control EV3 drive-motors nd rm-motors, s shown in the third column in Figure 2. For those who do not wnt to build their own robots, they cn simply use VIPLE nd n EV3. The ddition of EV3 services to VIPLE is significnt, s it llows the Microsoft VPL developers who used NXT robots now to use the new EV3 robots. The generic robot services llow the developers to use VIPLE to connect to n open rchitecture robot. In Microsoft VPL, DSS services developed specificlly for MSRDS cn be dded into the VPL service list. In ASU VIPLE, RESTful services cn be ccessed in VIPLE digrms. As RESTful services re widely used in tody s Web ppliction development, the ccess to RESTful services extends the cpcity of VIPLE to wide rnge of resources. ASU VIPLE does not hve simulted services t this time, lthough the generic robot services cn be used to interfce with custom simultion environment. III. REPRESENTING VIPLE IN -CALCULUS In order to define mthemticl model to represent the VIPLE workflow lnguge, severl stndrds for how VIPLE functions must be defined. 3.1 Terminology First, we introduce the terminology for defining the needed stndrds. In VIPLE, n ctivity represents single unit of computtion. An ctivity my perform tsk such s input, output, clculte, sve vlue, or lod vlue. However, n ctivity my lso ct s control flow, either by nlyzing the input, or simply performing some sort of synchroniztion or merging. Activities cn be connected by drwing lines from the output of one ctivity to the input of nother. These lines will herefter be clled connections. When discussing single ctivity, the input pin is the tringle pin on the left-hnd side of the ctivity, the output pin is the tringle pin on the right-hnd side, nd the event pin is the circle pin on the right-hnd side. Therefore, n input connection is connection drwn to the input pin of the ctivity, nd n output connection is connection drwn from the output or event pin of the ctivity. The model defined below will consider two different groups of ctivities. The first group will be clled the stndrd ctivities nd the second group will be the nonstndrd ctivities. Stndrd ctivities permit either 0 or 1 input connections nd n output connections (n 0). Stndrd ctivities hve 1 input pin, 1 output pin, nd 0 event pins. Nonstndrd ctivities re those ctivities tht do not meet these stndrd ctivity criteri. As such, nonstndrd ctivities my hve vrible number of input, output, nd event pins s well s support for vrible number of input or output connections. Nonstndrd ctivities will be seprtely defined in their own sections in the model. 3.2 Definitions As defined by Milner [18], the -clculus cn ply two distinct roles. First, it models networking in which messges re sent from site to site. Second, the -clculus cn be seen s bsic model of computtion. The -clculus rests upon the primitive notion of interction [18]. As such, the model presented for VIPLE will be bsed on these roles. First, the model will describe the networking between ctivities (i.e. how messges re synchronized nd pssed between vrious ctivities). Second, the model will only describe the interction between ctivities. The model will not include description of wht ech ctivity performs internlly. However, s mentioned erlier, the use of llows representtion of blck box ction tht fits within the definitions of -clculus. To improve the clrity of the model, below is brief introduction to the -clculus, bsed on Milner s definition. Messge pssing will be stndrdized in this model using the concept of ction prefixes. Action prefixes represent the sending or receiving of some messge nd re defined s follows [18]: receive y long x send y long x. 25

4 The forml definition of -clculus is below. Definition 9.1 The -clculus [18]: The set P of clculus process expressions is defined by the following syntx: where I is ny finite indexing set. The processes re clled summtions or sums. Additionl importnt opertors re, which executes processes in prllel, new P which defines privte chnnel belonging to process P, nd!p, the repliction opertor, which llows the explicit definition of prmetric processes. There re two generl versions of the -clculus, nmely the mondic nd polydic versions. In the mondic version, messge consists of exctly one nme. In the polydic version, multiple nmes cn be sent in messge long chnnel with no interference from other processes [18]. Below re two definitions used in proofs within the model, for lter reference. Definition 9.7 Structurl congruence [18]: Two process expressions P nd Q in the -clculus re structurlly congruent, written, if we cn trnsform one into the other by using the following equtions (in either direction): (1) Chnge of bound nmes (lph-conversion) (2) Reordering of terms in summtion (3) (4) (5) Definition 4.5 Process congruence [18]: Let be n equivlence reltion over P, i.e. it is reflexive ( ), symmetric (if then ) nd trnsitive (if nd then ). Then is sid to be process congruence if it is preserved by ll elementry contexts; tht is, if then IV. VIPLE MODEL DEFINITION This section defines the behvior of workflow ctivities tht re pplicble in VIPLE digrms. Sequentil Process This definition describes the behvior of two stndrd ctivities where A is the first ctivity nd B is the second. A performs its ction, then outputs vlue onto the privte chnnel. B receives tht vlue from the chnnel, performs its own ction, nd then outputs its own vlue on ny number of chnnels. Note tht the chnnel b is used to represent nonnegtive number of chnnels. B will output the sme vlue y long ll of these chnnels. In the definition of S, the keyword new is used to show tht the chnnel is privte within the system. The vlue sent A B long the chnnel will be sent to its destintion nd nowhere else (i.e. no other ctivities cn listen to the chnnel other thn the ones defined in S). The chnnel b is not designted s new since such definition would be redundnt. For exmple, by repplying the sequentil process definition, b would be designted s new in the second itertion. Also note the use of 0 (nil) t the end of ech process, symbolizing tht the process dies fter performing its tsk. In the reminder of the model definition, the 0 will be removed. However, ll processes implicitly end with 0. Split (Prllel Processes) This prt of the model covers the cse where one ctivity spwns more thn 1 ctivity (in prllel). In such cse, A s output vlue is pssed long ll n chnnels to the receiving ctivities (denoted by B1, B2,, Bn). Note tht lthough pssing vlues long the chnnels occurs sequentilly, the receiving processes re not wited on. Thus, the receiving processes re ble to run concurrently. Since pssing dt long chnnel in VIPLE tkes negligible mount of time (compred to n ctivity s run time), the receiving processes essentilly receive their input nd run t the sme time. As in the sequentil process model, note tht ll ctivities in this system re stndrd. In ddition, note tht multiple different model definitions cn be combined. For exmple, sequentil process cn be dded immeditely following B1 while nother prllel split cn be dded immeditely following B2. In this wy, vrious instnces of the model my run in prllel. In the exmple, the sequentil processing will occur concurrently with the prllel split. If nother sequentil process is dded fter B3, tht process will be performed in prllel with B1 s sequentil process nd B2 s prllel split. Join Join is the first exmple of nonstndrd ctivity in this model. A join ctivity, s shown in Figure 3, hs n input pins, n 1. Ech pin still only ccepts single input connection. The job of join, s formlized in the model, is to synchronize multiple incoming connections. A join will not llow vlues to be pssed further (thereby preventing the execution of the proceeding ctivities) until vlues re received from ll incoming connections (i.e. until ll preceding ctivities complete their tsks). Also note tht lthough the preceding ctivities perform computtion ( An), there is no computtion inherent to the join ctivity. The join s only job is to perform synchroniztion, which is fully represented in the model for B. A A1 A2 An 1 2 n 1 2 n B1 B2 Bn B 26

5 Figure 3. A join ctivity. Also of note in this model is tht single vlue (y) is output from the join once the synchroniztion hs completed, even though n distinct vlues re being output (x1, x2,, xn). A join my lso be modelled using the polydic version of clculus to support n outputs. However, in its implementtion in VIPLE, the join ctivity outputs single object contining ll the vlues. To remin true to this implementtion, the mondic version of -clculus is used in defining join. Merge Merge is nother nonstndrd ctivity. A merge ctivity, s shown in Figure 4, hs single input pin nd single output pin. However, unlike stndrd ctivities, the merge ctivity will ccept n input connections (n 0). The merge ctivity utomticlly forwrds ny incoming vlues to the output connection(s). The merge ctivity performs no clcultions, nd does not perform ny synchroniztion, unlike the join ctivity. The min purposes of the merge ctivity re to provide the bilities to crete loops nd reuse code. Figure 4. A merge ctivity with multiple input connections. Of note in the bove model is the use of the repliction opertor nd the lck of privte input chnnel. As merge ctivity supports multiple input connections to single input pin, the input chnnel cn be used by ny ctivity. To preserve thred sfety, the repliction opertor is used. In this wy, ny ctivities following the merge ctivity (i.e. output connections) will be replicted ( new instnce will be creted) for ech merge input connection. This repliction cn be likened to the repliction of method on stck when the method is clled concurrently from multiple different threds. Theorem 1 A merge with single input is congruent to 0 (the nil process). Proof Consider merge with single input nd n outputs (for. For ll vlues of n, the merge ctivity receives only 1 input, thereby removing the need for repliction by the repliction opertor. In ddition, merge performs no opertions, so the output vlue is equl to the input vlue. A1 A2 An B When n = 0, merge ctivity is clerly equivlent to 0 s it hs no output connections, so the process ends immeditely upon reching the merge. In the cses where n > 0, the vlue from the input connection is pssed directly to ll output connections. As such, connecting the output of the previous ctivity directly to the inputs of the following ctivities will result in congruent process. Choice (Generlized) The choice ctivities re nonstndrd ctivities since they my hve n output pins (n 1). Other thn this difference, the choice ctivities follow the sme rules s the stndrd ctivities (1 input pin, 1 input connection, m output connections per output pin (m 0)). An exmple of one of the choice ctivities, the if ctivity, is shown in Figure 5. Figure 5. An if ctivity. Of immedite notice in this model is tht the choice ctivities shre the sme process digrm s the split opertion. The min difference between the choice ctivities nd the split opertion is tht only single output (e.g. 2) is followed. In this prt of the model, the gol is to represent choice ctivities in generl. To meet this gol, summtion is used. The model cn be further developed to concisely define single choice ctivity. Choice (If) The if ctivity (Figure 5) will follow the output pin corresponding to the first boolen expression (bexprn) which evlutes to true. If none of the n-1 conditions evlute to true, the output pin corresponding to else will be followed. This behvior cn be modelled using the if/then/else construct. The syntx for this construct is: if bexp then P else Q where P nd Q re processes nd bexp is boolen expression [17]. Following this construction, the model for n if ctivity becomes: A 1 2 n B1 B2 Bn 27

6 where bexprn represents the nth boolen expression in the if ctivity. Choice (Switch) The switch ctivity cn be modelled in n identicl fshion to the if ctivity with the exception tht the cses of switch ctivity cn be ny expression, nd those vlues re compred to the input vlue to crete boolen expression. An importnt difference between if nd switch is tht switch requires n input vlue to compre with its expressions. Supposing tht the switch ctivity (process A) hs n input chnnel c from process C, the switch ctivity cn be modelled s follows: where exprn represents the nth expression in the switch ctivity. Loop As mentioned bove, the merge ctivity cn be used to design loops within VIPLE. However, VIPLE lso provides simplified methods of defining loops, such s the while/end while ctivities. The gol of this section is to prove tht the model defining loops built from merge cn be trnsformed into the model defining while loops, which would prove tht they re structurlly congruent. (): A loop using the while ctivity. Figure 6. (b) A loop using the if nd merge ctivities. The model for while loop such s the one shown in Figure 6() is: A B b C d where chnnel c is the output chnnel(s) from C to the ctivity following the while loop nd bexpr is the boolen expression in the while ctivity. Note tht this model ssumes some initil input to A, which will be 0 (nil) if the while ctivity hs no input connections. The model for n if/merge loop such s the one shown in Figure 6(b) is: A B b C c D where chnnel e is the output chnnel(s) from D (nd A) to the ctivity following the while loop nd bexpr is the boolen expression in the if ctivity (note tht the boolen expression is ssumed to be the sme in both if ctivities). As bove, process A is ssumed to receive some input, which will be 0 (nil) if A hs no input connections. An importnt note bout this model is tht identicl output chnnels re used from both A nd D. Since stndrd ctivities do not support multiple inputs, merge ctivity cn be plced before the output chnnels. Since tht merge will only receive single input (only the first time bexpr is flse will the merge be used), tht merge is equivlent to 0 ccording to Theorem 1. As such, inserting the merge will crete structurlly congruent process. As the if ctivities (processes A nd D) do not modify their input vlues, hve the sme boolen expressions, nd output to the sme chnnels in the sme cses, processes A nd D re congruent processes. Thus, insted of inputting vlue to process A long chnnel d, chnnel c will be used to pss the vlue directly to process D. Since the processes re congruent, this new model is structurlly congruent to the previous if/merge model. As process A no longer receives input long chnnel d, it cn no longer perform ny opertions nd is removed from the model. The model then becomes: With lph-conversions (renme c to e, d to c, e to d, nd D to A, the model becomes: Therefore, ccording to the definition of structurl congruence, the if/merge loop model is structurlly congruent 28

7 to the while loop model. Therefore, the while ctivity construction cn be reduced to using merge nd if ctivities, nd does not require forml definition within the model. Event Hndling To explin the generl model offered, specific exmple of event hndling will be constructed. One exmple of n event in VIPLE is the robot distnce sensor ctivity ( nonstndrd ctivity with 0 input ports, 0 output ports, 1 event port, nd n output connections for n 1). A distnce sensor ctivity is shown in Figure 7. Without ny distnce input on specified port, tht event will never trigger, nd the proceeding code will never execute. As such, n dditionl component is required for ll event hndling ctivities, nmely the event genertor. In this exmple, there my be n IoT bord with n ttched ultrsonic sensor which sends dt to VIPLE every 200ms on port c. This bord cn be modelled s such: In this implementtion, the IoT bord hs n concurrently running sensors, where C1 is the process controlling the distnce sensor nd communicting on port c. The process C1 wits until the polling time hs pssed (e.g. it clls sleep for the specified mount of time) nd then it receives the distnce nd sends it to VIPLE over port c. Returning to the bove model for generl event hndling, VIPLE receives the distnce vlue nd psses tht vlue to ll output connections. As n event cn be triggered multiple times, the repliction opertor is used so tht ech distnce vlue is forwrded to its own replicted set of processes. Figure 7. A robot distnce sensor ctivity. This model cn be extended to ll event ctivities in VIPLE. Ech event ctivity wits n event to occur from n externl source. Tht event my occur t timed intervl s bove, or when n event occurs in the physicl world (e.g. button is pressed). V. APPLICATIONS VIPLE is generl-purpose progrmming lnguge nd is Turing complete in its cpcity. It cn be used for ny kind of computtionl tsks. In VIPLE, progrm is represented s workflow digrm, nd the components re defined s ctivities or Web services in the digrm. However, VIPLE s strength is in event-driven progrmming tht cn respond to sequence of events. The event-driven pplictions re best described by finite stte A 1 2 n B1 B2 Bn mchines consisting of sttes nd trnsitions between the sttes. The trnsitions re triggered by events. As n exmple, Figure 8 shows the finite stte mchine for grge door opener. The control system consists of single button remote controller nd limit sensor. The button on the remote controller controls the door open, stop, nd close functions. The limit sensor is built-in sensor in the motor. When the door reches the limit, the sensor will generte notifiction nd stop the motor. closing stopped button pressed button pressed door closed limit tripped door closing button pressed button pressed door opening limit tripped door opened button pressed button pressed Figure 8. Finite stte mchine for grge door opener opening stopped The VIPLE progrm tht implements the finite stte mchine is given in Figure 9. The remote controller button is simulted by the keybord Ctrl key. As shown in Figure 9(), six sttes re coded in the If-ctivity with six conditions. When the Ctrl key is pressed, the If-ctivity checks the current stte, trnsits into the next stte, nd prints the result in the console using the Print Line service. The limit sensor built into the motor is simulted by the m- key. As shown in Figure 9(b), when the m-key is pressed while the door is opening or closing, the stte will chnge nd the result will be displyed. ASU VIPLE is bsed on the concept of computtionl thinking, which hides the technicl nd progrmming detils from the user, nd thus cn be used for teching high school students nd college freshmen s their first progrmming lnguge. It hs been pilot-tested t Arizon Stte University to high school students in summer cmps in 2015 nd It is used in n ASU regulr clss, FSE100 (Introduction to Engineering) nd severl other universities worldwide. As VIPLE supports open rchitecture nd open source development [20], VIPLE hs been dopted by numerous universities round the world, nd different VIPLE robots hve been developed by universities nd compnies to support course development. A typicl VIPLE robot costs less thn $200, while LEGO EV3 robot costs round $400. Two robotics simultion environments hve been developed: A Unity-bsed simultor nd Web-bsed simultor. These simultors llow VIPLE ppliction development without physicl robots. VI. CONCLUSIONS This pper presented ASU VIPLE (Visul IoT/Robotics Progrmming Lnguge Environment) nd its mthemticl model in -clculus. ASU VIPLE llows novice progrmmers to progrm complex IoT devices nd robots, nd lern progrmming concepts. It supports LEGO EV3 nd ll IoT 29

8 devices bsed on n open rchitecture. ASU VIPLE is free nd well documented t: neptune.fulton.d.su.edu/wsrepository/viple/ () Remote button press (b) Limit sensor touched Figure 9. VIPLE digrm implementing grge door opener REFERENCES [1] IoT, [2] Stephn Hller, A4_Things_Hller.pdf, My [3] Yinong Chen, Huling Hu, "Internet of Intelligent Things nd Robot s Service", Simultion Modelling Prctice nd Theory, Volume 34, My 2013, Pges [4] Ton Steenmn, GM, Intel Intelligent Systems Group: Accelerting the Trnsition to Intelligent Systems, Intel Embedded Reserch nd Eduction Summit, Februry 2012, wnlodbody/ /accelerting-the-trnsitionto-intelligent-systems.pdf [5] Kinji Mori, Autonomous Decentrlized System nd Its Strtegic Approch for Reserch nd Development, Invited Pper, Specil Issue on Autonomous Decentrlized Systems Theories nd Appliction Deployments, IEICE Trnsctions on Informtion nd Systems, Vol.E-91-D, No.9, pp , Sept [6] Autonomous Decentrlized Systems (ADS): en.wikipedi.org/wiki/autonomous_decentrlized_system [7] Yinong Chen, Zhihui Du, nd Mrcos Grci-Acost, M., "Robot s Service in Cloud Computing", In Proceedings of the Fifth IEEE Interntionl Symposium on Service Oriented System Engineering (SOSE), Nnjing, June 4-5, 2010, pp [8] Yinong Chen nd Zhizheng Zhou, Robot s Service in Computing Curriculum, the 12th Interntionl Symposium on Autonomous Decentrlized Systems, Tichung, Mrch 2015, pp [9] Yinong Chen, W.T. Tsi, Service-Oriented Computing nd Web Softwre Integrtion, 5 th Edition, Kendll Hunt Publishing, [10] App Inventor, [11] Alice, [12] Intel Service Orchestrtion Lyer, [13] Microsoft Robotics Developer Studio, [14] Wikipedi Studio [15] Yinong Chen, Gennro De Luc, VIPLE: Visul IoT/Robotics Progrmming Lnguge Environment for Computer Science Eduction. IPDPS Workshops 2016: [16] ASU erobotics progrmming environment, neptune.fulton.d.su.edu/wsrepository/erobotic/ [17] Aceto, L., Lrsen, K., & Ingolfsdottir, A. An Introduction to Milner's CCS [PDF document]. Retrieved from Web. [18] Milner, R. Communicting nd Mobile Systems: The clculus. Cmbridge: Cmbridge UP, Print. [19] Puhlmnn, F., & Weske, M. Using the -clculus for Formlizing Workflow Ptterns [PDF document]. Retrieved from [20] ASU VIPLE site: 30

Unit #9 : Definite Integral Properties, Fundamental Theorem of Calculus

Unit #9 : Definite Integral Properties, Fundamental Theorem of Calculus Unit #9 : Definite Integrl Properties, Fundmentl Theorem of Clculus Gols: Identify properties of definite integrls Define odd nd even functions, nd reltionship to integrl vlues Introduce the Fundmentl

More information

File Manager Quick Reference Guide. June Prepared for the Mayo Clinic Enterprise Kahua Deployment

File Manager Quick Reference Guide. June Prepared for the Mayo Clinic Enterprise Kahua Deployment File Mnger Quick Reference Guide June 2018 Prepred for the Myo Clinic Enterprise Khu Deployment NVIGTION IN FILE MNGER To nvigte in File Mnger, users will mke use of the left pne to nvigte nd further pnes

More information

How to Design REST API? Written Date : March 23, 2015

How to Design REST API? Written Date : March 23, 2015 Visul Prdigm How Design REST API? Turil How Design REST API? Written Dte : Mrch 23, 2015 REpresenttionl Stte Trnsfer, n rchitecturl style tht cn be used in building networked pplictions, is becoming incresingly

More information

EasyMP Multi PC Projection Operation Guide

EasyMP Multi PC Projection Operation Guide EsyMP Multi PC Projection Opertion Guide Contents 2 Introduction to EsyMP Multi PC Projection 5 EsyMP Multi PC Projection Fetures... 6 Connection to Vrious Devices... 6 Four-Pnel Disply... 6 Chnge Presenters

More information

Epson iprojection Operation Guide (Windows/Mac)

Epson iprojection Operation Guide (Windows/Mac) Epson iprojection Opertion Guide (Windows/Mc) Contents 2 Introduction to Epson iprojection 5 Epson iprojection Fetures... 6 Connection to Vrious Devices... 6 Four-Pnel Disply... 6 Chnge Presenters nd Projection

More information

VIPLE: Visual IoT/Robotics Programming Language Environment for Computer Science Education Yinong Chen and Gennaro De Luca

VIPLE: Visual IoT/Robotics Programming Language Environment for Computer Science Education Yinong Chen and Gennaro De Luca VIPLE: Visual IoT/Robotics Programming Language Environment for Computer Science Education Yinong Chen and Gennaro De Luca School of Computing, Informatics, and Decision Systems Engineering Arizona State

More information

Epson Projector Content Manager Operation Guide

Epson Projector Content Manager Operation Guide Epson Projector Content Mnger Opertion Guide Contents 2 Introduction to the Epson Projector Content Mnger Softwre 3 Epson Projector Content Mnger Fetures... 4 Setting Up the Softwre for the First Time

More information

Functor (1A) Young Won Lim 8/2/17

Functor (1A) Young Won Lim 8/2/17 Copyright (c) 2016-2017 Young W. Lim. Permission is grnted to copy, distribute nd/or modify this document under the terms of the GNU Free Documenttion License, Version 1.2 or ny lter version published

More information

Tool Vendor Perspectives SysML Thus Far

Tool Vendor Perspectives SysML Thus Far Frontiers 2008 Pnel Georgi Tec, 05-13-08 Tool Vendor Perspectives SysML Thus Fr Hns-Peter Hoffmnn, Ph.D Chief Systems Methodologist Telelogic, Systems & Softwre Modeling Business Unit Peter.Hoffmnn@telelogic.com

More information

IZT DAB ContentServer, IZT S1000 Testing DAB Receivers Using ETI

IZT DAB ContentServer, IZT S1000 Testing DAB Receivers Using ETI IZT DAB ContentServer, IZT S1000 Testing DAB Receivers Using ETI Appliction Note Rel-time nd offline modultion from ETI files Generting nd nlyzing ETI files Rel-time interfce using EDI/ETI IZT DAB CONTENTSERVER

More information

Functor (1A) Young Won Lim 10/5/17

Functor (1A) Young Won Lim 10/5/17 Copyright (c) 2016-2017 Young W. Lim. Permission is grnted to copy, distribute nd/or modify this document under the terms of the GNU Free Documenttion License, Version 1.2 or ny lter version published

More information

Fig.25: the Role of LEX

Fig.25: the Role of LEX The Lnguge for Specifying Lexicl Anlyzer We shll now study how to uild lexicl nlyzer from specifiction of tokens in the form of list of regulr expressions The discussion centers round the design of n existing

More information

Engineer To Engineer Note

Engineer To Engineer Note Engineer To Engineer Note EE-188 Technicl Notes on using Anlog Devices' DSP components nd development tools Contct our technicl support by phone: (800) ANALOG-D or e-mil: dsp.support@nlog.com Or visit

More information

vcloud Director Service Provider Admin Portal Guide vcloud Director 9.1

vcloud Director Service Provider Admin Portal Guide vcloud Director 9.1 vcloud Director Service Provider Admin Portl Guide vcloud Director 9. vcloud Director Service Provider Admin Portl Guide You cn find the most up-to-dte technicl documenttion on the VMwre website t: https://docs.vmwre.com/

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology

More information

EasyMP Network Projection Operation Guide

EasyMP Network Projection Operation Guide EsyMP Network Projection Opertion Guide Contents 2 Introduction to EsyMP Network Projection EsyMP Network Projection Fetures... 5 Disply Options... 6 Multi-Screen Disply Function... 6 Movie Sending Mode...

More information

c360 Add-On Solutions

c360 Add-On Solutions c360 Add-On Solutions Functionlity Dynmics CRM 2011 c360 Record Editor Reltionship Explorer Multi-Field Serch Alerts Console c360 Core Productivity Pck "Does your tem resist using CRM becuse updting dt

More information

pdfapilot Server 2 Manual

pdfapilot Server 2 Manual pdfpilot Server 2 Mnul 2011 by clls softwre gmbh Schönhuser Allee 6/7 D 10119 Berlin Germny info@cllssoftwre.com www.cllssoftwre.com Mnul clls pdfpilot Server 2 Pge 2 clls pdfpilot Server 2 Mnul Lst modified:

More information

ΕΠΛ323 - Θεωρία και Πρακτική Μεταγλωττιστών

ΕΠΛ323 - Θεωρία και Πρακτική Μεταγλωττιστών ΕΠΛ323 - Θωρία και Πρακτική Μταγλωττιστών Lecture 3 Lexicl Anlysis Elis Athnsopoulos elisthn@cs.ucy.c.cy Recognition of Tokens if expressions nd reltionl opertors if è if then è then else è else relop

More information

A Formalism for Functionality Preserving System Level Transformations

A Formalism for Functionality Preserving System Level Transformations A Formlism for Functionlity Preserving System Level Trnsformtions Smr Abdi Dniel Gjski Center for Embedded Computer Systems UC Irvine Center for Embedded Computer Systems UC Irvine Irvine, CA 92697 Irvine,

More information

Engineer To Engineer Note

Engineer To Engineer Note Engineer To Engineer Note EE-169 Technicl Notes on using Anlog Devices' DSP components nd development tools Contct our technicl support by phone: (800) ANALOG-D or e-mil: dsp.support@nlog.com Or visit

More information

Engineer-to-Engineer Note

Engineer-to-Engineer Note Engineer-to-Engineer Note EE-204 Technicl notes on using Anlog Devices DSPs, processors nd development tools Visit our Web resources http://www.nlog.com/ee-notes nd http://www.nlog.com/processors or e-mil

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

Simrad ES80. Software Release Note Introduction

Simrad ES80. Software Release Note Introduction Simrd ES80 Softwre Relese 1.3.0 Introduction This document descries the chnges introduced with the new softwre version. Product: ES80 Softwre version: 1.3.0 This softwre controls ll functionlity in the

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

In the last lecture, we discussed how valid tokens may be specified by regular expressions.

In the last lecture, we discussed how valid tokens may be specified by regular expressions. LECTURE 5 Scnning SYNTAX ANALYSIS We know from our previous lectures tht the process of verifying the syntx of the progrm is performed in two stges: Scnning: Identifying nd verifying tokens in progrm.

More information

Lab 1 - Counter. Create a project. Add files to the project. Compile design files. Run simulation. Debug results

Lab 1 - Counter. Create a project. Add files to the project. Compile design files. Run simulation. Debug results 1 L 1 - Counter A project is collection mechnism for n HDL design under specifiction or test. Projects in ModelSim ese interction nd re useful for orgnizing files nd specifying simultion settings. The

More information

INTRODUCTION TO SIMPLICIAL COMPLEXES

INTRODUCTION TO SIMPLICIAL COMPLEXES INTRODUCTION TO SIMPLICIAL COMPLEXES CASEY KELLEHER AND ALESSANDRA PANTANO 0.1. Introduction. In this ctivity set we re going to introduce notion from Algebric Topology clled simplicil homology. The min

More information

COMMON HALF YEARLY EXAMINATION DECEMBER 2018

COMMON HALF YEARLY EXAMINATION DECEMBER 2018 li.net i.net li.net i.net li.net i.net li.net i.net li.net i.net li.net i.net li.net i.net li.net i.net li.net i.net.pds.pds COMMON HALF YEARLY EXAMINATION DECEMBER 2018 STD : XI SUBJECT: COMPUTER SCIENCE

More information

A Scalable and Reliable Mobile Agent Computation Model

A Scalable and Reliable Mobile Agent Computation Model A Sclble nd Relible Mobile Agent Computtion Model Yong Liu, Congfu Xu, Zhohui Wu, nd Yunhe Pn College of Computer Science, Zhejing University Hngzhou 310027, Chin cckffe@yhoo.com.cn Abstrct. This pper

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

Midterm 2 Sample solution

Midterm 2 Sample solution Nme: Instructions Midterm 2 Smple solution CMSC 430 Introduction to Compilers Fll 2012 November 28, 2012 This exm contins 9 pges, including this one. Mke sure you hve ll the pges. Write your nme on the

More information

MA1008. Calculus and Linear Algebra for Engineers. Course Notes for Section B. Stephen Wills. Department of Mathematics. University College Cork

MA1008. Calculus and Linear Algebra for Engineers. Course Notes for Section B. Stephen Wills. Department of Mathematics. University College Cork MA1008 Clculus nd Liner Algebr for Engineers Course Notes for Section B Stephen Wills Deprtment of Mthemtics University College Cork s.wills@ucc.ie http://euclid.ucc.ie/pges/stff/wills/teching/m1008/ma1008.html

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

Lecture T4: Pattern Matching

Lecture T4: Pattern Matching Introduction to Theoreticl CS Lecture T4: Pttern Mtching Two fundmentl questions. Wht cn computer do? How fst cn it do it? Generl pproch. Don t tlk bout specific mchines or problems. Consider miniml bstrct

More information

Scanner Termination. Multi Character Lookahead. to its physical end. Most parsers require an end of file token. Lex and Jlex automatically create an

Scanner Termination. Multi Character Lookahead. to its physical end. Most parsers require an end of file token. Lex and Jlex automatically create an Scnner Termintion A scnner reds input chrcters nd prtitions them into tokens. Wht hppens when the end of the input file is reched? It my be useful to crete n Eof pseudo-chrcter when this occurs. In Jv,

More information

Creating Flexible Interfaces. Friday, 24 April 2015

Creating Flexible Interfaces. Friday, 24 April 2015 Creting Flexible Interfces 1 Requests, not Objects Domin objects re esy to find but they re not t the design center of your ppliction. Insted, they re trp for the unwry. Sequence digrms re vehicle for

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

TO REGULAR EXPRESSIONS

TO REGULAR EXPRESSIONS Suject :- Computer Science Course Nme :- Theory Of Computtion DA TO REGULAR EXPRESSIONS Report Sumitted y:- Ajy Singh Meen 07000505 jysmeen@cse.iit.c.in BASIC DEINITIONS DA:- A finite stte mchine where

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology

More information

ECE 468/573 Midterm 1 September 28, 2012

ECE 468/573 Midterm 1 September 28, 2012 ECE 468/573 Midterm 1 September 28, 2012 Nme:! Purdue emil:! Plese sign the following: I ffirm tht the nswers given on this test re mine nd mine lone. I did not receive help from ny person or mteril (other

More information

TECHNICAL NOTE MANAGING JUNIPER SRX PCAP DATA. Displaying the PCAP Data Column

TECHNICAL NOTE MANAGING JUNIPER SRX PCAP DATA. Displaying the PCAP Data Column TECHNICAL NOTE MANAGING JUNIPER SRX PCAP DATA APRIL 2011 If your STRM Console is configured to integrte with the Juniper JunOS Pltform DSM, STRM cn receive, process, nd store Pcket Cpture (PCAP) dt from

More information

Agilent Mass Hunter Software

Agilent Mass Hunter Software Agilent Mss Hunter Softwre Quick Strt Guide Use this guide to get strted with the Mss Hunter softwre. Wht is Mss Hunter Softwre? Mss Hunter is n integrl prt of Agilent TOF softwre (version A.02.00). Mss

More information

Reducing a DFA to a Minimal DFA

Reducing a DFA to a Minimal DFA Lexicl Anlysis - Prt 4 Reducing DFA to Miniml DFA Input: DFA IN Assume DFA IN never gets stuck (dd ded stte if necessry) Output: DFA MIN An equivlent DFA with the minimum numer of sttes. Hrry H. Porter,

More information

Engineer To Engineer Note

Engineer To Engineer Note Engineer To Engineer Note EE-186 Technicl Notes on using Anlog Devices' DSP components nd development tools Contct our technicl support by phone: (800) ANALOG-D or e-mil: dsp.support@nlog.com Or visit

More information

Engineer To Engineer Note

Engineer To Engineer Note Engineer To Engineer Note EE-208 Technicl Notes on using Anlog Devices' DSP components nd development tools Contct our technicl support by phone: (800) ANALOG-D or e-mil: dsp.support@nlog.com Or visit

More information

Tixeo compared to other videoconferencing solutions

Tixeo compared to other videoconferencing solutions compred to other videoconferencing solutions for V171026EN , unique solution on the video conferencing field Adobe Connect Web RTC Vydio for High security level, privcy Zero impct on network security policies

More information

Unit 5 Vocabulary. A function is a special relationship where each input has a single output.

Unit 5 Vocabulary. A function is a special relationship where each input has a single output. MODULE 3 Terms Definition Picture/Exmple/Nottion 1 Function Nottion Function nottion is n efficient nd effective wy to write functions of ll types. This nottion llows you to identify the input vlue with

More information

9 4. CISC - Curriculum & Instruction Steering Committee. California County Superintendents Educational Services Association

9 4. CISC - Curriculum & Instruction Steering Committee. California County Superintendents Educational Services Association 9. CISC - Curriculum & Instruction Steering Committee The Winning EQUATION A HIGH QUALITY MATHEMATICS PROFESSIONAL DEVELOPMENT PROGRAM FOR TEACHERS IN GRADES THROUGH ALGEBRA II STRAND: NUMBER SENSE: Rtionl

More information

Enginner To Engineer Note

Enginner To Engineer Note Technicl Notes on using Anlog Devices DSP components nd development tools from the DSP Division Phone: (800) ANALOG-D, FAX: (781) 461-3010, EMAIL: dsp_pplictions@nlog.com, FTP: ftp.nlog.com Using n ADSP-2181

More information

Lecture Overview. Knowledge-based systems in Bioinformatics, 1MB602. Procedural abstraction. The sum procedure. Integration as a procedure

Lecture Overview. Knowledge-based systems in Bioinformatics, 1MB602. Procedural abstraction. The sum procedure. Integration as a procedure Lecture Overview Knowledge-bsed systems in Bioinformtics, MB6 Scheme lecture Procedurl bstrction Higher order procedures Procedures s rguments Procedures s returned vlues Locl vribles Dt bstrction Compound

More information

Data sharing in OpenMP

Data sharing in OpenMP Dt shring in OpenMP Polo Burgio polo.burgio@unimore.it Outline Expressing prllelism Understnding prllel threds Memory Dt mngement Dt cluses Synchroniztion Brriers, locks, criticl sections Work prtitioning

More information

Stained Glass Design. Teaching Goals:

Stained Glass Design. Teaching Goals: Stined Glss Design Time required 45-90 minutes Teching Gols: 1. Students pply grphic methods to design vrious shpes on the plne.. Students pply geometric trnsformtions of grphs of functions in order to

More information

If you are at the university, either physically or via the VPN, you can download the chapters of this book as PDFs.

If you are at the university, either physically or via the VPN, you can download the chapters of this book as PDFs. Lecture 5 Wlks, Trils, Pths nd Connectedness Reding: Some of the mteril in this lecture comes from Section 1.2 of Dieter Jungnickel (2008), Grphs, Networks nd Algorithms, 3rd edition, which is ville online

More information

VoIP for the Small Business

VoIP for the Small Business Reducing your telecommunictions costs Reserch firm IDC 1 hs estimted tht VoIP system cn reduce telephony-relted expenses by 30%. Voice over Internet Protocol (VoIP) hs become vible solution for even the

More information

NOTES. Figure 1 illustrates typical hardware component connections required when using the JCM ICB Asset Ticket Generator software application.

NOTES. Figure 1 illustrates typical hardware component connections required when using the JCM ICB Asset Ticket Generator software application. ICB Asset Ticket Genertor Opertor s Guide Septemer, 2016 Septemer, 2016 NOTES Opertor s Guide ICB Asset Ticket Genertor Softwre Instlltion nd Opertion This document contins informtion for downloding, instlling,

More information

Complete Coverage Path Planning of Mobile Robot Based on Dynamic Programming Algorithm Peng Zhou, Zhong-min Wang, Zhen-nan Li, Yang Li

Complete Coverage Path Planning of Mobile Robot Based on Dynamic Programming Algorithm Peng Zhou, Zhong-min Wang, Zhen-nan Li, Yang Li 2nd Interntionl Conference on Electronic & Mechnicl Engineering nd Informtion Technology (EMEIT-212) Complete Coverge Pth Plnning of Mobile Robot Bsed on Dynmic Progrmming Algorithm Peng Zhou, Zhong-min

More information

VoIP for the Small Business

VoIP for the Small Business Reducing your telecommunictions costs Reserch firm IDC 1 hs estimted tht VoIP system cn reduce telephony-relted expenses by 30%. TechAdvisory.org SME Reports sponsored by Voice over Internet Protocol (VoIP)

More information

Section 10.4 Hyperbolas

Section 10.4 Hyperbolas 66 Section 10.4 Hyperbols Objective : Definition of hyperbol & hyperbols centered t (0, 0). The third type of conic we will study is the hyperbol. It is defined in the sme mnner tht we defined the prbol

More information

McAfee Network Security Platform

McAfee Network Security Platform Mnger Applince Quick Strt Guide Revision B McAfee Network Security Pltform This guide is high-level description of how to instll nd configure the Mnger Applince. For more detiled instlltion informtion,

More information

Fall 2018 Midterm 1 October 11, ˆ You may not ask questions about the exam except for language clarifications.

Fall 2018 Midterm 1 October 11, ˆ You may not ask questions about the exam except for language clarifications. 15-112 Fll 2018 Midterm 1 October 11, 2018 Nme: Andrew ID: Recittion Section: ˆ You my not use ny books, notes, extr pper, or electronic devices during this exm. There should be nothing on your desk or

More information

COMPUTER EDUCATION TECHNIQUES, INC. (MS_W2K3_SERVER ) SA:

COMPUTER EDUCATION TECHNIQUES, INC. (MS_W2K3_SERVER ) SA: In order to lern which questions hve een nswered correctly: 1. Print these pges. 2. Answer the questions. 3. Send this ssessment with the nswers vi:. FAX to (212) 967-3498. Or. Mil the nswers to the following

More information

Sage CRM 2018 R1 Software Requirements and Mobile Features. Updated: May 2018

Sage CRM 2018 R1 Software Requirements and Mobile Features. Updated: May 2018 Sge CRM 2018 R1 Softwre Requirements nd Mobile Fetures Updted: My 2018 2018, The Sge Group plc or its licensors. Sge, Sge logos, nd Sge product nd service nmes mentioned herein re the trdemrks of The Sge

More information

On components with explicit protocols satisfying a notion of correctness by construction

On components with explicit protocols satisfying a notion of correctness by construction On components with explicit protocols stisfying notion of correctness by construction Andrés Frís nd Mrio Südholt Déprtement Informtique École des Mines de Nntes 4, rue Alfred Kstler BP 20722 F-44307 Nntes

More information

Registering as an HPE Reseller

Registering as an HPE Reseller Registering s n HPE Reseller Quick Reference Guide for new Prtners Mrch 2019 Registering s new Reseller prtner There re four min steps to register on the Prtner Redy Portl s new Reseller prtner: Appliction

More information

CSCI 3130: Formal Languages and Automata Theory Lecture 12 The Chinese University of Hong Kong, Fall 2011

CSCI 3130: Formal Languages and Automata Theory Lecture 12 The Chinese University of Hong Kong, Fall 2011 CSCI 3130: Forml Lnguges nd utomt Theory Lecture 12 The Chinese University of Hong Kong, Fll 2011 ndrej Bogdnov In progrmming lnguges, uilding prse trees is significnt tsk ecuse prse trees tell us the

More information

OUTPUT DELIVERY SYSTEM

OUTPUT DELIVERY SYSTEM Differences in ODS formtting for HTML with Proc Print nd Proc Report Lur L. M. Thornton, USDA-ARS, Animl Improvement Progrms Lortory, Beltsville, MD ABSTRACT While Proc Print is terrific tool for dt checking

More information

AUTOMOTIVE CAPABILITY DIRECTORY INFORMATION PACK Sponsorship - Advertising - Listings

AUTOMOTIVE CAPABILITY DIRECTORY INFORMATION PACK Sponsorship - Advertising - Listings AUTOMOTIVE ELECTRONICS E CS CAPABILITY DIRECTORY 2017 INFORMATION PACK Sponsorship - Advertising - Listings ABOUT THE DIRECTORY AESIN will be publishing their exclusive UK Automotive Electronics Cpbility

More information

Theory of Computation CSE 105

Theory of Computation CSE 105 $ $ $ Theory of Computtion CSE 105 Regulr Lnguges Study Guide nd Homework I Homework I: Solutions to the following problems should be turned in clss on July 1, 1999. Instructions: Write your nswers clerly

More information

McAfee Network Security Platform

McAfee Network Security Platform NTBA Applince T-200 nd T-500 Quick Strt Guide Revision B McAfee Network Security Pltform 1 Instll the mounting rils Position the mounting rils correctly nd instll them t sme levels. At the front of the

More information

Data Flow on a Queue Machine. Bruno R. Preiss. Copyright (c) 1987 by Bruno R. Preiss, P.Eng. All rights reserved.

Data Flow on a Queue Machine. Bruno R. Preiss. Copyright (c) 1987 by Bruno R. Preiss, P.Eng. All rights reserved. Dt Flow on Queue Mchine Bruno R. Preiss 2 Outline Genesis of dt-flow rchitectures Sttic vs. dynmic dt-flow rchitectures Pseudo-sttic dt-flow execution model Some dt-flow mchines Simple queue mchine Prioritized

More information

box Boxes and Arrows 3 true 7.59 'X' An object is drawn as a box that contains its data members, for example:

box Boxes and Arrows 3 true 7.59 'X' An object is drawn as a box that contains its data members, for example: Boxes nd Arrows There re two kinds of vriles in Jv: those tht store primitive vlues nd those tht store references. Primitive vlues re vlues of type long, int, short, chr, yte, oolen, doule, nd flot. References

More information

MATH 25 CLASS 5 NOTES, SEP

MATH 25 CLASS 5 NOTES, SEP MATH 25 CLASS 5 NOTES, SEP 30 2011 Contents 1. A brief diversion: reltively prime numbers 1 2. Lest common multiples 3 3. Finding ll solutions to x + by = c 4 Quick links to definitions/theorems Euclid

More information

A New Learning Algorithm for the MAXQ Hierarchical Reinforcement Learning Method

A New Learning Algorithm for the MAXQ Hierarchical Reinforcement Learning Method A New Lerning Algorithm for the MAXQ Hierrchicl Reinforcement Lerning Method Frzneh Mirzzdeh 1, Bbk Behsz 2, nd Hmid Beigy 1 1 Deprtment of Computer Engineering, Shrif University of Technology, Tehrn,

More information

Sage CRM 2017 R3 Software Requirements and Mobile Features. Updated: August 2017

Sage CRM 2017 R3 Software Requirements and Mobile Features. Updated: August 2017 Sge CRM 2017 R3 Softwre Requirements nd Mobile Fetures Updted: August 2017 2017, The Sge Group plc or its licensors. Sge, Sge logos, nd Sge product nd service nmes mentioned herein re the trdemrks of The

More information

4452 Mathematical Modeling Lecture 4: Lagrange Multipliers

4452 Mathematical Modeling Lecture 4: Lagrange Multipliers Mth Modeling Lecture 4: Lgrnge Multipliers Pge 4452 Mthemticl Modeling Lecture 4: Lgrnge Multipliers Lgrnge multipliers re high powered mthemticl technique to find the mximum nd minimum of multidimensionl

More information

Introduction to Integration

Introduction to Integration Introduction to Integrtion Definite integrls of piecewise constnt functions A constnt function is function of the form Integrtion is two things t the sme time: A form of summtion. The opposite of differentition.

More information

Address/Data Control. Port latch. Multiplexer

Address/Data Control. Port latch. Multiplexer 4.1 I/O PORT OPERATION As discussed in chpter 1, ll four ports of the 8051 re bi-directionl. Ech port consists of ltch (Specil Function Registers P0, P1, P2, nd P3), n output driver, nd n input buffer.

More information

CS321 Languages and Compiler Design I. Winter 2012 Lecture 5

CS321 Languages and Compiler Design I. Winter 2012 Lecture 5 CS321 Lnguges nd Compiler Design I Winter 2012 Lecture 5 1 FINITE AUTOMATA A non-deterministic finite utomton (NFA) consists of: An input lphet Σ, e.g. Σ =,. A set of sttes S, e.g. S = {1, 3, 5, 7, 11,

More information

Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming

Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming Lecture 10 Evolutionry Computtion: Evolution strtegies nd genetic progrmming Evolution strtegies Genetic progrmming Summry Negnevitsky, Person Eduction, 2011 1 Evolution Strtegies Another pproch to simulting

More information

2 Computing all Intersections of a Set of Segments Line Segment Intersection

2 Computing all Intersections of a Set of Segments Line Segment Intersection 15-451/651: Design & Anlysis of Algorithms Novemer 14, 2016 Lecture #21 Sweep-Line nd Segment Intersection lst chnged: Novemer 8, 2017 1 Preliminries The sweep-line prdigm is very powerful lgorithmic design

More information

Definition of Regular Expression

Definition of Regular Expression Definition of Regulr Expression After the definition of the string nd lnguges, we re redy to descrie regulr expressions, the nottion we shll use to define the clss of lnguges known s regulr sets. Recll

More information

CS201 Discussion 10 DRAWTREE + TRIES

CS201 Discussion 10 DRAWTREE + TRIES CS201 Discussion 10 DRAWTREE + TRIES DrwTree First instinct: recursion As very generic structure, we could tckle this problem s follows: drw(): Find the root drw(root) drw(root): Write the line for the

More information

Fig.1. Let a source of monochromatic light be incident on a slit of finite width a, as shown in Fig. 1.

Fig.1. Let a source of monochromatic light be incident on a slit of finite width a, as shown in Fig. 1. Answer on Question #5692, Physics, Optics Stte slient fetures of single slit Frunhofer diffrction pttern. The slit is verticl nd illuminted by point source. Also, obtin n expression for intensity distribution

More information

An introduction to model checking

An introduction to model checking An introduction to model checking Slide 1 University of Albert Edmonton July 3rd, 2002 Guy Trembly Dépt d informtique UQAM Outline Wht re forml specifiction nd verifiction methods? Slide 2 Wht is model

More information

Dr. D.M. Akbar Hussain

Dr. D.M. Akbar Hussain Dr. D.M. Akr Hussin Lexicl Anlysis. Bsic Ide: Red the source code nd generte tokens, it is similr wht humns will do to red in; just tking on the input nd reking it down in pieces. Ech token is sequence

More information

Engineer-to-Engineer Note

Engineer-to-Engineer Note Engineer-to-Engineer Note EE-232 Technicl notes on using Anlog Devices DSPs, processors nd development tools Contct our technicl support t dsp.support@nlog.com nd t dsptools.support@nlog.com Or visit our

More information

EasyMP Multi PC Projection Operation Guide

EasyMP Multi PC Projection Operation Guide EsyMP Multi PC Projection Opertion Guide Contents 2 About EsyMP Multi PC Projection Meeting Styles Proposed by EsyMP Multi PC Projection... 5 Holding Meetings Using Multiple Imges... 5 Holding Remote Meetings

More information

CMSC 331 First Midterm Exam

CMSC 331 First Midterm Exam 0 00/ 1 20/ 2 05/ 3 15/ 4 15/ 5 15/ 6 20/ 7 30/ 8 30/ 150/ 331 First Midterm Exm 7 October 2003 CMC 331 First Midterm Exm Nme: mple Answers tudent ID#: You will hve seventy-five (75) minutes to complete

More information

Distributed Systems Principles and Paradigms

Distributed Systems Principles and Paradigms Distriuted Systems Principles nd Prdigms Chpter 11 (version April 7, 2008) Mrten vn Steen Vrije Universiteit Amsterdm, Fculty of Science Dept. Mthemtics nd Computer Science Room R4.20. Tel: (020) 598 7784

More information

An Overview of PDF/X. Dov Isaacs Principal Scientist, Workflow & Interoperability Chair, ISO TC130 WG2/TF2, PDF/X April 27, 2011

An Overview of PDF/X. Dov Isaacs Principal Scientist, Workflow & Interoperability Chair, ISO TC130 WG2/TF2, PDF/X April 27, 2011 An Overview of PDF/X Dov Iscs Principl Scientist, Workflow & Interoperbility Chir, ISO TC130 WG2/TF2, PDF/X April 27, 2011 PDF s n Adobe File Formt 1993 to 2008 PDF formt introduced by Adobe with Acrobt

More information

MIPS I/O and Interrupt

MIPS I/O and Interrupt MIPS I/O nd Interrupt Review Floting point instructions re crried out on seprte chip clled coprocessor 1 You hve to move dt to/from coprocessor 1 to do most common opertions such s printing, clling functions,

More information

Digital Signal Processing: A Hardware-Based Approach

Digital Signal Processing: A Hardware-Based Approach Digitl Signl Processing: A Hrdwre-Bsed Approch Roert Esposito Electricl nd Computer Engineering Temple University troduction Teching Digitl Signl Processing (DSP) hs included the utilition of simultion

More information

A Heuristic Approach for Discovering Reference Models by Mining Process Model Variants

A Heuristic Approach for Discovering Reference Models by Mining Process Model Variants A Heuristic Approch for Discovering Reference Models by Mining Process Model Vrints Chen Li 1, Mnfred Reichert 2, nd Andres Wombcher 3 1 Informtion System Group, University of Twente, The Netherlnds lic@cs.utwente.nl

More information

Topic 2: Lexing and Flexing

Topic 2: Lexing and Flexing Topic 2: Lexing nd Flexing COS 320 Compiling Techniques Princeton University Spring 2016 Lennrt Beringer 1 2 The Compiler Lexicl Anlysis Gol: rek strem of ASCII chrcters (source/input) into sequence of

More information

Preserving Constraints for Aggregation Relationship Type Update in XML Document

Preserving Constraints for Aggregation Relationship Type Update in XML Document Preserving Constrints for Aggregtion Reltionship Type Updte in XML Document Eric Prdede 1, J. Wenny Rhyu 1, nd Dvid Tnir 2 1 Deprtment of Computer Science nd Computer Engineering, L Trobe University, Bundoor

More information

Compatibility Testing - A Must Do of the Web Apps. By Premalatha Shanmugham & Kokila Elumalai

Compatibility Testing - A Must Do of the Web Apps. By Premalatha Shanmugham & Kokila Elumalai Comptibility Testing - A Must Do of the Web Apps By Premlth Shnmughm & Kokil Elumli Agend The Need The Impct The Chllenges The Strtegy The Checklist Metrics Inferences The Rod Ahed 2 2012 Indium Softwre

More information

1. SEQUENCES INVOLVING EXPONENTIAL GROWTH (GEOMETRIC SEQUENCES)

1. SEQUENCES INVOLVING EXPONENTIAL GROWTH (GEOMETRIC SEQUENCES) Numbers nd Opertions, Algebr, nd Functions 45. SEQUENCES INVOLVING EXPONENTIAL GROWTH (GEOMETRIC SEQUENCES) In sequence of terms involving eponentil growth, which the testing service lso clls geometric

More information