Results 1 
8 of
8
Specifying software connectors
 1st International Colloquium on Theorectical Aspects of Computing (ICTAC’04
, 2004
"... Abstract. Orchestrating software components, often independently supplied, has assumed a central role in software construction. Actually, as relevant as components themselves, are the ways in which they can be put together to interact and cooperate in order to achieve some common goal. Such is the r ..."
Abstract

Cited by 9 (4 self)
 Add to MetaCart
Abstract. Orchestrating software components, often independently supplied, has assumed a central role in software construction. Actually, as relevant as components themselves, are the ways in which they can be put together to interact and cooperate in order to achieve some common goal. Such is the role of socalled software connectors: external coordination devices which ensure both the flow of data and synchronization restrictions within a component’s network. This paper introduces a new model for software connectors, based on relations extended in time, which aims to provide support for light intercomponent dependency and effective external control. 1
On Refinement of Generic Software Components
 In 10th Int. Conf. Algebraic Methods and Software Technology (AMAST
, 2003
"... This paper characterises refinement of statebased software components modelled as concrete coalgebras for some Set endofunctors. The resulting calculus is parametrized by a specification of the underlying behaviour model introduced as a strong monad. This provides a basis to reason about (and trans ..."
Abstract

Cited by 9 (6 self)
 Add to MetaCart
This paper characterises refinement of statebased software components modelled as concrete coalgebras for some Set endofunctors. The resulting calculus is parametrized by a specification of the underlying behaviour model introduced as a strong monad. This provides a basis to reason about (and transform) statebased software designs.
This research was supported by NASA grant NAG54301 and NSF grant AST9619552 to AW. MK was supported by KBN grant 2.P03D.006.1. Arecibo Observatory is part of the National Astronomy and Ionosphere Center, which is operated by Cornell University under cont
, 2005
"... A partial component is a process which fails or dies at some stage, thus exhibiting a finite, more ephemeral behaviour than expected (e.g. operating system crash). Partiality — which is the rule rather than exception in formal modelling — can be treated mathematically via totalization techniques. In ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
A partial component is a process which fails or dies at some stage, thus exhibiting a finite, more ephemeral behaviour than expected (e.g. operating system crash). Partiality — which is the rule rather than exception in formal modelling — can be treated mathematically via totalization techniques. In the case of partial functions, totalization involves error values and exceptions. In the context of a coalgebraic approach to component semantics, this paper argues that the behavioural counterpart to such functional techniques should extend behaviour with tryagain cycles preventing from component collapse, thus extending totalization or transposition from the algebraic to the coalgebraic context. We show that a refinement relationship holds between original and totalized components which is reasoned about in a coalgebraic approach to component refinement expressed in the pointfree binary relation calculus. As part of the pragmatic aims of this research, we also address the factorization of every such totalized coalgebra into two coalgebraic components — the original one and an added frontend — which cooperate in a clientserver style. Key words: partial components, tryagain cycles, refinement, coalgebra 1
Coalg_{KPF}: Towards a Coalgebraic Calculus for componentBased Systems
"... Coalgebras of Kripke Polynomial Functors have been widely used in modelling various kinds of systems. In this paper, we give a category Coalg KPF which consists of coalgebras of KPFs. Then we present a set of constructions like sequential and parallel composition in a subcategory of Coalg KPF for a ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Coalgebras of Kripke Polynomial Functors have been widely used in modelling various kinds of systems. In this paper, we give a category Coalg KPF which consists of coalgebras of KPFs. Then we present a set of constructions like sequential and parallel composition in a subcategory of Coalg KPF for a restricted family of KPFs by exploiting the canonical operations in category theory. A family of algebraic laws for the properties being satisfied by these operations is provided. Sun Meng is a Fellow at UNU/IIST on leave from the School of Mathematical Science of Beijing University, China, where he is a Ph.D candidate. His research interest include category theory, coalgebra theory, ObjectOriented method, formal method in software development, and formal semantics for modeling languages. His email address is sm@iist.unu.edu.
Reusable Monadic Semantics of Object Oriented Programming Languages
, 2002
"... We specify the dynamic semantics of an object oriented programming language in an incremental way. We begin with a simple language of arithmetic and boolean expressions. Then, we add functional abstractions, local declarations, references and assignments obtaining a functional language with impe ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
We specify the dynamic semantics of an object oriented programming language in an incremental way. We begin with a simple language of arithmetic and boolean expressions. Then, we add functional abstractions, local declarations, references and assignments obtaining a functional language with imperative features. We finally add objects, classes and subclasses to obtain a prototypical object oriented language with dynamic binding.
LPS: A Language Prototyping System Using Modular Monadic Semantics
, 2001
"... This paper describes LPS, a Language Prototyping System that facilitates the modular development of interpreters from semantic building blocks. The system is based on the integration of ideas from Modular Monadic Semantics and Generic Programming. To define a new programming language, the abstract s ..."
Abstract
 Add to MetaCart
This paper describes LPS, a Language Prototyping System that facilitates the modular development of interpreters from semantic building blocks. The system is based on the integration of ideas from Modular Monadic Semantics and Generic Programming. To define a new programming language, the abstract syntax is described as the fixpoint of nonrecursive pattern functors. For each functor an algebra is defined whose carrier is the computational monad obtained from the application of several monad transformers to a base monad. The interpreter is automatically generated by a catamorphism or, in some special cases, a monadic catamorphism. The system has been implemented as a domainspecific language embedded in Haskell and we have also implemented an interactive framework for language testing. 1
Process Calculi à la BirdMeertens
, 2001
"... This paper is an attempt to apply the reasoning principles and calculational style underlying the socalled BirdMeertens formalism to the design of process calculi, parametrized by a behaviour model. In particular, basically equational and pointfree proofs of process properties are given, relying o ..."
Abstract
 Add to MetaCart
This paper is an attempt to apply the reasoning principles and calculational style underlying the socalled BirdMeertens formalism to the design of process calculi, parametrized by a behaviour model. In particular, basically equational and pointfree proofs of process properties are given, relying on the universal characterisation of anamorphisms and therefore avoiding the explicit construction of bisimulations. The developed calculi can be directly implemented on a functional language supporting coinductive types, which provides a convenient way to prototype processes and assess alternative design decisions.