Centre for Parallel Computing, University of Westminster, London, W1M 8JS

Size: px
Start display at page:

Download "Centre for Parallel Computing, University of Westminster, London, W1M 8JS"

Transcription

1 Graphical Construction of Parallel Programs G. R. Ribeiro Justo Centre for Parallel Computing, University of Westminster, London, WM 8JS Abstract Parallel programming is not dicult, as the programs build up their complex behaviours in a similar way to the real world (i.e through the simple interaction of independent and simple entities). The parallel system engineer needs, however, a systematic method to decomposing the networks into independent ones or composing existing processes to form new networks. In this paper, we introduce a technique for the graphical construction of hierarchical networks (or congurations) of processes. The technique focuses on the concept of templates which dene reusable patterns of communication and synchronisation for processes. We introduce a set of graphical rules based on the equivalence between processes, more specically templates, and networks (congurations) of templates. The rules can be used to decompose networks of processes by substituting a single process for an equivalent sub-network of processes, or to abstract a sub-network of processes as a single process in order to simplify complex networks. Keywords: Parallel Programming, Graphical Design, Program Transformation. Introduction There is a general consensus that software systems should be constructed in a hierarchical modular way based upon the composition of software components. The underlying model commonly used to describe and implement parallel systems as a network of (hierarchical) communicating processes satises that requirement. This suggests that the software architectural description (network or, as we usually call it, \conguration" of processes) is essential for all phases of the development of parallel software from specication, which can be seen as a conguration of component sub-specications, to evolution, as changes to a system conguration can be carried out dynamically during the system execution by removing or including new processes. To simplify the construction of congurations, graphical notations have been widely used [,,, ]. The graphical representation of a parallel program conguration is usually simple. It includes icons (usually boxes or circles) to denote processes, lines to denote communication or synchronisation paths between processes and arrows to represent the ow of messages between the processes. Semantics for congurations of processes has also been proposed [, ]. The semantics is usually dened in terms of the structure of the conguration (structural semantics [, ]) that gives information about nodes (processes), ports and links. However, we also need information about the states and external events the conguration can perform which are dened by a behavioural semantics [,, 8]. Several attempts have been made to combine the structural and behavioural aspects of a conguration in the same graphical representation. A simple way of doing this is to include behavioural expressions for the links of each process. Another approach is to ap-

2 ply the concept of timing thread [9] that species the ordering of events of the processes' ports (interface). These notations, however, usually complicate the diagram. One problem encountered is that, in general, there is no technique for semanticpreserving transformation or verication of the behavioural properties of the conguration using the graphical notation directly. This is usually done on the textual (behavioural) specication of the conguration, for example, using the formal description of the conguration written in a CCS [8] or CSP [] specication of the conguration. In this paper, we show that the concept of template [0, ] can be used to dene rules that allow us to transform (abstract or decompose) graphically congurations of processes. The rules relate templates and congurations of templates that are behavioural equivalent. Thus, we can transform a conguration by substituting a conguration of templates for an equivalent template (abstraction) or by substituting a single template for an equivalent conguration of templates (decomposition). These rules are important during the development of parallel programs. Abstraction can be applied, for example, to reduce the number of processes of a conguration. Deadlock-freedom properties can, therefore, be checked more easily. Also, during the allocation of the processes to the target architecture, we usually need to alter the number of processes { sometimes there are too many processes, and sometimes there are too few. This means that congurations have to be serialised into single processes (abstraction), or processes have to be parallelised into congurations of processes (decomposition). In this paper, we will concentrate on two kinds of templates, namely, IO-SEQ and IO-PAR, that we have been using in many applications, and the graphical rules associated with them. The remainder of the paper is set out as follows. Section reviews the concept of template (focusing on the IO-SEQ and IO-PAR templates) and its graphical representation. In Section, the rules are introduced. Section covers examples of the use of the rules in the construction of congurations. Finally, Section presents comments and directions for future work.. The Concept Of template A template, basically, denes a type of synchronisation or communication pattern that a process can perform. We can identify many of these patterns that dene the behaviours of general processes. For instance, a process server generally behaves as follows. It receives requests from several client processes, selects one of them, performs some activity for the chosen client and at the end sends back the result. We have studied several types of templates but for brevity we will concentrate on only two of them. The rst template is called IO-PAR and denes a process that sends and receives messages in parallel. More formally, if we assume the alphabet of an IO-PAR process P to be P, then the behaviour of P is dened by the following traces []: traces(p ) = INTERLEAVES (P ) [ (INTERLEAVES(P ) ^ traces(p )) () where the function INTERLEAVES computes permutations of events and the function INTERLEAVES applies INTERLEAVES to the powerset of the process' alphabet. The

3 denition above determines that the traces of P are described by all interleavings of events in the alphabet. The second template is called IO-SEQ and corresponds to a process that receives a set of messages in parallel, performs some computation and sends another set of messages. In this case, the traces of an IO-SEQ process Q with alphabet Q = in(q) [ out(q) are characterised by the sequences of two interleavings one for the receives and another for the sends: traces(q) = INTERLEAVES (in(q)) [ (INTERLEAVES(in(Q)) ^ INTERLEAVES (out(q))) [ ((INTERLEAVES(in(Q)) ^ INTERLEAVES(out(Q))) ^ traces(q)) () Every template is given a unique graphical notation. In the case of IO-PAR and IO-SEQ templates, a box stands for an IO-PAR template and a box divided into two segments an IO-SEQ template. Each segment corresponds to the receives and sends respectively. Other types of representations can be seen in [, ]. The templates can be composed in parallel to form congurations. In a conguration (graph), edges symbolise internal links between pairs of processes. In an edge, the source node is the process that sends messages and the target node is the process that receives the messages. If an edge is linked to only one process it means that the process can communicate with the external environment. The names of the edges { i.e. the names of the events generated by the processes are, for simplication, only named when necessary. It is worth considering an important property of the conguration graphs of IO-PAR and IO-SEQ templates. As the behaviour of the templates species all sends always occur in parallel, and all receives also occur in parallel, when several links exist between two templates in the same direction, only one edge needs to be represented in the graph because communications can occur at the same time. This means that the conguration graphs do not contain \parallel edges" between template vertices. Also, to simplify the application of the graphical rules, half of the box representing an IO-SEQ template is sometimes shaded. A box with the left side shaded describes a process that does not receive messages from the environment. Similarly, if right half of the box is shaded the process does not send messages to the environment. Figure (a) shows a conguration of IO-SEQ templates that computes an 8-point Fast Fourier Transform (FFT). Every template corresponds to a buttery process that executes a two-point FFT. Figure (b) illustrates a conguration of IO-PAR and IO-SEQ templates that simulates a simple ipop device. The IO-SEQ templates, and refer to wiring (splitting) processes. Processes and are IO-PAR templates that refer to and gates. Processes and are IO-PAR templates that refer to nor gates. The and and nor IO-PAR gates must send null values initially because the IO-PAR behaviour species that sends and receives occur in parallel. More details on how these circuits work can be seen in [].. Equivalence Rules for Templates Our technique is based on rules that dene the equivalence between templates and con-

4 R Clear 0 0 Clk Q Q.bar (a) S Preset (b) Figure : Congurations of IO-PAR and IO-SEQ templates. (a) FTT (b) Flip-op. guration of templates. Since IO-PAR and IO-SEQ templates have particular properties, we have dened a special kind of equivalence that we call p-equivalence [0]. We use the concept of p-traces (precedence traces) that denes the possible ordering (or precedence) of the events in the alphabet of a process derived from its traces. The main idea is to determinate how processes interact with IO-PAR and IO-SEQ templates, simplifying the proof of properties of congurations of templates. Instead of comparing traces of processes, we compare p-traces or the more simple initial p-traces. In this case, two processes that have the same (initial) p-traces are p-equivalent. For example, an IO-PAR template P with alphabet P has the initial p-traces: p-traces(p ) = fs j s u and u INTERLEAVES(P )g () So, every process that has the same initial p-traces of P is p-equivalent to P. Similarly, an IO-SEQ template has the initial p-traces: p-traces(p ) = ft 0 j t 0 < u and u INTERLEAVES(in(P ))g () [ ft 0 ^ t j t 0 INTERLEAVES(in(P )) and t v for v INTERLEAVES(out(P ))g. Equivalence Rules for IO-PAR templates In Figure (a) we present equivalence rules that relate congurations of IO-PAR and IO-SEQ templates with IO-PAR templates. The strategy we used to dene the complete set of rules was to systematically generate every directed graph with three nodes including IO-PAR and IO-SEQ nodes. We then proved by induction that we can apply the rules to graphs of any size. The induction cannot start with graphs of only two nodes because of the fork and join congurations shown in Rule and Rule. The rules are usually simple and easy to understand. More complex rules can be dened from the basic rules. Rule says that a conguration of two IO-PAR templates that communicate is p-equivalent to an IO-PAR template. The dotted lines denote edges that may exist but are not a condition for application of the rule. This means that Rule can be applied to any kind of conguration of two IO-PAR templates. The p-equivalent IO-PAR template sends (receives) messages to (from) the environment like both templates.

5 Rule Rule Rule Rule Rule Rule 8 Rule Rule (a) (b) Figure : Graphical equivalence rules for congurations of IO-PAR and IO-SEQ templates. In Rule, the IO-SEQ template must only send messages to the IO-PAR template but it receives messages from the environment and can also receive messages from the IO-PAR template. The p-equivalent IO-PAR template receives messages from the environment like the IO-SEQ template, and also sends (receives) messages to (from) the environment like the IO-PAR template. Rule is the reverse of Rule, as the IO-SEQ template must only receive messages from the IO-PAR template. Rule is a special rule. It corresponds to a kind of \fork" conguration where the IO- SEQ template connects a set of IO-PAR templates. In the diagram, the \ " determines that there can be an arbitrary number of IO-PAR templates. Note also that the IO-PAR templates do not communicate. If they did, we could have applied Rule, and then Rule to prove that the conguration was p-equivalent to an IO-PAR template. The p-equivalent IO-PAR template in Rule receives messages from the environment as the IO-SEQ template and also sends (receives) to (from) the environment like every IO-PAR template in the conguration. The last rule, Rule, is the reverse of Rule.. Equivalence Rules For IO-SEQ templates Unlike an IO-PAR template where the events in the alphabet may occur in any order, an IO-SEQ template imposes an ordering in the execution of the events in its alphabet such that the receives always occur before the sends. Therefore, any conguration that includes at least one IO-PAR template cannot be equivalent to an IO-SEQ template. Figure (b) introduces the basic equivalence rules for congurations of only IO-SEQ templates. Rule species a conguration of two IO-SEQ templates where the rst pro-

6 Rule 9 Rule 0 Rule Figure : Context-dependent equivalence rules for congurations of IO-SEQ templates. cess only receives messages from the environment, and only sends messages to the second process. On the other hand, the second process only receives messages from the rst process and only sends messages to the environment. The p-equivalent IO-SEQ template receives messages from the environment like the rst process, and sends messages like the second process. In Rule, the rst process is similar to Rule. However, the second process does not have to receive messages only from the rst process, it can also receive messages from the environment. In this case, the p-equivalent IO-SEQ template receives messages from the environment like both processes. Rule is the reverse of this rule. Another group of equivalence rules for congurations of IO-SEQ templates is presented in Figure. These rules are only valid in a special context (environment). The context is described as a conguration of templates. In the graphical rule, it corresponds to the conguration outside the solid line box delimited by the dotted rounded-corner box.

7 (a) (b) Figure : Congurations p-equivalent to the FFT conguration. To explain the use of the context in the rules, assume a conguration similar to that dened in Rule where the rst process also sends messages to the environment. This means that this process may send messages to the environment before the second process has received its messages from the environment. Hence, the conguration does not satisfy the behaviour of an IO-SEQ template that only sends messages (to the environment) after it has received all its messages. Rule 9, however, requires that the rst process can only send messages to processes in the environment that are part of a sequence of IO-SEQ templates receiving messages from the second process in the conguration. This condition guarantees that the processes in the sequence cannot send messages until they have received the messages from the second process in the conguration. Observe also that the dotted lines inside the IO- SEQ template indicate that it may only send (receive) messages to (from) that particular environment { that is, the sends (receives) are internal if we consider the conguration together with the sequences of processes in the environment. Similar conditions are required by Rule 0 which is the reverse of Rule 9. Rule is the more complex rule. It is a generalisation of Rule. It requires that all processes that send messages to the environment can only do so after receiving the messages from all processes that receive messages from the environment. This guarantees that the sends only occur after all receives. The context is similar to the combination of the ones of Rule 9 and Rule 0.. Using the Equivalence Rules. Simplifying Congurations One of the main applications of the rules is in the simplication of complex congurations. For example, the conguration in Figure (a) can be proved to be p-equivalent to a single IO-SEQ template. The rst step of the proof is to rearrange the processes as Figure (a) shows. It then becomes clear that we can apply Rule to each of the two sub-congurations. The result is the p-equivalent conguration in Figure (b). This conguration satises Rule, therefore it is p-equivalent to a single IO-SEQ template. Figure illustrates congurations p-equivalent to the ipop in Figure (b). In Figure (a), each one of the two sub-congurations can be substituted by p-equivalent

8 R Clear R Clear R Clear Clk Q Clk Q Clk Q Q.bar Q.bar Q.bar S Preset S Preset S Preset (a) (b) (c) Figure : Congurations p-equivalent to the ipop conguration. IO-PAR templates by applying Rule. Therefore, the conguration in Figure (b) is p-equivalent to the ipop conguration in Figure (a). Also, by Rule, the subconguration in Figure (b) is p-equivalent to an IO-PAR template. This shows that the conguration in Figure (c) is also p-equivalent to the ipop conguration.. Decomposing Congurations As we said, the rules can also be applied to the decomposition (renement) of a con- guration. This is illustrated by a Hospital Monitoring System. The main components of the system are: doctor, nurse, pharmacist and patient. The doctor receives information from the patient about his/her condition, and reports from the nurse about the patient's progress. He/She then sends instructions to the nurse about the the treatment to be applied to the patient. The nurse monitors the patient, and requests the pharmacist to send the prescribed medicine. We assume that the system starts when the nurse requests data about the new patient, informs the doctor he/she has started, and asks the pharmacist to get ready. However, the doctor, the patient or the pharmacist may arrive before the nurse. In this case, we associate an IO-PAR template with the Nurse process to indicate that possibility. The patient waits for treatment from the nurse, and sends information about his/her state to the doctor and the nurse. So, the Patient process behaves like an IO-SEQ template. The doctor receives information from the nurse and the patient, and asks the nurse to apply the treatment. In this case, the Doctor process also behaves like an IO-SEQ template. Finally, the pharmacist only receives requests from the nurse and sends back the medicine. This corresponds to a simple IO-SEQ template behaviour. The graphical solution to the Hospital System using IO-SEQ and IO-PAR templates is presented in Figure (a). The decomposition strategy depends on the particular design. In general, we try to increase the strength of each module (in our case processes), and reduce the coupling among modules. Figures (b) and (c) show two possible decompositions for the Nurse process (module). In Figure (b), the decision was to decompose the Nurse process' function into three sub-functions performed by dierent processes: Collect Data, Store and Compute and Generate Reports and Requests. Applying Rule to the Collect Data and Store and Compute processes, we prove that they are p-equivalent to an IO-PAR template. We can

9 Doctor Prescribed_Treatment Patient_Report Nurse Collect Data Collect_from_Doctor Store_Compute Report_to_Doctor Collect_from_Patient Apply_Treatment Patient_Symptoms Applied_Treatment Patient Patient_Condition Request_Medicine Pharmacist Deliver_Medicine Store and Compute Generate Reports and Requests Collect_from_Pharmacist Request_to_Pharmacist (a) (b) (c) Figure : Hospital conguration. then apply Rule to the (simplied) p-equivalent conguration and process Generate Reports and Requests to show that it is p-equivalent to the Nurse process, as expected. Another decomposition of the Nurse process is presented in Figure (c). Here, the data collect function was decomposed assuming that dierent consistency checks are required. Similarly, as data is generated in dierent forms the generate reports and requests function was also decomposed. To prove that the new conguration is p-equivalent to the Nurse process, Rule can be applied successively to each collect data process (Collect from Doctor, Collect from Patient and Collect from Pharmacist) and process Store Data to prove that they are p-equivalent to an IO-PAR template. Next, Rule is applied successively to this IO-PAR template and the Report to Doctor, Dose to Patient and Request to Pharmacist processes, proving also that they are p-equivalent to an IO-PAR template.. Conclusions In this paper, we introduced a set of graphical rules that relate congurations of templates to templates. These rules are very useful in the hierarchical development of con- gurations of processes because they allow us to rene a template into sub-congurations creating a lower level conguration, or abstract a conguration as a single process creating a higher level conguration. An important property of our technique is to provide a compositional proof of deadlockfreedom that is, if we prove that a high level conguration is deadlock-free, by applying the rules we can guarantee that the decomposed (lower) level is deadlock-free, since the rules preserve the behaviour of the conguration. Also, if we prove that a low level con- guration is deadlock-free and p-equivalent to a template, when we reuse that process in a higher level conguration we do not have to check its proof of deadlock-freedom. In general compositional proof of deadlock-freedom is not easy because when we compose deadlock-free processes together they can interfere with each other []. At the moment we are investigating new rules for other kinds of templates. We are also developing a graphical environment that allows us to build and analyse congurations of templates, and at the same time derive parallel programs from the congurations of templates.

10 Acknowledgments I am very grateful to Peter Welch who has given many suggestions to improve this work. Special thanks also to my colleagues at the Computing Laboratory at the University of Kent, England, with whom I have shared some of theses ideas. References [] R. Milner. Flowgraphs and ow algebras. Journal of ACM, ():9{88, October 99. [] K. G. Shin D. Peng. Modeling of concurrent task execution in a distributed system for real-time control. IEEE Transactions on Computers, C-():00{, April 98. [] J. Kramer, J. Magee, and K. Ng. Graphical conguration programming: The structural description, construction and evolution of software systems using graphics. IEEE Computer, (0):{, October 989. [] T. Bolognesi. A graphical composition theorem for network of LOTOS processes. In 0th Int. Conf. on Distributed Computer Systems, pages 88{9, Paris, France, May 8 { June 990. IEEE. [] J. Parrow. Structural and behavioural equivalences of networks. ICALP 90, 990. [] J. Parrow. The expressive power of simple parallelism. In PARLE'89, pages 89{0. Springer-Verlag, 989. [] C. A. R. Hoare. Communicating Sequential Processes. Prentice-Hall, 98. [8] R. Milner. Communication and Concurrency. Prentice-Hall, 989. [9] R. J. A. Buhr and R. S. Casselman. Architectures with pictures. In A. Paepcke, editor, OOPSLA'9: Conf. on Object-Oriented Programming Systems, Languages and Applications. ACM Press, October 99. [0] G. R. R. Justo. Conguration-oriented Development of Parallel Programs. PhD thesis, University of Kent at Canterbury, England, 99. [] G. R. R. Justo and P. R. F. Cunha. Deadlock-free conguration programming. In nd Int. Workshop on Congurable Distributed Systems, SEI, Carnegie Mellow University. IEEE Computer Society, March 99. [] P. Welch, G. R. R. Justo, and C. Willcock. High-level paradigms for deadlock-free high-performance systems. In R. Grebe, J. Hektor, S. C. Hilton, M. R. Jane, and P. H. Welch, editors, Transputer Applications and Systems '9, volume, pages 98{00. IOS Press, September 99. [] P. H. Welch. Emulating digital logic using transputer networks (very high parallelism = simplicity = performance). In Parallel Architecture and languages Europe, volume, pages {. Springer-Verlag, June 98. LNCS 8. [] J. Zwiers. Compositionality, Concurrency and Partial Correctness: Proof Theories For Network of Processes and Their Relationship. Springer-Verlag, 98.

A Formal Approach to Program Modification. Lindsay Groves

A Formal Approach to Program Modification. Lindsay Groves A Formal Approach to Program Modication Lindsay Groves School of Mathematical and Computing Sciences Victoria University of Wellington, New Zealand lindsay@mcs.vuw.ac.nz Abstract This paper presents a

More information

Let v be a vertex primed by v i (s). Then the number f(v) of neighbours of v which have

Let v be a vertex primed by v i (s). Then the number f(v) of neighbours of v which have Let v be a vertex primed by v i (s). Then the number f(v) of neighbours of v which have been red in the sequence up to and including v i (s) is deg(v)? s(v), and by the induction hypothesis this sequence

More information

Department of Computing, Macquarie University, NSW 2109, Australia

Department of Computing, Macquarie University, NSW 2109, Australia Gaurav Marwaha Kang Zhang Department of Computing, Macquarie University, NSW 2109, Australia ABSTRACT Designing parallel programs for message-passing systems is not an easy task. Difficulties arise largely

More information

Proc. XVIII Conf. Latinoamericana de Informatica, PANEL'92, pages , August Timed automata have been proposed in [1, 8] to model nite-s

Proc. XVIII Conf. Latinoamericana de Informatica, PANEL'92, pages , August Timed automata have been proposed in [1, 8] to model nite-s Proc. XVIII Conf. Latinoamericana de Informatica, PANEL'92, pages 1243 1250, August 1992 1 Compiling Timed Algebras into Timed Automata Sergio Yovine VERIMAG Centre Equation, 2 Ave de Vignate, 38610 Gieres,

More information

Abstract formula. Net formula

Abstract formula. Net formula { PEP { More than a Petri Net Tool ABSTRACT Bernd Grahlmann and Eike Best The PEP system (Programming Environment based on Petri Nets) supports the most important tasks of a good net tool, including HL

More information

A Note on Fairness in I/O Automata. Judi Romijn and Frits Vaandrager CWI. Abstract

A Note on Fairness in I/O Automata. Judi Romijn and Frits Vaandrager CWI. Abstract A Note on Fairness in I/O Automata Judi Romijn and Frits Vaandrager CWI P.O. Box 94079, 1090 GB Amsterdam, The Netherlands judi@cwi.nl, fritsv@cwi.nl Abstract Notions of weak and strong fairness are studied

More information

Autolink. A Tool for the Automatic and Semi-Automatic Test Generation

Autolink. A Tool for the Automatic and Semi-Automatic Test Generation Autolink A Tool for the Automatic and Semi-Automatic Test Generation Michael Schmitt, Beat Koch, Jens Grabowski and Dieter Hogrefe University of Lubeck, Institute for Telematics, Ratzeburger Allee 160,

More information

Algebraic Properties of CSP Model Operators? Y.C. Law and J.H.M. Lee. The Chinese University of Hong Kong.

Algebraic Properties of CSP Model Operators? Y.C. Law and J.H.M. Lee. The Chinese University of Hong Kong. Algebraic Properties of CSP Model Operators? Y.C. Law and J.H.M. Lee Department of Computer Science and Engineering The Chinese University of Hong Kong Shatin, N.T., Hong Kong SAR, China fyclaw,jleeg@cse.cuhk.edu.hk

More information

Specifying Precise Use Cases with Use Case Charts

Specifying Precise Use Cases with Use Case Charts Specifying Precise Use Cases with Use Case Charts Jon Whittle Dept of Information & Software Engineering George Mason University 4400 University Drive Fairfax, VA 22030 jwhittle@ise.gmu.edu Abstract. Use

More information

The Compositional C++ Language. Denition. Abstract. This document gives a concise denition of the syntax and semantics

The Compositional C++ Language. Denition. Abstract. This document gives a concise denition of the syntax and semantics The Compositional C++ Language Denition Peter Carlin Mani Chandy Carl Kesselman March 12, 1993 Revision 0.95 3/12/93, Comments welcome. Abstract This document gives a concise denition of the syntax and

More information

Program Design in PVS. Eindhoven University of Technology. Abstract. Hoare triples (precondition, program, postcondition) have

Program Design in PVS. Eindhoven University of Technology. Abstract. Hoare triples (precondition, program, postcondition) have Program Design in PVS Jozef Hooman Dept. of Computing Science Eindhoven University of Technology P.O. Box 513, 5600 MB Eindhoven, The Netherlands e-mail: wsinjh@win.tue.nl Abstract. Hoare triples (precondition,

More information

Two Image-Template Operations for Binary Image Processing. Hongchi Shi. Department of Computer Engineering and Computer Science

Two Image-Template Operations for Binary Image Processing. Hongchi Shi. Department of Computer Engineering and Computer Science Two Image-Template Operations for Binary Image Processing Hongchi Shi Department of Computer Engineering and Computer Science Engineering Building West, Room 331 University of Missouri - Columbia Columbia,

More information

ccopyright by Aamod Arvind Sane 1998

ccopyright by Aamod Arvind Sane 1998 TECHNIQUES FOR DEVELOPING CORRECT, FAST, AND ROBUST IMPLEMENTATIONS OF DISTRIBUTED PROTOCOLS BY AAMOD ARVIND SANE THESIS Submitted in partial fulllment of the requirements for the degree of Doctor of Philosophy

More information

Natural Semantics [14] within the Centaur system [6], and the Typol formalism [8] which provides us with executable specications. The outcome of such

Natural Semantics [14] within the Centaur system [6], and the Typol formalism [8] which provides us with executable specications. The outcome of such A Formal Executable Semantics for Java Isabelle Attali, Denis Caromel, Marjorie Russo INRIA Sophia Antipolis, CNRS - I3S - Univ. Nice Sophia Antipolis, BP 93, 06902 Sophia Antipolis Cedex - France tel:

More information

Experiences with OWL-S, Directions for Service Composition:

Experiences with OWL-S, Directions for Service Composition: Experiences with OWL-S, Directions for Service Composition: The Cashew Position Barry Norton 1 Knowledge Media Institute, Open University, Milton Keynes, UK b.j.norton@open.ac.uk Abstract. Having used

More information

Timer DRAM DDD FM9001 DRAM

Timer DRAM DDD FM9001 DRAM indiana university computer science department technical report no. 385 Derivation of a DRAM Memory Interface by Sequential Decomposition Kamlesh Rath, Bhaskar Bose, and Steven D. Johnson june 993 To appear

More information

Desynchronisation Technique using Petri nets

Desynchronisation Technique using Petri nets Desynchronisation Technique using Petri nets Sohini Dasgupta 1 and Alex Yakovlev 2 1 University of Manchester, 2 Newcastle University Abstract In this paper we consider the problem of desynchronising modular

More information

DRAFT for FINAL VERSION. Accepted for CACSD'97, Gent, Belgium, April 1997 IMPLEMENTATION ASPECTS OF THE PLC STANDARD IEC

DRAFT for FINAL VERSION. Accepted for CACSD'97, Gent, Belgium, April 1997 IMPLEMENTATION ASPECTS OF THE PLC STANDARD IEC DRAFT for FINAL VERSION. Accepted for CACSD'97, Gent, Belgium, 28-3 April 1997 IMPLEMENTATION ASPECTS OF THE PLC STANDARD IEC 1131-3 Martin hman Stefan Johansson Karl-Erik rzen Department of Automatic

More information

compute event display

compute event display Programming Connectors In an Open Language Uwe Amann, Andreas Ludwig, Daniel Pfeifer Institut fur Programmstrukturen und Datenorganisation Universitat Karlsruhe Postfach 6980, Zirkel 2, 76128 Karlsruhe,

More information

Compositional Schedulability Analysis of Hierarchical Real-Time Systems

Compositional Schedulability Analysis of Hierarchical Real-Time Systems Compositional Schedulability Analysis of Hierarchical Real-Time Systems Arvind Easwaran, Insup Lee, Insik Shin, and Oleg Sokolsky Department of Computer and Information Science University of Pennsylvania,

More information

when a process of the form if be then p else q is executed and also when an output action is performed. 1. Unnecessary substitution: Let p = c!25 c?x:

when a process of the form if be then p else q is executed and also when an output action is performed. 1. Unnecessary substitution: Let p = c!25 c?x: URL: http://www.elsevier.nl/locate/entcs/volume27.html 7 pages Towards Veried Lazy Implementation of Concurrent Value-Passing Languages (Abstract) Anna Ingolfsdottir (annai@cs.auc.dk) BRICS, Dept. of Computer

More information

User Interface Modelling Based on the Graph Transformations of Conceptual Data Model

User Interface Modelling Based on the Graph Transformations of Conceptual Data Model User Interface Modelling Based on the Graph Transformations of Conceptual Data Model Martin Molhanec Department of e-technology, Faculty of Electrical Engineering Czech Technical University in Prague Technická

More information

Dewayne E. Perry. Abstract. An important ingredient in meeting today's market demands

Dewayne E. Perry. Abstract. An important ingredient in meeting today's market demands Maintaining Consistent, Minimal Congurations Dewayne E. Perry Software Production Research, Bell Laboratories 600 Mountain Avenue, Murray Hill, NJ 07974 USA dep@research.bell-labs.com Abstract. An important

More information

Synchronization Expressions: Characterization Results and. Implementation. Kai Salomaa y Sheng Yu y. Abstract

Synchronization Expressions: Characterization Results and. Implementation. Kai Salomaa y Sheng Yu y. Abstract Synchronization Expressions: Characterization Results and Implementation Kai Salomaa y Sheng Yu y Abstract Synchronization expressions are dened as restricted regular expressions that specify synchronization

More information

Liveness and Fairness Properties in Multi-Agent Systems

Liveness and Fairness Properties in Multi-Agent Systems Liveness and Fairness Properties in Multi-Agent Systems Hans-Dieter Burkhard FB Informatik Humboldt-University Berlin PF 1297, 1086 Berlin, Germany e-mail: hdb@informatik.hu-berlin.de Abstract Problems

More information

A Theory of Parallel Computation The π-calculus

A Theory of Parallel Computation The π-calculus A Theory of Parallel Computation The π-calculus Background DFAs, NFAs, pushdown automata, Turing machines... All are mathematical entities that model computation. These abstract systems have concrete,

More information

Termination Analysis of the Transformation UML to CSP

Termination Analysis of the Transformation UML to CSP Magyar Kutatók 8. Nemzetközi Szimpóziuma 8 th International Symposium of Hungarian Researchers on Computational Intelligence and Informatics Termination Analysis of the Transformation UML to CSP Márk Asztalos,

More information

A Suite of Formal Denitions for Consistency Criteria. in Distributed Shared Memories Rennes Cedex (France) 1015 Lausanne (Switzerland)

A Suite of Formal Denitions for Consistency Criteria. in Distributed Shared Memories Rennes Cedex (France) 1015 Lausanne (Switzerland) A Suite of Formal Denitions for Consistency Criteria in Distributed Shared Memories Michel Raynal Andre Schiper IRISA, Campus de Beaulieu EPFL, Dept d'informatique 35042 Rennes Cedex (France) 1015 Lausanne

More information

Flight Systems are Cyber-Physical Systems

Flight Systems are Cyber-Physical Systems Flight Systems are Cyber-Physical Systems Dr. Christopher Landauer Software Systems Analysis Department The Aerospace Corporation Computer Science Division / Software Engineering Subdivision 08 November

More information

Reactive Types. Jean-Pierre Talpin. Campus de Beaulieu, Rennes, France.

Reactive Types. Jean-Pierre Talpin. Campus de Beaulieu, Rennes, France. Reactive Types Jean-Pierre Talpin IRISA (INRIA-Rennes & CNRS URA 227) Campus de Beaulieu, 35000 Rennes, France E-mail: talpin@irisa.fr Abstract. Synchronous languages, such as Signal, are best suited for

More information

Practical Case Studies in Teaching Concurrency. A. J. Cowling

Practical Case Studies in Teaching Concurrency. A. J. Cowling Practical Case Studies in Teaching Concurrency A. J. Cowling Department of Computer Science, University of Sheffield, Sheffield, S10 2TN, UK. Telephone: +44 114 222 1823; Fax: +44 114 222 1810; Email:

More information

Rule Formats for Nominal Modal Transition Systems

Rule Formats for Nominal Modal Transition Systems Rule Formats for Nominal Modal Transition Systems Anke Stüber Universitet Uppsala, Uppsala, Sweden anke.stuber@it.uu.se Abstract. Modal transition systems are specification languages that allow the expression

More information

Techniques for the unambiguous specification of software

Techniques for the unambiguous specification of software Formal Techniques for the unambiguous of software Objectives To explain why formal techniques help discover problems in system requirements To describe the use of algebraic techniques for interface To

More information

ASPECT GENERATOR. Audit Trail WEAVER. Aspect Editor. Weaving Strategies Editor. Model Editor. Mapping. Instructions. Original Model (XMI)

ASPECT GENERATOR. Audit Trail WEAVER. Aspect Editor. Weaving Strategies Editor. Model Editor. Mapping. Instructions. Original Model (XMI) Tool Support for Aspect-Oriented Design Francois Mekerke 1, Geri Georg 2, Robert France 3, and Roger Alexander 3 1 Ecole Nationale Superieure des Etudes et Techniques d'armement, Brest, France mekerkfr@ensieta.fr

More information

Simulink/Stateflow. June 2008

Simulink/Stateflow. June 2008 Simulink/Stateflow Paul Caspi http://www-verimag.imag.fr/ Pieter Mosterman http://www.mathworks.com/ June 2008 1 Introduction Probably, the early designers of Simulink in the late eighties would have been

More information

A Protocol for Multi-threaded Processes with Choice in π-calculus

A Protocol for Multi-threaded Processes with Choice in π-calculus A Protocol for Multi-threaded Processes with Choice in π-calculus Kazunori Iwata, Shingo Itabashi, Naohiro Ishii Dept. of Intelligence and Computer Science, Nagoya Institute of Technology, Gokiso-cho,

More information

Chapter 17 - Component-based software engineering. Chapter 17 So-ware reuse

Chapter 17 - Component-based software engineering. Chapter 17 So-ware reuse Chapter 17 - Component-based software engineering 1 Topics covered ² Components and component models ² CBSE processes ² Component composition 2 Component-based development ² Component-based software engineering

More information

Decimation-in-Frequency (DIF) Radix-2 FFT *

Decimation-in-Frequency (DIF) Radix-2 FFT * OpenStax-CX module: m1018 1 Decimation-in-Frequency (DIF) Radix- FFT * Douglas L. Jones This work is produced by OpenStax-CX and licensed under the Creative Commons Attribution License 1.0 The radix- decimation-in-frequency

More information

N. Hitschfeld. Blanco Encalada 2120, Santiago, CHILE.

N. Hitschfeld. Blanco Encalada 2120, Santiago, CHILE. Generalization of modied octrees for geometric modeling N. Hitschfeld Dpto. Ciencias de la Computacion, Univ. de Chile Blanco Encalada 2120, Santiago, CHILE E-mail: nancy@dcc.uchile.cl Abstract. This paper

More information

Product constructions for transitive decompositions of graphs

Product constructions for transitive decompositions of graphs 116 Product constructions for transitive decompositions of graphs Geoffrey Pearce Abstract A decomposition of a graph is a partition of the edge set, giving a set of subgraphs. A transitive decomposition

More information

Rance Cleaveland The Concurrency Factory is an integrated toolset for specication, simulation,

Rance Cleaveland The Concurrency Factory is an integrated toolset for specication, simulation, The Concurrency Factory Software Development Environment Rance Cleaveland (rance@csc.ncsu.edu) Philip M. Lewis (pml@cs.sunysb.edu) y Scott A. Smolka (sas@cs.sunysb.edu) y Oleg Sokolsky (oleg@ccc.com) y

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

A Boolean Expression. Reachability Analysis or Bisimulation. Equation Solver. Boolean. equations.

A Boolean Expression. Reachability Analysis or Bisimulation. Equation Solver. Boolean. equations. A Framework for Embedded Real-time System Design? Jin-Young Choi 1, Hee-Hwan Kwak 2, and Insup Lee 2 1 Department of Computer Science and Engineering, Korea Univerity choi@formal.korea.ac.kr 2 Department

More information

SORT INFERENCE \coregular" signatures, they derive an algorithm for computing a most general typing for expressions e which is only slightly more comp

SORT INFERENCE \coregular signatures, they derive an algorithm for computing a most general typing for expressions e which is only slightly more comp Haskell Overloading is DEXPTIME{complete Helmut Seidl Fachbereich Informatik Universitat des Saarlandes Postfach 151150 D{66041 Saarbrucken Germany seidl@cs.uni-sb.de Febr., 1994 Keywords: Haskell type

More information

TEMPORAL AND SPATIAL SEMANTIC MODELS FOR MULTIMEDIA PRESENTATIONS ABSTRACT

TEMPORAL AND SPATIAL SEMANTIC MODELS FOR MULTIMEDIA PRESENTATIONS ABSTRACT TEMPORAL AND SPATIAL SEMANTIC MODELS FOR MULTIMEDIA PRESENTATIONS Shu-Ching Chen and R. L. Kashyap School of Electrical and Computer Engineering Purdue University, West Lafayette, IN 47907-285, U.S.A.

More information

Grey Codes in Black and White

Grey Codes in Black and White Grey Codes in Black and White Wes Cleveland, Erin Connerley, Becca Maddrell, Kasey Aderhold, Abel Yehdego December 8, 2007 Introduction A Gray code represents each number in the sequence of integers 0,,...,

More information

An Algebraic Framework for Optimizing Parallel Programs

An Algebraic Framework for Optimizing Parallel Programs An Algebraic Framework for Optimizing Parallel Programs Ichiro Satoh Department of Information Sciences, Ochanomizu University 2-1-1 Otsuka Bunkyo-ku Tokyo 112, Japan ichiro@is.ocha.ac.jp Abstract This

More information

Understanding Concurrent Programs. using. Computer Science Department. Science Labs, South Rd. the language WSL [2,9,14] the Wide Spectrum Language,

Understanding Concurrent Programs. using. Computer Science Department. Science Labs, South Rd. the language WSL [2,9,14] the Wide Spectrum Language, Understanding Concurrent Programs using Program Transformations E. J. Younger Centre for Software Maintenance Ltd Unit 1P, Mountjoy Research Centre Durham, DH1 3SW M. P. Ward Computer Science Department

More information

On Checkpoint Latency. Nitin H. Vaidya. In the past, a large number of researchers have analyzed. the checkpointing and rollback recovery scheme

On Checkpoint Latency. Nitin H. Vaidya. In the past, a large number of researchers have analyzed. the checkpointing and rollback recovery scheme On Checkpoint Latency Nitin H. Vaidya Department of Computer Science Texas A&M University College Station, TX 77843-3112 E-mail: vaidya@cs.tamu.edu Web: http://www.cs.tamu.edu/faculty/vaidya/ Abstract

More information

Reuse Contracts As Component Interface. Descriptions. Koen De Hondt, Carine Lucas, and Patrick Steyaert. Programming Technology Lab

Reuse Contracts As Component Interface. Descriptions. Koen De Hondt, Carine Lucas, and Patrick Steyaert. Programming Technology Lab Reuse Contracts As Component Interface Descriptions Koen De Hondt, Carine Lucas, and Patrick Steyaert Programming Technology Lab Computer Science Department Vrije Universiteit Brussel Pleinlaan 2, B-1050

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

Software Component Relationships. Stephen H. Edwards. Department of Computer Science. Virginia Polytechnic Institute and State University

Software Component Relationships. Stephen H. Edwards. Department of Computer Science. Virginia Polytechnic Institute and State University Software Component Relationships Stephen H. Edwards Department of Computer Science Virginia Polytechnic Institute and State University 660 McBryde Hall Blacksburg, VA 24061-0106 Tel: (540)-231-7537 Email:

More information

to automatically generate parallel code for many applications that periodically update shared data structures using commuting operations and/or manipu

to automatically generate parallel code for many applications that periodically update shared data structures using commuting operations and/or manipu Semantic Foundations of Commutativity Analysis Martin C. Rinard y and Pedro C. Diniz z Department of Computer Science University of California, Santa Barbara Santa Barbara, CA 93106 fmartin,pedrog@cs.ucsb.edu

More information

SCR*: A Toolset for Specifying and. Analyzing Software Requirements? Constance Heitmeyer, James Kirby, Bruce Labaw and Ramesh Bharadwaj

SCR*: A Toolset for Specifying and. Analyzing Software Requirements? Constance Heitmeyer, James Kirby, Bruce Labaw and Ramesh Bharadwaj SCR*: A Toolset for Specifying and Analyzing Software Requirements? Constance Heitmeyer, James Kirby, Bruce Labaw and Ramesh Bharadwaj Naval Research Laboratory, Code 5546, Washington, DC 20375, USA Abstract.

More information

Chapter 2 Overview of the Design Methodology

Chapter 2 Overview of the Design Methodology Chapter 2 Overview of the Design Methodology This chapter presents an overview of the design methodology which is developed in this thesis, by identifying global abstraction levels at which a distributed

More information

Design Process Ontology Approach Proposal

Design Process Ontology Approach Proposal Design Process Ontology Approach Proposal Grzegorz J. Nalepa 1 and Weronika T. Furma«ska 1 Institute of Automatics, AGH University of Science and Technology, Al. Mickiewicza 30, 30-059 Kraków, Poland gjn@agh.edu.pl,

More information

7. Introduction to Denotational Semantics. Oscar Nierstrasz

7. Introduction to Denotational Semantics. Oscar Nierstrasz 7. Introduction to Denotational Semantics Oscar Nierstrasz Roadmap > Syntax and Semantics > Semantics of Expressions > Semantics of Assignment > Other Issues References > D. A. Schmidt, Denotational Semantics,

More information

Calibrating a Structured Light System Dr Alan M. McIvor Robert J. Valkenburg Machine Vision Team, Industrial Research Limited P.O. Box 2225, Auckland

Calibrating a Structured Light System Dr Alan M. McIvor Robert J. Valkenburg Machine Vision Team, Industrial Research Limited P.O. Box 2225, Auckland Calibrating a Structured Light System Dr Alan M. McIvor Robert J. Valkenburg Machine Vision Team, Industrial Research Limited P.O. Box 2225, Auckland New Zealand Tel: +64 9 3034116, Fax: +64 9 302 8106

More information

Thunks (continued) Olivier Danvy, John Hatcli. Department of Computing and Information Sciences. Kansas State University. Manhattan, Kansas 66506, USA

Thunks (continued) Olivier Danvy, John Hatcli. Department of Computing and Information Sciences. Kansas State University. Manhattan, Kansas 66506, USA Thunks (continued) Olivier Danvy, John Hatcli Department of Computing and Information Sciences Kansas State University Manhattan, Kansas 66506, USA e-mail: (danvy, hatcli)@cis.ksu.edu Abstract: Call-by-name

More information

Parallel Programming Concepts. Theory of Concurrency - Multicomputer. Peter Tröger

Parallel Programming Concepts. Theory of Concurrency - Multicomputer. Peter Tröger Parallel Programming Concepts Theory of Concurrency - Multicomputer Peter Tröger History 1963: Co-Routines concept by Melvin Conway Foundation for message-based concurrency concepts Late 1970 s Parallel

More information

40 Behaviour Compatibility

40 Behaviour Compatibility 40 Behaviour Compatibility [2] R. De Nicola, Extentional Equivalences for Transition Systems, Acta Informatica, vol. 24, pp. 21-237, 1987. [3] J. Gray, Notes on Data Base Operating Systems, in Operating

More information

An Efficient Algorithm for Computing Non-overlapping Inversion and Transposition Distance

An Efficient Algorithm for Computing Non-overlapping Inversion and Transposition Distance An Efficient Algorithm for Computing Non-overlapping Inversion and Transposition Distance Toan Thang Ta, Cheng-Yao Lin and Chin Lung Lu Department of Computer Science National Tsing Hua University, Hsinchu

More information

Composability Test of BOM based models using Petri Nets

Composability Test of BOM based models using Petri Nets I. Mahmood, R. Ayani, V. Vlassov and F. Moradi 7 Composability Test of BOM based models using Petri Nets Imran Mahmood 1, Rassul Ayani 1, Vladimir Vlassov 1, and Farshad Moradi 2 1 Royal Institute of Technology

More information

A Component-based Approach to Verified Software: What, Why, How and What Next?

A Component-based Approach to Verified Software: What, Why, How and What Next? A Component-based Approach to Verified Software: What, Why, How and What Next? Kung-Kiu Lau, Zheng Wang, Anduo Wang and Ming Gu School of Computer Science, The University of Manchester Manchester M13 9PL,

More information

Mutual Exclusion Between Neighboring Nodes in a Tree That Stabilizes Using Read/Write Atomicity?

Mutual Exclusion Between Neighboring Nodes in a Tree That Stabilizes Using Read/Write Atomicity? Computer Science Technical Report Mutual Exclusion Between Neighboring Nodes in a Tree That Stabilizes Using Read/Write Atomicity? Gheorghe Antonoiu 1 andpradipk.srimani 1 May 27, 1998 Technical Report

More information

Towards a formal model of object-oriented hyperslices

Towards a formal model of object-oriented hyperslices Towards a formal model of object-oriented hyperslices Torsten Nelson, Donald Cowan, Paulo Alencar Computer Systems Group, University of Waterloo {torsten,dcowan,alencar}@csg.uwaterloo.ca Abstract This

More information

CYES-C++: A Concurrent Extension of C++ through Compositional Mechanisms

CYES-C++: A Concurrent Extension of C++ through Compositional Mechanisms CYES-C++: A Concurrent Extension of C++ through Compositional Mechanisms Raju Pandey J. C. Browne Department of Computer Sciences The University of Texas at Austin Austin, TX 78712 fraju, browneg@cs.utexas.edu

More information

Design of it : an Aldor library to express parallel programs Extended Abstract Niklaus Mannhart Institute for Scientic Computing ETH-Zentrum CH-8092 Z

Design of it : an Aldor library to express parallel programs Extended Abstract Niklaus Mannhart Institute for Scientic Computing ETH-Zentrum CH-8092 Z Design of it : an Aldor library to express parallel programs Extended Abstract Niklaus Mannhart Institute for Scientic Computing ETH-Zentrum CH-8092 Zurich, Switzerland e-mail: mannhart@inf.ethz.ch url:

More information

Suggestions for Stream Based Parallel Systems in Ada

Suggestions for Stream Based Parallel Systems in Ada Suggestions for Stream Based Parallel Systems in Ada M. Ward * and N. C. Audsley Real Time Systems Group University of York York, England (mward,neil)@cs.york.ac.uk Abstract Ada provides good support for

More information

MAPPING THE IMPACT OF REQUIREMENT CHANGES USING LABELLED TRANSITION SYSTEM FOR REQUIREMENT CHANGE (LTS-RC)

MAPPING THE IMPACT OF REQUIREMENT CHANGES USING LABELLED TRANSITION SYSTEM FOR REQUIREMENT CHANGE (LTS-RC) 315 MAPPING THE IMPACT OF REQUIREMENT CHANGES USING LABELLED TRANSITION SYSTEM FOR REQUIREMENT CHANGE (LTS-RC) Martasari Widiastuti *, Daniel Siahaan Informatics Department, Information Technology Faculty,

More information

Imperative Functional Programming

Imperative Functional Programming Imperative Functional Programming Uday S. Reddy Department of Computer Science The University of Illinois at Urbana-Champaign Urbana, Illinois 61801 reddy@cs.uiuc.edu Our intuitive idea of a function is

More information

StateClock: a Tool for Timed Reactive Modules

StateClock: a Tool for Timed Reactive Modules StateClock: a Tool for Timed Reactive Modules Jonathan S. Ostroff Department Of Computer Science, York University, Toronto, Canada, M3J 1P3. Email: jonathan@yorku.ca Abstract: We provide an overview of

More information

DISCRETE-event dynamic systems (DEDS) are dynamic

DISCRETE-event dynamic systems (DEDS) are dynamic IEEE TRANSACTIONS ON CONTROL SYSTEMS TECHNOLOGY, VOL. 7, NO. 2, MARCH 1999 175 The Supervised Control of Discrete-Event Dynamic Systems François Charbonnier, Hassane Alla, and René David Abstract The supervisory

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

Do! environment. DoT

Do! environment. DoT The Do! project: distributed programming using Java Pascale Launay and Jean-Louis Pazat IRISA, Campus de Beaulieu, F35042 RENNES cedex Pascale.Launay@irisa.fr, Jean-Louis.Pazat@irisa.fr http://www.irisa.fr/caps/projects/do/

More information

Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland)

Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland) UML STATECHARTS AND PETRI NETS MODEL COMPARIS FOR SYSTEM LEVEL MODELLING Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland) The system level modelling can be carried out with using some miscellaneous

More information

UNIT-4 Behavioral Diagrams

UNIT-4 Behavioral Diagrams UNIT-4 Behavioral Diagrams P. P. Mahale Behavioral Diagrams Use Case Diagram high-level behaviors of the system, user goals, external entities: actors Sequence Diagram focus on time ordering of messages

More information

Ecient Implementation of Sorting Algorithms on Asynchronous Distributed-Memory Machines

Ecient Implementation of Sorting Algorithms on Asynchronous Distributed-Memory Machines Ecient Implementation of Sorting Algorithms on Asynchronous Distributed-Memory Machines Zhou B. B., Brent R. P. and Tridgell A. y Computer Sciences Laboratory The Australian National University Canberra,

More information

Proceedings of the Sixth International Workshop on Graph Transformation and Visual Modeling Techniques (GT-VMT 2007)

Proceedings of the Sixth International Workshop on Graph Transformation and Visual Modeling Techniques (GT-VMT 2007) Electronic Communications of the EASST Volume 6 (2007) Proceedings of the Sixth International Workshop on Graph Transformation and Visual Modeling Techniques (GT-VMT 2007) Rule-Level Verification of Business

More information

3.4 Data-Centric workflow

3.4 Data-Centric workflow 3.4 Data-Centric workflow One of the most important activities in a S-DWH environment is represented by data integration of different and heterogeneous sources. The process of extract, transform, and load

More information

This chapter describes the syntax and semantics of the safemos programming language,

This chapter describes the syntax and semantics of the safemos programming language, A Real-time Programming Language R.W.S. Hale and He Jifeng Overview URL: http://www.cam.sri.com/tr/crc039/paper.ps.z Towards Verified Systems, Jonathan Bowen (ed.), Elsevier; 1992 This chapter describes

More information

CMPUT Language Paradigms. Programming Paradigms. Dr. B. Price & Dr. R. Greiner. 7th September Real languages draw upon multiple paradigms

CMPUT Language Paradigms. Programming Paradigms. Dr. B. Price & Dr. R. Greiner. 7th September Real languages draw upon multiple paradigms CMPUT 325 - Language Paradigms Dr. B. Price & Dr. R. Greiner 7th September 2004 Dr. B. Price & Dr. R. Greiner CMPUT 325 - Language Paradigms 1 Programming Paradigms Real languages draw upon multiple paradigms

More information

The Systematic Generation of Channelling Constraints

The Systematic Generation of Channelling Constraints The Systematic Generation of Channelling Constraints Bernadette Martínez-Hernández and Alan M. Frisch Artificial Intelligence Group, Dept. of Computer Science, Univ. of York, York, UK Abstract. The automatic

More information

1. Considering functional dependency, one in which removal from some attributes must affect dependency is called

1. Considering functional dependency, one in which removal from some attributes must affect dependency is called Q.1 Short Questions Marks 1. Considering functional dependency, one in which removal from some attributes must affect dependency is called 01 A. full functional dependency B. partial dependency C. prime

More information

Lecture 2: Intro to Concurrent Processing. A Model of Concurrent Programming

Lecture 2: Intro to Concurrent Processing. A Model of Concurrent Programming Lecture 2: Intro to Concurrent Processing The SR Language. Correctness and Concurrency. Mutual Exclusion & Critical Sections. Software Solutions to Mutual Exclusion. Dekker s Algorithm. The Bakery Algorithm.

More information

Formal models of SysML blocks

Formal models of SysML blocks Formal models of SysML blocks Alvaro Miyazawa 1, Lucas Lima 2, and Ana Cavalcanti 1 1 Department of Computer Science, University of York, York, UK, {alvaro.miyazawa,ana.cavalcanti}@york.ac.uk, 2 Centro

More information

SAMOS: an Active Object{Oriented Database System. Stella Gatziu, Klaus R. Dittrich. Database Technology Research Group

SAMOS: an Active Object{Oriented Database System. Stella Gatziu, Klaus R. Dittrich. Database Technology Research Group SAMOS: an Active Object{Oriented Database System Stella Gatziu, Klaus R. Dittrich Database Technology Research Group Institut fur Informatik, Universitat Zurich fgatziu, dittrichg@ifi.unizh.ch to appear

More information

Parallel Programming Concepts. Shared Nothing Parallelism - Theory. Dr. Peter Tröger M.Sc. Frank Feinbube

Parallel Programming Concepts. Shared Nothing Parallelism - Theory. Dr. Peter Tröger M.Sc. Frank Feinbube Parallel Programming Concepts Shared Nothing Parallelism - Theory Dr. Peter Tröger M.Sc. Frank Feinbube History 2 1963: Co-Routines concept by Melvin Conway Foundation for message-based concurrency concepts

More information

arxiv: v1 [math.ho] 7 Nov 2017

arxiv: v1 [math.ho] 7 Nov 2017 An Introduction to the Discharging Method HAOZE WU Davidson College 1 Introduction arxiv:1711.03004v1 [math.ho] 7 Nov 017 The discharging method is an important proof technique in structural graph theory.

More information

Open PROMOL: An Experimental Language for Target Program Modification

Open PROMOL: An Experimental Language for Target Program Modification Open PROMOL: An Experimental Language for Target Program Modification Vytautas Štuikys, Robertas Damaševičius, Giedrius Ziberkas Software Engineering Department, Kaunas University of Technology Studentų

More information

Plaintext (P) + F. Ciphertext (T)

Plaintext (P) + F. Ciphertext (T) Applying Dierential Cryptanalysis to DES Reduced to 5 Rounds Terence Tay 18 October 1997 Abstract Dierential cryptanalysis is a powerful attack developed by Eli Biham and Adi Shamir. It has been successfully

More information

EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD

EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD Jehad Al Dallal Department of Information Science, Kuwait University, Kuwait ABSTRACT Synthesizing specifications for real time applications that

More information

On Meaning Preservation of a Calculus of Records

On Meaning Preservation of a Calculus of Records On Meaning Preservation of a Calculus of Records Emily Christiansen and Elena Machkasova Computer Science Discipline University of Minnesota, Morris Morris, MN 56267 chri1101, elenam@morris.umn.edu Abstract

More information

Developing CASE tools which support integrated development notations

Developing CASE tools which support integrated development notations Revised version in Proceedings of the 6th Workshop on the Next Generation of CASE Tools, Finland, June 1995. Developing CASE tools which support integrated development notations John C. Grundy and John

More information

The S-Expression Design Language (SEDL) James C. Corbett. September 1, Introduction. 2 Origins of SEDL 2. 3 The Language SEDL 2.

The S-Expression Design Language (SEDL) James C. Corbett. September 1, Introduction. 2 Origins of SEDL 2. 3 The Language SEDL 2. The S-Expression Design Language (SEDL) James C. Corbett September 1, 1993 Contents 1 Introduction 1 2 Origins of SEDL 2 3 The Language SEDL 2 3.1 Scopes : : : : : : : : : : : : : : : : : : : : : : : :

More information

Algebra of Logic Programming Silvija Seres Michael Spivey Tony Hoare Oxford University Computing Laboratory Wolfson Building, Parks Road, Oxford OX1 3

Algebra of Logic Programming Silvija Seres Michael Spivey Tony Hoare Oxford University Computing Laboratory Wolfson Building, Parks Road, Oxford OX1 3 Algebra of Logic Programming Silvija Seres Michael Spivey Tony Hoare Oxford University Computing Laboratory Wolfson Building, Parks Road, Oxford OX1 3QD, U.K. Abstract A declarative programming language

More information

Ian Foster. Argonne, IL Fortran M is a small set of extensions to Fortran 77 that supports a

Ian Foster. Argonne, IL Fortran M is a small set of extensions to Fortran 77 that supports a FORTRAN M AS A LANGUAGE FOR BUILDING EARTH SYSTEM MODELS Ian Foster Mathematics and omputer Science Division Argonne National Laboratory Argonne, IL 60439 1. Introduction Fortran M is a small set of extensions

More information

Spaces with algebraic structure

Spaces with algebraic structure University of California, Riverside January 6, 2009 What is a space with algebraic structure? A topological space has algebraic structure if, in addition to being a topological space, it is also an algebraic

More information

A Parallel Intermediate Representation based on. Lambda Expressions. Timothy A. Budd. Oregon State University. Corvallis, Oregon.

A Parallel Intermediate Representation based on. Lambda Expressions. Timothy A. Budd. Oregon State University. Corvallis, Oregon. A Parallel Intermediate Representation based on Lambda Expressions Timothy A. Budd Department of Computer Science Oregon State University Corvallis, Oregon 97331 budd@cs.orst.edu September 20, 1994 Abstract

More information

highest cosine coecient [5] are returned. Notice that a query can hit documents without having common terms because the k indexing dimensions indicate

highest cosine coecient [5] are returned. Notice that a query can hit documents without having common terms because the k indexing dimensions indicate Searching Information Servers Based on Customized Proles Technical Report USC-CS-96-636 Shih-Hao Li and Peter B. Danzig Computer Science Department University of Southern California Los Angeles, California

More information