Architectural design: the coordination perspective

Size: px
Start display at page:

Download "Architectural design: the coordination perspective"

Transcription

1 Architectural design: the coordination perspective José Proença HASLab - INESC TEC & UM Arquitectura e Cálculo :FO

2 Outline 1.Visual semantics for Reo Connector colouring (CC)1 2.Locality (concurrency) partial connector colouring (PCC)2 3.Constraints SAT solving with data for Reo3 1 Dave Clarke, David Costa, and Farhad Arbab. Connector colouring I: Synchronisation and context dependency 2 Dave Clarke and José Proença. Partial connector colouring 3 Dave Clarke, José Proença, Alexander Lazovik, and Farhad Arbab, Channel-based coordination via constraint satisfaction José Proença, Dave Clarke, Interactive interaction constraints

3 9:35pm DST evening x y z Display x! bx := 9:35pm x $ y y! by := DST(bx) (y ^ evening(by)) $ z z! bz := by Reo as (Interactive) Constraints

4 Coordination as constraint satisfaction a b a $ b b! b b := ba Formulas a b b! a b! b b := ba update solve a P b b! b b := ba (a ^ P(ba)) $ b Solution a f b a $ b b! b b := f(ba)

5 Exercise: write constraints Wr(d) Rd

6 Building up constraints Connector colouring as constraints Data constraints Interactive constraints

7 Context (need for extra interaction)

8 Hotel booking Request SrchHotel 1 SrchHotel 2 Approve Book [Cancel] Confirmed SrchHotel 3 Interaction with hotel repositories Interaction with users Interaction with hotels (availability & payment)

9 Problem of Interaction

10 Coordination as constraint satisfaction Constraint update [interaction] solve Solution 0 dataflow 0

11 Asynchronous transactions in A i F i ok i out ok i stopped F 1 i stop in stopped A 1 A 2 A n out stop

12 Synchronous transactions in S i F i ok i out stopped F 1 i ok i stop in stopped S 1 S 2 S n out stop

13 Problem Interaction or Synchrony but not both

14 Solution Interactive Interaction Constraints

15 Coordination as constraint satisfaction Constraint update [interaction] solve Solution dataflow

16 Coordination as interactive constraint satisfaction Constraint update [interaction] solve [interaction] Solution dataflow

17 Synchronous transactions in S i F i ok i out stopped F 1 i ok i stop in stopped S 1 S 2 S n out stop

18 Synchronous transactions in B i F i [F 1 i ] ok i out in B 1 B 2 B n out

19 Interactive Interaction Constraints DB CA User Wr Wr Rd

20 Scala / Java implementation in B i F i [F 1 i ] ok i out val f = Function( f ) { case s: String => /* do something */ } val finv = Function( f^-1 ) { case s: String => /* do something */ } class Filter(a: String, b: String, p: Predicate) extends... { val ok = Predicate( ok ) { case s: String => /* do something */ } val connector = writer( in,list( a, b )) ++ transf( in, x,f,finv) ++ filter( x, out,ok) ++ sdrain( x, out ) ++ reader( out,2) connector.run() } def getconstraint = Constraint( b --> a, b --> (b := a), b --> (a :< p), (a /\ (a :< p)) --> b ) /* override def update(s: Option[Solution]) =... */

21 More about constraints

22 CC2 as constraints [ Colouring: End {Flow, NoFlow} ] Formula: Boolean over End Composition = conjunction a b ( a b) a b (a b) b! a a b (a b)

23 CC3 as constraints [ Colouring: End {Flow, GiveReason, GetReason} ] Formula: Boolean over End, End src, Endsnk a = flow on a ; a src = give reason ; bsnk = get reason a a a a b b b b b a (a b) (a b snk ) a ( b a src b snk )

24 CC3 as constraints Composition a = flow on a ; asrc = give reason ; bsnk = get reason one-to-one composition: source to sink ends x x snk x src

25 CC3 as constraints example a b c = b a c (a b) (a b snk ) a ( b a src b snk ) ( b b src ) c snk b src b snk {a b c c snk } = { a b c a src b snk b src c snk } =

26 Data constraints 9:35pm DST evening x y z Display x! bx := 9:35pm x $ y y! by := DST(bx) (y ^ evening(by)) $ z z! bz := by How to solve this?

27 Predicate abstraction 9:35pm DST evening x y z Display original x! bx := 9:35pm x $ y y! by := DST(bx) (y ^ evening(by)) $ z z! bz := by boolean x! bx ev.dst :=[evening(dst(9:35pm))] y! by ev := bx ev.dst (y ^ by ev ) $ z x $ y

