## The Design of Distributed Systems - An Introduction to FOCUS (1992)

### Cached

### Download Links

Citations: | 104 - 21 self |

### BibTeX

@TECHREPORT{Broy92thedesign,

author = {Manfred Broy and Max Fuchs},

title = {The Design of Distributed Systems - An Introduction to FOCUS},

institution = {},

year = {1992}

}

### Years of Citing Articles

### OpenURL

### Abstract

Focus is a framework for the systematic formal specification and development of distributed interactive systems and their components. Focus provides models, formalisms and verification calculi for the stepwise specification and development, transformation and verification of such systems. Focus aims at the modular development and implementation of distributed interactive systems through several abstraction levels by stepwise refinement. 1 Chapter 1 Methods for System Development A (distributed) system consists of a family of interacting, conceptually or spatially distributed components. A system development method provides a framework for organizing the stepwise construction of such systems. During the development process several descriptions are produced, that reflect different abstraction levels. Only if formal techniques are used these descriptions can be made as precise and unambiguous as necessary. Moreover, formal techniques allow to establish formal relationships between des...

### Citations

3398 | Communicating sequential processes
- Hoare
- 1985
(Show Context)
Citation Context ...re where in a system a particular action occurs, which entity generates it, and what its effect is. A trace represents a record of a run (history) of the system. This is more pictorially described in =-=[Hoa85], p. -=-41: "Imagine there is an observer with a notebook who watches the process and writes down the name of each event as it occurs. We can validly ignore the possibility that two events occur simultan... |

784 |
The semantics of a simple language for parallel programming
- Kahn
- 1974
(Show Context)
Citation Context ...st element that fulfils the equation f (x) = x . Building this chain of repeated function applications models the stepwise computation process that takes place when feedback loops are considered (see =-=[Kah74]). A Conti-=-nuous functions are "well-behaved" functions in the sense that they properly model a stepwise computation process. In Focus, only continuous functions will be considered as descriptions of c... |

535 | Composing specifications
- Abadi, Lamport
- 1993
(Show Context)
Citation Context ...mplementation of the component is then required to satisfy the commitments whenever the environment satisfies the assumptions. This is called the assume/commit-style of a component specification (see =-=[LA90]-=-, [Pan90]). More generally, there may not be just one component and its environment but an arbitrary number of components. The environment may also be further structured. The goal of component-oriente... |

193 |
Specifying concurrent program modules
- Lamport
- 1983
(Show Context)
Citation Context ... example where a relatively large system has been specified using this approach. There exist special notational conventions to denote state transitions, such as for instance the notation presented in =-=[Lam83]-=-. This makes use of a state oriented specification concept possible for complex systems. 3.6 Specification of Networks A The definition of networks is the main structuring tool on the functional speci... |

193 |
Mathematical Theory of Computation
- Manna
- 2003
(Show Context)
Citation Context ...of this stream. Such a predicate is called admissible. In particular, continuous predicates (and safety predicates) are always admissible. For other classes of admissible predicates see, for example, =-=[Man74]-=-. Given an admissible predicate P and a continuous function f , it must only be shown that P(x ; f (x )) holds for all finite inputs x . This means that induction on the length of x can be used, which... |

168 |
Coroutines and Networks of Parallel Processes
- Kahn, MacQueen
- 1977
(Show Context)
Citation Context ...ed by directed graphs, where the nodes represent components and the edges represent point-to-point, directed communication channels. It is a fundamental fact known as the Kahn principle (see [Kah74], =-=[KM77]-=-) that such networks of components can (semantically) be seen as components again. Hence, we are allowed to build an component from a collection of simpler components. 3.6.1 Equational Definitions A I... |

69 |
A.: “Specification and Transformation of Programs
- Partsch
- 1990
(Show Context)
Citation Context ... use of the first group. Every rule has the form: I O C where I and O are program fragments and C is an application condition. I is called the the input template, O is called the output template (see =-=[Par90]-=-). A rule is correct, when O is a refinement of I , whenever C holds. 58 4. Implementation As described in the previous section the refinement relation is formalized by set inclusion. Thus a rule is c... |

65 | et al. Report on the Programming Language Haskell - Hudak, Jones, et al. - 1992 |

