Constructing Distributed Systems in Conic
IEEE Transactions on Software Engineering
Foundations for the study of software architecture
ACM SIGSOFT Software Engineering Notes
Configuring object-based distributed programs in REXX
Software Engineering Journal - Object-oriented systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Formalizing architectural connection
ICSE '94 Proceedings of the 16th international conference on Software engineering
Software architecture: practice, potential, and pitfalls
ICSE '94 Proceedings of the 16th international conference on Software engineering
Systems Construction and Analysis: A Mathematical and Logical Framework
Systems Construction and Analysis: A Mathematical and Logical Framework
A Formal Model for Module Interconnection Languages
IEEE Transactions on Software Engineering
Specifying Distributed Software Architectures
Proceedings of the 5th European Software Engineering Conference
Semantics of a Higher-Order Coordination Language
COORDINATION '96 Proceedings of the First International Conference on Coordination Languages and Models
What Do You get From a Pi-Calculus Semantics?
PARLE '94 Proceedings of the 6th International PARLE Conference on Parallel Architectures and Languages Europe
CARP@ - A Reflection Based Tool for Observing Jini Services
Proceedings of the 1st OOPSLA Workshop on Reflection and Software Engineering: Reflection and Software Engineering, Papers from OORaSE 1999
Recovery of Architectural Structure: A Case Study
Proceedings of the Second International ESPRIT ARES Workshop on Development and Evolution of Software Architectures for Product Families
Generating adapters for concurrent component protocol synchronisation
FMOODS '02 Proceedings of the IFIP TC6/WG6.1 Fifth International Conference on Formal Methods for Open Object-Based Distributed Systems V
Component coordination in middleware systems
Middleware '98 Proceedings of the IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing
Hi-index | 0.00 |
Darwin is a language designed for configuring distributed systems. A system is modelled as a decompositional hierarchy of components with interfaces. Connections are represented as bindings between interfaces. Darwin programs define component types. Configurations of a system are obtained by instantiating these types. Configurations have to comply with a number of constraints on the system structure. It is therefore intuitive to express these constraints in the domain of configurations rather than on the language level. To succeed in this endeavour we need to precisely express the relation between Darwin programs and configurations. We do this in terms of a first-order logic theory of Darwin programs and configurations. Models of the theory provide a straightforward mapping from Darwin programs to configurations and vice versa. Most of the constraints on configurations as well as structural transformations can be specified by adding just a few axioms to the theory. Also the theory enables us to generate Darwin programs from configurations thus allowing for the inclusion of existing systems into new programs.