28 Interaction via Choco 9:35pm DST evening x y z Display boolean x! bx ev.dst :=[evening(dst(9:35pm))] y! by ev := bx ev.dst (y ^ by ev ) $ z x $ y interactive x! XPred(ev.dst,x,9:35pm) x $ y y! by ev := bx ev.dst (y ^ by ev ) $ z

29 Interaction via Choco 9:35pm boolean x y z Display x! bx ev.dst :=[evening(dst(9:35pm))] interactive instance of a Choco constraint DST evening reacts when x or bx ev.dst is instantiated x bx can be anything ev.dst x ) bx ev.dst = ev(dst(9:35pm)) y! by ev := bx ev.dst x! XPred(ev.dst,x,9:35pm) y! by ev := bx ev.dst (y ^ by ev ) $ z x $ y (y ^ by ev ) $ z x $ y

30 Wrapping up Rd Reo and connector colouring Interactive constraint solving in stopped A i F i F 1 i ok i ok i out stop Expose the atomicity of Reo to components in B i F i [F 1 i ] ok i out

31 Ongoing experiments Avoiding pre-processing (SMT instead of SAT) a, â Compiling steps: Heuristics for identifying potential partial colourings Combining local and interactive constraints (probably to a journal)

Interactive Interaction Constraints

Interactive Interaction Constraints Interactive Interaction Constraints José Proença, Dave Clarke To cite this version: José Proença, Dave Clarke. Interactive Interaction Constraints. Rocco Nicola; Christine Julien. 15th International Conference

More information

Modeling, Testing and Executing Reo Connectors with the. Reo, Eclipse Coordination Tools

Modeling, Testing and Executing Reo Connectors with the. Reo, Eclipse Coordination Tools Replace this file with prentcsmacro.sty for your meeting, or with entcsmacro.sty for your meeting. Both can be found at the ENTCS Macro Home Page. Modeling, Testing and Executing Reo Connectors with the

More information

Opleiding Informatica

Opleiding Informatica Opleiding Informatica A browser-based graphical editor for Reo networks Maarten Smeyers Supervisors: Prof. dr. Farhad Arbab & Kasper Dokter BACHELOR THESIS Leiden Institute of Advanced Computer Science

More information

Dreams. A distributed framework for synchronous coordination. July 22, 2010

Dreams. A distributed framework for synchronous coordination. July 22, 2010 Dreams A distributed framework for synchronous coordination July 22, 2010 José Proença Dreams A distributed framework for synchronous coordination July 22, 2010 ILLC Dissertation Series DS-200X-NN (almost...)

More information

Recent Trends in OO Modelling Languages

Recent Trends in OO Modelling Languages JML,, Institute for Software Technology Graz University of Technology Graz, Austria United Nations University International Institute for Software Technology Macao S.A.R. China Overture 2006 Outline JML

More information

Dreams: a framework for distributed synchronous coordination

Dreams: a framework for distributed synchronous coordination Dreams: a framework for distributed synchronous coordination José Proença Dave Clarke IBBT-DistriNet, KUL Leuven, Belgium {jose.proenca,dave.clarke}@cs.kuleuven.be Erik de Vink TUE, Eindhoven, The Netherlands

More information

Modeling and Verification of Connectors in Complex Systems

Modeling and Verification of Connectors in Complex Systems Modeling and Verification of Connectors in Complex Systems Sun Meng LMAM & Department of Information Science, School of Mathematical Sciences Peking University http://www.math.pku.edu.cn/teachers/sunm

More information

Using Coordinated Actors to Model Families of Distributed Systems

Using Coordinated Actors to Model Families of Distributed Systems Using Coordinated Actors to Model Families of Distributed Systems Ramtin Khosravi 1,2 and Hamideh Sabouri 1 1 School of ECE, University of Tehran, Iran 2 School of CS, Institute for Studies in Fundamental

More information

Visual Composition and Automatic Code Generation for Heterogeneous Components Coordination with Reo

Visual Composition and Automatic Code Generation for Heterogeneous Components Coordination with Reo Visual Composition and Automatic Code Generation for Heterogeneous Components Coordination with Reo Herve Kabamba Mbikayi Abstract With the expansion of new technologies such as web-services, most of tools

More information

Synchronous Coordination of Distributed Components

Synchronous Coordination of Distributed Components Synchronous Coordination of Distributed Components José Proença Synchronous Coordination of Distributed Components Synchronous Coordination of Distributed Components PROEFSCHRIFT ter verkrijging van

More information

Service Request Languages based on AI Planning - II

Service Request Languages based on AI Planning - II Service Request Languages based on AI Planning - II Alexander Lazovik CWI a.lazovik@cwi.nl IPA Lentedagen on Service-oriented Computing Conference center Kapellerput, Heeze, April 3-5, 2007 Summary Constraint

More information

Using the SDACK Architecture to Build a Big Data Product. Yu-hsin Yeh (Evans Ye) Apache Big Data NA 2016 Vancouver