60 |
E.A.: Lucid, the Dataflow Programming Language
- Wadge, Ashcroft
- 1985
(Show Context)
Citation Context ...e is derived from Ampl ("applicative multiprogramming language") developed in [Bro86]. Conceptually it can be compared to functional languages like Haskell [HJW + 91] or dataflow languages l=-=ike Lucid [WA85]-=-. AL contains means for the definition of stream processing functions, and moreover admits the definition of mutually recursive stream equations. Here is a simple numerical AL-program: 1 In fact, ther... |

56 | A proof of the kahn principle for input/output automata. Inform Comput 82(1):81–92
- Lynch, Stark
- 1989
(Show Context)
Citation Context ...processing function can be represented by a (not necessarily finite) 3.5. State-oriented Functional Specification 35 automaton with input and output. This formal relationship has been investigated in =-=[LS89]-=-. By h a deterministic component is specified: we have described exactly one function. The state-oriented specification of nondeterministic components is treated below. Example 3.6 (State-oriented spe... |

43 |
Conjoining speci cations
- Abadi, Lamport
- 1995
(Show Context)
Citation Context ... implementation of the component is then required to satisfy the commitments whenever the environment satis es the assumptions. This is called the assume/commit-style of a component speci cation (see =-=[LA90]-=-, [Pan90]). More generally, there may not be just one component and its environment but an arbitrary number of components. The environment may also be further structured. The goal of component-oriente... |

25 |
Denotational models for parallel programs with indeterminate operators
- Keller
- 1978
(Show Context)
Citation Context ...nctions F[[agent f j ::: : ES end]] ` N ! ! N ! ; which is taken to be the meaning of f . This approach is consistent with functional component specifications. It avoids the well-known anomalies (see =-=[Kel78]-=-, [BA81]) that appear when a relational semantics is used. (Such a semantics assigns relations or set valued functions to nondeterministic declarations.) 4.2. An Applicative Language 53 Based on the s... |

25 |
Towards a Design Calculus for Communicating Programs, LNCS 527 (Springer-Verlag), p
- Olderog
- 1991
(Show Context)
Citation Context ...(see, for instance, [BD77] or [CIP85], an overview can be found in [Fea87]), but only recently has the transformational approach been applied to concurrent programs (see [Bar85], [Bar88], [KB + 90a], =-=[Old91]-=-). In Focus transformation rules are mainly applied in the implementation phase in order to deduce a concrete program from an abstract program. This restricted use is due to the following reasons: In ... |

6 |
From service specification to protocol entity implementation - an exercise in FOCUS
- Dendorfer, Weber
- 1992
(Show Context)
Citation Context ...th Focus; [BDD + 92] contains a summary. We just mention two of them: the specification of a lift controller in [Bro88a] and the development of an implementation of the so-called Stenning-protocol in =-=[DW92]-=-. The structure of Focus is also mirrored in the organization of this report: trace specifications (used for requirements specifications) are treated in chapter 2, functional specifications (used for ... |

4 |
Speci cation and Transformation of Programs
- Partsch
- 1990
(Show Context)
Citation Context ...he use of the rst group. Every rule has the form: I O C where I and O are program fragments and C is an application condition. I is called the the input template, O is called the output template (see =-=[Par90]-=-). A rule is correct, when O is a re nement of I , whenever C holds.s58 4. Implementation As described in the previous section the re nement relation is formalized by set inclusion. Thus a rule is cor... |

3 | Parallel program development for a recursive numerical algorithm: a case study. SFB-Bericht Nr. 342/7/92a, Technische Universitaet Muenchen
- Gorlatch
- 1992
(Show Context)
Citation Context ... a predecessor of AL, on the SUN SPARCstation (see [Nue88]). Moreover some experiments concerning the implementation of AL on a INTEL hypercube using the Munich program library MMK are under way (see =-=[Gor92]-=-). 50 4. Implementation Example 4.2 (A simple AL-program): program factorial j ! chan nat o : funct fac j nat n ! nat : if n = 0 then 1 else nsfac(n \Gamma 1) fi; agent streamfac j chan nat i ! chan n... |

3 |
Eine Zeigerimplementierung von Graphreduktion fur eine Datenflusprache
- Nueckel
- 1988
(Show Context)
Citation Context ...mits the definition of mutually recursive stream equations. Here is a simple numerical AL-program: 1 In fact, there exists an implementation of Ampl, a predecessor of AL, on the SUN SPARCstation (see =-=[Nue88]-=-). Moreover some experiments concerning the implementation of AL on a INTEL hypercube using the Munich program library MMK are under way (see [Gor92]). 50 4. Implementation Example 4.2 (A simple AL-pr... |

3 |
the data ow programming language
- Lucid
- 1985
(Show Context)
Citation Context ...ge is derived from Ampl (\applicative multiprogramming language") developed in [Bro86]. Conceptually it can be compared to functional languages like Haskell [HJW + 91] or data ow languages like Lucid =-=[WA85]-=-. AL contains means for the de nition of stream processing functions, and moreover admits the de nition of mutually recursive stream equations. Here is a simple numerical AL-program: 1 In fact, there ... |

2 |
Eine Methodik fur die formale Anforderungspezi kation verteilter Systeme, Report 342/13/92 A, Technische Universitat Munchen
- Weber
- 1992
(Show Context)
Citation Context ...omponents plus their syntactic interface. 2. State the environment assumptions. 3. Localize the components' requirements. The proposed requirements specification method is described in more detail in =-=[Web92]-=-. In particular, in this thesis the methodological use of both global and component-oriented specifications is motivated and the localization of requirements is investigated in detail. An application ... |

2 |
From service speci cation to protocol entity implementation { an exercise in formal protocol development
- Dendorfer, Weber
- 1992
(Show Context)
Citation Context ...with Focus� [BDD + 92] contains a summary. We just mention two of them: the speci cation of a lift controller in [Bro88a] and the development ofan implementation of the so-called Stenning-protocol in =-=[DW92]-=-. The structure of Focus is also mirrored in the organization of this report: trace speci cations (used for requirements speci cations) are treated in chapter 2, functional speci cations (used for des... |

1 |
A survey and classification of some transformation approaches and techniques
- Feather
- 1987
(Show Context)
Citation Context ...hat is correct by construction. Since the early seventies various transformation calculi have been developed for sequential programs (see, for instance, [BD77] or [CIP85], an overview can be found in =-=[Fea87]-=-), but only recently has the transformational approach been applied to concurrent programs (see [Bar85], [Bar88], [KB + 90a], [Old91]). In Focus transformation rules are mainly applied in the implemen... |

1 |
The Foundations of Program Verification. WileyTeubner, 2nd edition
- Loeckx, Sieber
- 1987
(Show Context)
Citation Context ...e, fa; bg c flha; b; a; ci = ha; b; ai. Our methodology is based on certain mathematical concepts which we briefly introduce in the following. For a detailed explanation of these concepts confer e.g. =-=[LS87]-=-, from which the definitions below have been taken. 2.3. Specification of Actions 13 Definition 2.1 (partial order): A partial order is a pair (D ; v) with a set D and a relation v ` D \Theta D such t... |

1 |
Some comments on the assumption commitment framework for compositional verfication of distributed programs
- Pandya
- 1990
(Show Context)
Citation Context ...ation of the component is then required to satisfy the commitments whenever the environment satisfies the assumptions. This is called the assume/commit-style of a component specification (see [LA90], =-=[Pan90]-=-). More generally, there may not be just one component and its environment but an arbitrary number of components. The environment may also be further structured. The goal of component-oriented specifi... |

1 |
A survey and classi cation of some transformation approaches and techniques
- Feather
- 1987
(Show Context)
Citation Context ... that is correct by construction. Since the early seventies various transformation calculi havebeendeveloped for sequential programs (see, for instance, [BD77] or [CIP85], an overview can be found in =-=[Fea87]-=-), but only recently has the transformational approach been applied to concurrent programs (see [Bar85], [Bar88], [KB + 90a], [Old91]). In Focus transformation rules are mainly applied in the implemen... |

1 | et al. PROgram development by SPECi cation and TRAnsformation - Krieg-Bruckner - 1990 |

1 | developmentby SPECi cation and TRAnsformation - PROgram - 1990 |

1 |
The Foundations of Program Veri cation. WileyTeubner, 2nd edition
- Loeckx, Sieber
- 1987
(Show Context)
Citation Context ...ance, fa� bg c ha� b� a� ci = ha� b� ai. Our methodology is based on certain mathematical concepts which we brie y introduce in the following. For a detailed explanation of these concepts confer e.g. =-=[LS87]-=-, from which the de nitions below have beentaken.s2.3. Speci cation of Actions 13 De nition 2.1 (partial order): A partial order is a pair (D � v)withasetD and a relation v D D such that v is re exive... |