Using the SDACK Architecture to Build a Big Data Product. Yu-hsin Yeh (Evans Ye) Apache Big Data NA 2016 Vancouver Using the SDACK Architecture to Build a Big Data Product Yu-hsin Yeh (Evans Ye) Apache Big Data NA 2016 Vancouver Outline A Threat Analytic Big Data product The SDACK Architecture Akka Streams and data

More information

Microservices. Webservices with Scala (II) Microservices

Microservices. Webservices with Scala (II) Microservices Microservices Webservices with Scala (II) Microservices 2018 1 Content Deep Dive into Play2 1. Database Access with Slick 2. Database Migration with Flyway 3. akka 3.1. overview 3.2. akka-http (the http

More information

Encoding Web Service Constraints at your Service Coreographies as Constraints

Encoding Web Service Constraints at your Service Coreographies as Constraints Encoding Web Service Constraints at your Service Coreographies as Constraints Marco Aiello DIT, University of Trento & DSG, TUWien aiellom@ieee.org Joint work with: Mike Papazoglou, Alexander Lazovik,

More information

Report Writer. To access this module click on the Reports Link button from any OVD screen

Report Writer. To access this module click on the Reports Link button from any OVD screen Report Writer This is a valuable management tool. You will find standard reports already loaded into your Auto-Quote system. You can also generate you own reports, limited only by your own creativity and

More information

BCS Higher Education Qualifications. Level 6 Programming Paradigms Syllabus

BCS Higher Education Qualifications. Level 6 Programming Paradigms Syllabus BCS Higher Education Qualifications Level 6 Programming Paradigms Syllabus Version 3.0 December 2016 This is a United Kingdom government regulated qualification which is administered and approved by one

More information

Global shared variables. Message passing paradigm. Communication Ports. Port characteristics. Sending a message 07/11/2018

Global shared variables. Message passing paradigm. Communication Ports. Port characteristics. Sending a message 07/11/2018 Global shared variables In most RT applications, tasks exchange data through global shared variables. Advantages High efficiency Low run-time overhead Schedulability analysis is available Disadvantages

More information

TOWARDS AUTOMATED VERIFICATION OF WEB SERVICES

TOWARDS AUTOMATED VERIFICATION OF WEB SERVICES TOWARDS AUTOMATED VERIFICATION OF WEB SERVICES Cátia Vaz INESC-ID Lisboa, ISEL-IPL Rua Alves Redol 9, 1000-029 Lisboa cvaz@cc.isel.ipl.pt Carla Ferreira INESC-ID, IST-UTL Rua Alves Redol 9, 1000-029 Lisboa

More information

A MODEL-INTEGRATED AUTHORING ENVIRONMENT FOR PRIVACY POLICIES

A MODEL-INTEGRATED AUTHORING ENVIRONMENT FOR PRIVACY POLICIES 1 A MODEL-INTEGRATED AUTHORING ENVIRONMENT FOR PRIVACY POLICIES Tihamer Levendovszky, Andras Nadas, Istvan Madari, Janos Sztipanovits Institute for Software Integrated Systems at Vanderbilt University

More information

A Sophomoric Introduction to Shared-Memory Parallelism and Concurrency Lecture 5 Programming with Locks and Critical Sections

A Sophomoric Introduction to Shared-Memory Parallelism and Concurrency Lecture 5 Programming with Locks and Critical Sections A Sophomoric Introduction to Shared-Memory Parallelism and Concurrency Lecture 5 Programming with Locks and Critical Sections Dan Grossman Last Updated: May 2012 For more information, see http://www.cs.washington.edu/homes/djg/teachingmaterials/

More information

ReforMing Mashups.

ReforMing Mashups. ReforMing Mashups Ziyan Maraikar 1 and Alexander Lazovik 2 1 Centrum voor Wiskunde en Informatica, The Netherlands Z.Maraikar@cwi.nl 2 INRIA Saclay, Parc Club Orsay Université, France lazovik@lri.fr Abstract.

More information

Applied Unified Ownership. Capabilities for Sharing Across Threads

Applied Unified Ownership. Capabilities for Sharing Across Threads Applied Unified Ownership or Capabilities for Sharing Across Threads Elias Castegren Tobias Wrigstad DRF transfer parallel programming AppliedUnified Ownership memory management placement in pools (previous

More information

CS 2223 B15 Term. Homework 1 (100 pts.)

CS 2223 B15 Term. Homework 1 (100 pts.) CS 2223 B15 Term. Homework 1 (100 pts.) Homework Instructions This homework is to be completed individually. If you have any questions as to what constitutes improper behavior, review the examples I have

More information

The Java Memory Model

The Java Memory Model Jeremy Manson 1, William Pugh 1, and Sarita Adve 2 1 University of Maryland 2 University of Illinois at Urbana-Champaign Presented by John Fisher-Ogden November 22, 2005 Outline Introduction Sequential

More information

Coordinating Multicore Computing

Coordinating Multicore Computing Coordinating Multicore Computing International School on Formal Methods for the Design of Computer, Communication, and Software Systems (SFM-15:MP) Bertinoro, Italy Farhad Arbab Center for Mathematics

More information

Version Control. Kyungbaek Kim. Chonnam National University School of Electronics and Computer Engineering. Original slides from James Brucker

Version Control. Kyungbaek Kim. Chonnam National University School of Electronics and Computer Engineering. Original slides from James Brucker Version Control Chonnam National University School of Electronics and Computer Engineering Kyungbaek Kim Original slides from James Brucker What is version control Manage documents over time Keep a history

More information

Cyber Physical System Verification with SAL

Cyber 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 information

CSE332: Data Abstractions Lecture 19: Mutual Exclusion and Locking

CSE332: Data Abstractions Lecture 19: Mutual Exclusion and Locking CSE332: Data Abstractions Lecture 19: Mutual Exclusion and Locking James Fogarty Winter 2012 Including slides developed in part by Ruth Anderson, James Fogarty, Dan Grossman Banking Example This code is

More information

Orchestration vs Choreography

Orchestration vs Choreography Orchestration vs Choreography u In many cases, there is no unique point of invocation for the services n In these cases, we say that the system is a choreography n Let starts with an example: w Consider

More information

Module 3. Requirements Analysis and Specification. Version 2 CSE IIT, Kharagpur

Module 3. Requirements Analysis and Specification. Version 2 CSE IIT, Kharagpur Module 3 Requirements Analysis and Specification Lesson 6 Formal Requirements Specification Specific Instructional Objectives At the end of this lesson the student will be able to: Explain what a formal

More information

G52CON: Concepts of Concurrency

G52CON: Concepts of Concurrency G52CON: Concepts of Concurrency Lecture 4: Atomic Actions Natasha Alechina School of Computer Science nza@cs.nott.ac.uk Outline of the lecture process execution fine-grained atomic actions using fine-grained

More information

IV. Process Synchronisation

IV. Process Synchronisation IV. Process Synchronisation Operating Systems Stefan Klinger Database & Information Systems Group University of Konstanz Summer Term 2009 Background Multiprogramming Multiple processes are executed asynchronously.

More information

Scala 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 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 information

Persistent Data Structures and Managed References

Persistent Data Structures and Managed References Persistent Data Structures and Managed References Clojure s approach to Identity and State Rich Hickey Agenda Functions and processes Identity, State, and Values Persistent Data Structures Clojure s Managed

More information

Outline. Threads. Single and Multithreaded Processes. Benefits of Threads. Eike Ritter 1. Modified: October 16, 2012

Outline. 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 information

CS 6112 (Fall 2011) Foundations of Concurrency

CS 6112 (Fall 2011) Foundations of Concurrency . CS 6112 (Fall 2011) Foundations of Concurrency. 20 October 2011 Scribe: Alec Story.. Actors are a fairly old idea for concurrency, but a lot of the old work is confusing and hard to read. Actors have

More information

CS205: Scalable Software Systems

CS205: Scalable Software Systems CS205: Scalable Software Systems Lecture 4 September 14, 2016 Lecture 4 CS205: Scalable Software Systems September 14, 2016 1 / 16 Quick Recap Things covered so far Problem solving by recursive decomposition

More information

Building Synchronous DataFlow graphs with UML & MARTE/CCSL

Building Synchronous DataFlow graphs with UML & MARTE/CCSL Building Synchronous DataFlow graphs with UML & MARTE/CCSL F. Mallet, J. DeAntoni, C. André, R. de Simone Aoste - INRIA/I3S Université de Nice Sophia Antipolis UML & Formal methods Ambiguity and structural

More information

Constraint Solving. Systems and Internet Infrastructure Security

Constraint Solving. Systems and Internet Infrastructure Security Systems and Internet Infrastructure Security Network and Security Research Center Department of Computer Science and Engineering Pennsylvania State University, University Park PA Constraint Solving Systems

More information

EE 422C HW 6 Multithreaded Programming

EE 422C HW 6 Multithreaded Programming EE 422C HW 6 Multithreaded Programming 100 Points Due: Monday 4/16/18 at 11:59pm Problem A certain theater plays one show each night. The theater has multiple box office outlets to sell tickets, and the

More information

Generating Tests for Detecting Faults in Feature Models

Generating Tests for Detecting Faults in Feature Models Generating Tests for Detecting Faults in Feature Models Paolo Arcaini 1, Angelo Gargantini 2, Paolo Vavassori 2 1 Charles University in Prague, Czech Republic 2 University of Bergamo, Italy Outline Feature

More information

G52CON: Concepts of Concurrency

G52CON: Concepts of Concurrency G52CON: Concepts of Concurrency Lecture 11 Synchronisation in Java II Natasha Alechina School of Computer Science nza@cs.nott.ac.uk Outline of this lecture Mutual exclusion in Java continued (next lecture:

More information

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors. Michel Raynal, Julien Stainer

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors. Michel Raynal, Julien Stainer Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors Michel Raynal, Julien Stainer Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors

More information

The Rule of Constancy(Derived Frame Rule)

The Rule of Constancy(Derived Frame Rule) The Rule of Constancy(Derived Frame Rule) The following derived rule is used on the next slide The rule of constancy {P } C {Q} {P R} C {Q R} where no variable assigned to in C occurs in R Outline of derivation

More information

Identity, State and Values

Identity, State and Values Identity, State and Values Clojure s approach to concurrency Rich Hickey Agenda Functions and processes Identity, State, and Values Persistent Data Structures Clojure s Managed References Q&A Functions

More information

MIT Spring 2011 Quiz 3

MIT Spring 2011 Quiz 3 MIT 6.035 Spring 2011 Quiz 3 Full Name: MIT ID: Athena ID: Run L A TEX again to produce the table 1. Consider a simple machine with one ALU and one memory unit. The machine can execute an ALU operation

More information

Proving the Correctness of Distributed Algorithms using TLA

Proving the Correctness of Distributed Algorithms using TLA Proving the Correctness of Distributed Algorithms using TLA Khushboo Kanjani, khush@cs.tamu.edu, Texas A & M University 11 May 2007 Abstract This work is a summary of the Temporal Logic of Actions(TLA)

More information

Composition of State Machines

Composition of State Machines Chapter 5 Composition of State Machines Hongwei Zhang http://www.cs.wayne.edu/~hzhang/ Ack.: this lecture is prepared in part based on slides of Lee, Sangiovanni-Vincentelli, Seshia. Outline Concurrent

More information

CSE332: Data Abstractions Lecture 23: Programming with Locks and Critical Sections. Tyler Robison Summer 2010

CSE332: Data Abstractions Lecture 23: Programming with Locks and Critical Sections. Tyler Robison Summer 2010 CSE332: Data Abstractions Lecture 23: Programming with Locks and Critical Sections Tyler Robison Summer 2010 1 Concurrency: where are we Done: The semantics of locks Locks in Java Using locks for mutual

More information

Multicore DSP Software Synthesis using Partial Expansion of Dataflow Graphs

Multicore DSP Software Synthesis using Partial Expansion of Dataflow Graphs Multicore DSP Software Synthesis using Partial Expansion of Dataflow Graphs George F. Zaki, William Plishker, Shuvra S. Bhattacharyya University of Maryland, College Park, MD, USA & Frank Fruth Texas Instruments

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 2 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2017 Contents What are software requirements? Requirements Engineering Process Domain

More information

Static Analysis of Embedded C Code

Static Analysis of Embedded C Code Static Analysis of Embedded C Code John Regehr University of Utah Joint work with Nathan Cooprider Relevant features of C code for MCUs Interrupt-driven concurrency Direct hardware access Whole program

More information

Stuart

Stuart Clojure Time Stuart Halloway stu@clojure.com @stuarthalloway Copyright 2007-2010 Relevance, Inc. This presentation is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United

More information

Getting Started with Web Services

Getting Started with Web Services Getting Started with Web Services Getting Started with Web Services A web service is a set of functions packaged into a single entity that is available to other systems on a network. The network can be

More information

CA314 Object Oriented Analysis & Design - 7. File name: CA314_Section_07_Ver01 Author: L Tuohey No. of pages: 16

CA314 Object Oriented Analysis & Design - 7. File name: CA314_Section_07_Ver01 Author: L Tuohey No. of pages: 16 CA314 Object Oriented Analysis & Design - 7 File name: CA314_Section_07_Ver01 Author: L Tuohey No. of pages: 16 Table of Contents 7. UML State & Activity Diagrams (see ref 1, Chap. 11, 12)...3 7.1 Introduction...3

More information

Cover Page. The handle holds various files of this Leiden University dissertation

Cover Page. The handle   holds various files of this Leiden University dissertation Cover Page The handle http://hdl.handle.net/1887/22891 holds various files of this Leiden University dissertation Author: Gouw, Stijn de Title: Combining monitoring with run-time assertion checking Issue

More information

Automated Analysis of Reo Circuits using Symbolic Execution

Automated Analysis of Reo Circuits using Symbolic Execution FOCLASA 2009 Automated Analysis of Reo Circuits using Symbolic Execution Bahman Pourvatan 1 Computer Engineering Dept., Amirkabir University of Technology, Tehran, Iran LIACS, Leiden University, Netherlands

More information

CS Programming Languages: Scala

CS Programming Languages: Scala CS 3101-2 - Programming Languages: Scala Lecture 6: Actors and Concurrency Daniel Bauer (bauer@cs.columbia.edu) December 3, 2014 Daniel Bauer CS3101-2 Scala - 06 - Actors and Concurrency 1/19 1 Actors

More information

Software Interconnection Models. Unit Interconnection

Software Interconnection Models. Unit Interconnection Software Connectors 1 Software Interconnection Models Interconnection Models (IM) as defined by Perry unit interconnection syntactic interconnection semantic interconnection All three are present in a

More information

Software Transactional Networking: Concurrent and Consistent Policy Composition

Software Transactional Networking: Concurrent and Consistent Policy Composition Software Transactional Networking: Concurrent and Consistent Policy Composition Dan Levin Marco Canini, Petr Kuznetsov*, Stefan Schmid TU Berlin/T-Labs, *Telecom ParisTech Software Transactional Networking:

More information

Functional Programming in Embedded System Design

Functional Programming in Embedded System Design Functional Programming in Embedded System Design Al Strelzoff CTO, E-TrolZ Lawrence, Mass. al.strelzoff@e-trolz.com 1/19/2006 Copyright E-TrolZ, Inc. 1 of 20 Hard Real Time Embedded Systems MUST: Be highly

More information

Concurrency User Guide

Concurrency User Guide Concurrency User Guide Release 1.0 Dylan Hackers January 26, 2019 CONTENTS 1 Basic Abstractions 3 1.1 Executors................................................. 3 1.2 Queues..................................................

More information

Software Service Engineering

Software Service Engineering Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language

More information

Getting Started with Web Services

Getting Started with Web Services Getting Started with Web Services Getting Started with Web Services A web service is a set of functions packaged into a single entity that is available to other systems on a network. The network can be

More information

4. Business Process Diagram Graphical Objects

4. Business Process Diagram Graphical Objects 4. Business Process Diagram Graphical Objects This section details the graphical representation and the semantics of the behavior of BPD elements. 4.1 Common BPD Object Attributes The following table displays

More information

The Relational Model

The Relational Model The Relational Model David Toman School of Computer Science University of Waterloo Introduction to Databases CS348 David Toman (University of Waterloo) The Relational Model 1 / 28 The Relational Model

More information

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh SOFTWARE DESIGN COSC 4353 / 6353 Dr. Raj Singh UML - History 2 The Unified Modeling Language (UML) is a general purpose modeling language designed to provide a standard way to visualize the design of a

More information

The UPPAAL Model Checker. Julián Proenza Systems, Robotics and Vision Group. UIB. SPAIN

The UPPAAL Model Checker. Julián Proenza Systems, Robotics and Vision Group. UIB. SPAIN The UPPAAL Model Checker Julián Proenza Systems, Robotics and Vision Group. UIB. SPAIN The aim of this presentation Introduce the basic concepts of model checking from a practical perspective Describe

More information

Java Review Outline. basics exceptions variables arrays modulo operator if statements, booleans, comparisons loops: while and for

Java Review Outline. basics exceptions variables arrays modulo operator if statements, booleans, comparisons loops: while and for Java Review Outline basics exceptions variables arrays modulo operator if statements, booleans, comparisons loops: while and for Java basics write a simple program, e.g. hello world http://www2.hawaii.edu/~esb/2017fall.ics211/helloworl

More information

The ComFoRT Reasoning Framework

The ComFoRT Reasoning Framework Pittsburgh, PA 15213-3890 The ComFoRT Reasoning Framework Sagar Chaki James Ivers Natasha Sharygina Kurt Wallnau Predictable Assembly from Certifiable Components Enable the development of software systems

More information

Efficient Composition Styles

Efficient Composition Styles Efficient Composition Styles Franz Achermann, Nathanael Schärli Software Composition Group University of Berne www.iam.unibe.ch/~ scg Software Composition Group Slide 1 of 15 Overview Introduction What

More information

CSCI 3155: Homework Assignment 3

CSCI 3155: Homework Assignment 3 CSCI 3155: Homework Assignment 3 Spring 2012: Due Monday, February 27, 2012 Like last time, find a partner. You will work on this assignment in pairs. However, note that each student needs to submit a

More information

STEP BY STEP HOW TO CONNECT TO

STEP BY STEP HOW TO CONNECT TO STEP BY STEP HOW TO CONNECT TO Important information Bookings Responsibility You have to accept all bookings, RU (Rentals United) can not cancel a reservation on your behalf. Only the guest can and once

More information

A Standalone Package for Bringing Graphics Processor Acceleration to GNU Radio: GRGPU

A Standalone Package for Bringing Graphics Processor Acceleration to GNU Radio: GRGPU A Standalone Package for Bringing Graphics Processor Acceleration to GNU Radio: GRGPU William Plishker University of Maryland plishker@umd.edu 1/25 Outline Introduction GPU Background Graphics Processor

More information

Conceptual modeling of entities and relationships using Alloy

Conceptual modeling of entities and relationships using Alloy Conceptual modeling of entities and relationships using Alloy K. V. Raghavan Indian Institute of Science, Bangalore Conceptual modeling What is it? Capture requirements, other essential aspects of software

More information

Applying Graphics Processor Acceleration in a Software Defined Radio Prototyping Environment

Applying Graphics Processor Acceleration in a Software Defined Radio Prototyping Environment Applying Graphics Processor Acceleration in a Software Defined Radio Prototyping Environment GNU Radio with Graphics Processor Acceleration as a Standalone Package Will Plishker, George F. Zaki, Shuvra

More information

Non-Blocking Inter-Partition Communication with Wait-Free Pair Transactions

Non-Blocking Inter-Partition Communication with Wait-Free Pair Transactions Non-Blocking Inter-Partition Communication with Wait-Free Pair Transactions Ethan Blanton and Lukasz Ziarek Fiji Systems, Inc. October 10 th, 2013 WFPT Overview Wait-Free Pair Transactions A communication

More information

Model checking Timber program. Paweł Pietrzak

Model checking Timber program. Paweł Pietrzak Model checking Timber program Paweł Pietrzak 1 Outline Background on model checking (spam?) The SPIN model checker An exercise in SPIN - model checking Timber Deriving finite models from Timber programs

More information

Pooya Saadatpanah, Michalis Famelis, Jan Gorzny, Nathan Robinson, Marsha Chechik, Rick Salay. September 30th, University of Toronto.

Pooya Saadatpanah, Michalis Famelis, Jan Gorzny, Nathan Robinson, Marsha Chechik, Rick Salay. September 30th, University of Toronto. Comparing the Pooya Michalis Jan Nathan Marsha Chechik, Rick Salay University of Toronto September 30th, 2012 MoDeVVa 12 1 / 32 in software modeling : pervasive in MDE Models with uncertainty: Represent

More information

COMP 763. Eugene Syriani. Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science. McGill University

COMP 763. Eugene Syriani. Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science. McGill University Eugene Syriani Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science McGill University 1 OVERVIEW In the context In Theory: Timed Automata The language: Definitions and Semantics

More information

1. Login to AutoCount Accounting on the account book that user wish to install this plug-in.

1. Login to AutoCount Accounting on the account book that user wish to install this plug-in. Page1 Introduction Plug-in is an add-on function for AutoCount Accounting. The purpose of this plug-in is to provide an approval platform for user to control their Sales and Purchase entries. System Requirement

More information

Topic 1: Introduction

Topic 1: Introduction Topic 1: Introduction COS 320 Compiling Techniques Princeton University Spring 2015 Prof. David August 1 The Usual Suspects Me: Prof. David August, 221 CS Building august@, 258-2085 Office Hours: Tu/Th

More information

Software Architecture

Software Architecture Software Architecture Lecture 4 Data Flow Systems Rob Pettit George Mason University Previously: software engineering NATO SE conference Subroutines 1960 Software architecture Software development environments

More information

ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE

ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE Dave Clarke 1 THIS LECTURE At the end of this lecture you will know notations for expressing software architecture the design principles of cohesion

More information

Homework 13: User Manual Due: Monday, May 1, at 5:00 PM

Homework 13: User Manual Due: Monday, May 1, at 5:00 PM Homework 13: User Manual Due: Monday, May 1, at 5:00 PM Team Code Name: RFID Xpress Group No. 10 NOTE: This is one of the last sections needed to finish the Final Report. This homework will count for 4%

More information

1. About AP Invoice Wizard

1. About AP Invoice Wizard 1. About AP Invoice Wizard Welcome to AP Invoice Wizard. We have developed this tool in response to demand from Oracle Payables users for a user friendly and robust spreadsheet tool to load AP Invoices

More information

Crystal Reports 7. Overview. Contents. Parameter Fields

Crystal Reports 7. Overview. Contents. Parameter Fields Overview Contents This document provides information about parameter fields in Crystal Reports (CR) version 7.x. Definition of terms, architecture, usage and features are discussed. This document should

More information

Type Systems. Today. 1. Organizational Matters. 1. Organizational Matters. Lecture 1 Oct. 20th, 2004 Sebastian Maneth. 1. Organizational Matters

Type Systems. Today. 1. Organizational Matters. 1. Organizational Matters. Lecture 1 Oct. 20th, 2004 Sebastian Maneth. 1. Organizational Matters Today Type Systems 1. Organizational Matters 2. What is this course about? 3. Where do types come from? 4. Def. of the small language Expr. Its syntax and semantics. Lecture 1 Oct. 20th, 2004 Sebastian

More information

Module 4. Implementation of XQuery. Part 0: Background on relational query processing

Module 4. Implementation of XQuery. Part 0: Background on relational query processing Module 4 Implementation of XQuery Part 0: Background on relational query processing The Data Management Universe Lecture Part I Lecture Part 2 2 What does a Database System do? Input: SQL statement Output:

More information

Hoare logic. A proof system for separation logic. Introduction. Separation logic

Hoare logic. A proof system for separation logic. Introduction. Separation logic Introduction Hoare logic Lecture 6: Examples in separation logic In the previous lecture, we saw how reasoning about pointers in Hoare logic was problematic, which motivated introducing separation logic.

More information

Introduction to Software Engineering. 6. Modeling Behaviour

Introduction to Software Engineering. 6. Modeling Behaviour Introduction to Software Engineering 6. Modeling Behaviour Roadmap > Use Case Diagrams > Sequence Diagrams > Collaboration (Communication) Diagrams > Activity Diagrams > Statechart Diagrams Nested statecharts

More information

Asynchronous Communication Mechanisms (ACMs) EECE, Newcastle University

Asynchronous Communication Mechanisms (ACMs) EECE, Newcastle University Asynchronous Communication Mechanisms (ACMs) Fei Xia EECE, Newcastle University Data communication between two asynchronous processes Point to point connection writer data reader Data is a stream of items

More information

Software Architectures

Software Architectures Software Architectures Richard N. Taylor Information and Computer Science University of California, Irvine Irvine, California 92697-3425 taylor@ics.uci.edu http://www.ics.uci.edu/~taylor +1-949-824-6429

More information

THUR 3:30 PM BUILDING AN AUTOMATED PROCESS THAT INTERACTS WITH DIFFERENT SYSTEMS

THUR 3:30 PM BUILDING AN AUTOMATED PROCESS THAT INTERACTS WITH DIFFERENT SYSTEMS THUR 3:30 PM BUILDING AN AUTOMATED PROCESS THAT INTERACTS WITH DIFFERENT SYSTEMS AXON IVY PROCESS AUTOMATION Marcel Pruegel Solutions Engineer, Axon Ivy June 2 nd 2016 AGENDA 2 ointroduction oget the Desinger!

More information

CS 2340 Objects and Design - Scala

CS 2340 Objects and Design - Scala CS 2340 Objects and Design - Scala Objects and Operators Christopher Simpkins chris.simpkins@gatech.edu Chris Simpkins (Georgia Tech) CS 2340 Objects and Design - Scala Objects and Operators 1 / 13 Classes

More information

APM. Object Monitor. Object Lab. Richard Hayton & Scarlet Schwiderski

APM. Object Monitor. Object Lab. Richard Hayton & Scarlet Schwiderski APM POSEIDON HOUSE CASTLE PARK CAMBRIDGE CB3 0RD UNITED KINGDOM +44 1223 515010 Fax +44 1223 359779 Email: apm@ansa.co.uk URL: http://www.ansa.co.uk Object Lab Object Monitor Richard Hayton & Scarlet Schwiderski

More information

Decision Procedures in First Order Logic

Decision Procedures in First Order Logic in First Order Logic for Equality Logic Daniel Kroening and Ofer Strichman 1 Outline Introduction Definition, complexity Reducing Uninterpreted Functions to Equality Logic Using Uninterpreted Functions

More information

The Design Process. General Development Issues. C/C++ and OO Rules of Thumb. Home

The Design Process. General Development Issues. C/C++ and OO Rules of Thumb. Home A l l e n I. H o l u b & A s s o c i a t e s Home C/C++ and OO Rules of Thumb The following list is essentially the table of contents for my book Enough Rope to Shoot Yourself in the Foot (McGraw-Hill,

More information

CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring 2004

CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring 2004 CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring 2004 Lecture 9: Readers-Writers and Language Support for Synchronization 9.1.2 Constraints 1. Readers can access database

More information

EXAMINATIONS 2008 MID-YEAR COMP431 COMPILERS. Instructions: Read each question carefully before attempting it.

EXAMINATIONS 2008 MID-YEAR COMP431 COMPILERS. Instructions: Read each question carefully before attempting it. T E W H A R E W Ā N A N G A O T E Ū P O K O O T E I K A A M Ā U I VUW V I C T O R I A UNIVERSITY OF WELLINGTON EXAMINATIONS 2008 MID-YEAR COMP431 COMPILERS Time Allowed: 3 Hours Instructions: Read each

More information