| Magee, J., Dulay, N., and Kramer, J. Regis: A constructive development environment for distributed programs. Distributed Systems Engineering 1, 5 (1994), 304--312. |
....quality and interfaces has been proposed as part of the MULTE project [29] Compatibility and conformance rules are used for type checking and stream binding. This model is more formal, but less flexible, than our current approach using Typespecs. Similarly to Infopipes, the Regis environment [20] separates the configuration of distributed programs from the implementation of the program components. The Darwin language is used to describe and verify the configurations. Components, which execute as threads or processes, are implemented in C with headers generated from Darwin declarations. ....
J. Magee, N. Dulay, and J. Kramer. Regis: A constructive development environment for distributed programs. Distributed Systems Engineering Journal, 1(5), September 1994.
....mostly those with academic background. They are usually used for simulation and reasoning about component architectures, and sometimes for prototyping or application design. Out of those with some form of support for connectors, the most important include ACME [9, 10] Aesop [11] C2 [14] Darwin [13], Rapide [35] MetaH [3] UniCon [28, 29] SADL [20, 19] and Wright [1] Each of the mentioned models takes slightly different approach to the concept of a connector, resulting in different connector capabilities and functionality under of particular componentmodel.However, all of themprovide ....
Magee, J., Dulay, N., Kramer, J.: Regis: A Constructive Development Environment for Distributed Programs, In Distributed Systems Engineering Journal, 1994
....collisions. However, there is no support mentioned for specifying behavior composition on a per collaboration basis. Research is however ongoing to make her co work with Karl Lieberherr about composing collaborations [16] 17] more dynamic [9] 18] 4.2. Dynamic software architecture In Regis [14] and ArchStudio [19] systems are constructed from a number of components and connectors that encapsulate the interactions between these components. The emphasis of these works is on the description, reconfiguration and evolution of the system s architecture. Connectors help to decouple components ....
J. Magee, N. Dulay, and J.Kramer, "Regis: A Constructive Development Environment For Distributed Programs", in Distributed Systems Engineering Journal, 1(5), 1994.
....respective ADLs. In compliance with the terminology coined in [6, 29] these are: #) implicit connections, e.g. in the Darwin language, 2) an enumerated set of built in connectors, e.g. in the UniCon language, and (3) user defined connectors, e.g. in the Wright language. The Darwin language [23] is a typical representative of ADLs that use implicit connections. The connections among components are specified in terms of direct bindings of requires and provides interfaces. The semantics of a connection is defined by the underlying environment (programming language, operating system, etc. ....
Magee, J., Dulay, N., Kramer, J.: Regis: A Constructive Development Environment for Distributed Programs. In Distributed Systems Engineering Journal, #(5), #994.
....a prototype implementation will be available. The scheme will be feasible to implement for a component model satisfying certain basic requirements (ADL based component descriptions, component composition, possibly behavior specifications) component models to be considered are CCM [7] Darwin [14], Wright [13] or the SOFA component model [1] As a proof of the concept, a prototype implementation of key tools will be developed for SOFA [1, 4, 5] 3 Current Status Future Work Preliminary results have been obtained in analyzing update scenarios with respect to the component life cycle; ....
Magee, J., Dulay, N., Kramer, J.: Regis: A Constructive Development Environment for Distributed Programs, In Distributed Systems Engineering Journal, September 1994
....to program needed collaborations came from systems such as, Conic, Podus, Polylith and PCL [25, 41, 19, 44] All proposed solutions assumed that to achieve management flexibility in a system one must incorporate collaboration related code into individual software objects. Recent work in this area [12, 31], thus focused mainly on language and programming environment aspects that might simplify specification of the needed collaboration code. Existing approaches to the design of dynamically evolving distributed software systems thus severely limit evolutionary capabilities of resultant systems. ....
J. Magee, N. Dulay, and J. Kramer. Regis: A constructive development environment for distributed programs. IEE/IOP/BCS Distributed Systems Engineering Journal, 1(5):304--312, September 1994.
....are very encouraging. They demonstrate clearly that mobile agents can provide extreme performance improvements for the recon guration of wide area distributed systems. 6 Related Work Previous and ongoing research in dynamic con guration have developed systems such as Surgeon [9] Regis Darwin [17], and Aster DRM [2] They use architectural description languages, connectors, and data ow models to represent the structure of complex applications and, in some cases, use con guration languages to specify dynamic modi cations in this structure. 0 5 10 15 20 25 30 35 40 0.5 1 2 4 8 16 ....
J. Magee, N. Dulay, and J. Kramer. Regis: A Constructive Development Environment for Distributed Programs. IEE Distributed Systems Engineering Journal, 1(1):37-47, 1994.
.... components designed to be a root of an update must have a precise specification to reliably decide on substitutability Depth of Component Specification: Multiple Levels . common methods for component interface specification syntactical specification as interface declarations (e.g. Darwin [9]) semantic specification as method invocations sequences [3, 7] usually take a form of regular expressions or CSP description) such specifications are not sufficient to reliably decide on substitutability of a component rather serve as an aid in the application design and design ....
Magee, J., Dulay, N., Kramer, J.: Regis: A Constructive Development Environment for Distributed Programs, In Distributed Systems Engineering
....Java Beans, EJB) and Microsoft s component technologies (DCOM, COM ) 22] offer infrastructure for composing non functional services with a core application. However, none of these infrastructures addresses all three challenges of section 2.1. 5.4. Connectors and configuration languages In Regis [11] and ArchStudio [14] systems are constructed from a number of components and connectors that encapsulate the interactions between these components. The emphasis of these works is on the description, reconfiguration and evolution of the application s architecture. Connectors help to decouple ....
J. Magee, N. Dulay, and J.Kramer, "Regis: A Constructive Development Environment For Distributed Programs", in Distributed Systems Engineering Journal, 1(5), 1994.
....Often such models do not exist. If there is such a model, it usually is a passive piece of documentation, and plays no active part during system development or evolution. Using a software development environment where the model forms an active part of development (e.g. an environment like Regis [12]) would be preferable over current practice. Since dynamic distributed systems integrate a variety of off the shelf components, such an environment usually is not an option. The resulting situation bears the constant risk that the model gets out of synchronization with the system it aims to ....
Jeff Magee; Naranker Dulay; Jeff Kramer. Regis: A Constructive Development Environment for Distributed Programs. Distributed Systems Engineering Journal, 1(5):304--312, 1994.
....(dynamic) view that specifies the behaviour, indicating the coordination interactions among the service s constituent components. Service composition therefore has two aspects, namely structural composition and behaviour composition. Modern component based programming environments (e.g. [1,2,3]) provide good facilities for structural composition, but lack facilities for behaviour composition and work activity coordination. On the other hand, workflow systems excel in providing behaviour composition and work activity coordination, but have limited facilities for structural composition. A ....
J. Magee, J. Kramer and M.Sloman, "Regis: a constructive development environment for distributed programs", Distributed Systems Engineering, 1(5), pp. 663-675, 1994.
....model can be integrated into the SOFA DCUP component model. 1. Introduction A few years ago, the trend to construct software systems as a collection of cooperating reusable components emerged and has become widely accepted since. Influenced by the academic research projects focused on components [9, 23, 25, 8, 1, 17, 6], several industrial systems on the market [26, 27, 15, 16, 29] advertise support of component technology. As for components, there is a broad agreement on grasping them as reusable black grey box entities with well defined interfaces and specified behavior. Usually, a component can have multiple ....
....surrounding environment. Components can be nested to form hierarchies; a higher level component can be composed of several mutually interconnected, cooperating subcomponents. Serving as tools for specifying component interfaces and architecture, a number architecture description languages (ADLs) [9, 25, 1, 17, 13] have been designed. The notion of a connector can be found in many papers on software architectures [25, 1, 17, 12, 2] Typically, a connector is an architectural element that reflects the specific features of interactions among components in a system. Even though the notion of a connector ....
[Article contains additional citation context not shown here]
Magee, J., Dulay, N., Kramer, J.: Regis: A Constructive Development Environment for Distributed Programs. In Distributed Systems Engineering Journal, 1(5), 1994.
....hardware are safety critical (transport systems, for example) security is also an issue. Lastly, dynamic and distributed systems often need to respond to events in real time, and therefore the performance of the final system must be assured. Fortunately, it has been shown in at least two studies [Magee 1994a, Shaw 1995b] that efficiency is not compromised if systems are built at two levels and compiled using configuration language compilers, as shown in Figure 1. Design Tool Design System Designer Implementer . as well as here. Library Configuration Programming Language Components Configuration ....
....Example Consider the simple example posed in Figure 4. In a normal Darwin system, CatFile and RemoveVowels would be bound together directly. The components themselves (written in C ) would have to include calls to in and out methods defined for the port class, written in the Regis system in C [Magee 1994a] as shown in Figure 9. The C is expressed as constructors which are linked in with header files produced as a result of the corresponding Darwin components. It is in these components that the ports will be defined. In this example, Steamlines is a class defined for the type of data being ....
[Article contains additional citation context not shown here]
Magee J, Dulay N and Kramer J, Regis: a constructive development environment for distributed programs, Distributed Systems Engineering Journal 1 (5) 304--312 September 1994.
....or support semantic relations between modules. Another area of configuration management is configuration programming,defined as the process whereby components written in any conventional programming language can be bound together to form a dynamic system [29] Examples of this work are Darwin [30], Polylith [31] and UNICON [32] In contrast to our work, the primary goal of these systems is to make it possible to combine existing software components into a larger system primarily by linking the inputs and outputs of the components using pipes, RPC, or shared data structures. The main ....
J. Magee, N. Dulay, and J Kramer. Regis: A constructive development environment for distributed programs. Distributed Systems Engineering Journal, 1(5):304--312, Sep 1994.
....(frame for short) of a template T defines the set of individual interfaces any component which is an instance of T will possess. Basically, the frame of T reflects a black box view on T. Interfaces are defined in the SOFA CDL language. In a template frame, similar to many other ADLs (e.g. Darwin [14]) an interface (type) can be instantiated as a provides interface or a requires interface. In principle, a provides interface of T specifies a service each instance of T will offer to its clients. Similarly, a requires interface of T specifies a service any instance of T will need (call) from an ....
Magee, J., Dulay, N., Kramer, J.: Regis: A Constructive Development Environment for Distributed Programs. In Distributed Systems Engineering Journal, 1(5), 1994.
....specify the provided and required interfaces of the component, subcomponent instances, and the bindings between subcomponents. Component instantiation can be parameterised, and new components may be created and bound dynamically at run time. Conic s most recent offspring is the Regis system [MAG94, MAG95], a programming environment for distributed systems that uses Darwin as its configuration language. Regis builds on REX by treating communication and computation separately, and by providing improved support for dynamic reconfiguration of program structure. Although REX allowed arbitrary ....
....unseen classes, then incorporate instances of these classes into a running program. Secondly, these systems are not specifically targeted towards multimedia applications. The target domain in most cases seems to be embedded or system level applications such as the active badge system described in [MAG94]. Requirements for this class of applications are likely to be well specified in advance, and run time configuration will usually simply be a matter of scale adding or removing machines, or perhaps reconfiguring around failures. It is unlikely that completely new functionality will need to be ....
Jeff Magee, Naranker Dulay & Jeff Kramer. "Regis: A Constructive Development Environment for Distributed Programs." Distributed Systems Engineering Journal 1:5, 1994, 304--312.
....0 Work to do. A specification of a prototype starts giving an architectural description of 14 the MAS used for modelling it. To define an architecture description language that suits the peculiarities of MAS we plan to adapt some existing architecture description language (for example Darwin [MDK94] This language permits to configure a distributed system as a hierarchically structured set of instances of components, that provide and require services. In a similar way, we want to have a language that allows configuring a MAS as a set of instances of agents, as well as a description of the ....
J. Magee, N. Dulay, and J. Kramer. Regis: A Constructive Development Environment for Distributed Programs. Distributed Systems Engineering Journal, 1(5):304--312, 1994. Special Issue on Configurable Distributed Systems.
....a style, that in principle seems to be easily implementable using the COM middleware, is actually incompatible with it. This view has been stated also in [18] in which the authors discuss the importance of complementing component interoperability models with explicit architectural models. Regis [9] and C2 [24] are middlewares for which ADLs have been specifically defined (Darwin [10] and C2SADEL [13] respectively) These ADLs support the definition of architectures compliant with the corresponding middleware. From a different viewpoint, the ADL UniCon [22] proposes a conceptually similar ....
J. Magee, N. Dulay, and J. Kramer. Regis: A Constructive Development Environment for Distributed Programs. IEE/IOP/BCS Distributed Systems Engineering, 1(5), September 1994.
....the software life cycle. In fact, some infrastructure has already been developed to support this vision. In particular, a source code editor that is explicitly based on architecture [5] a tool speci cally designed to test architectures [30] and a number of architecture based activation systems [17, 22] have been constructed. With this kind of use of architectures, though, the architectural structure of a software system becomes as important as its source code; both are delivered and deployed. Moreover, both exist in multiple variants, both exhibit optionality, and both evolve over time. ....
J.N. Magee, N. Dulay, and J. Kramer. Regis: A Constructive Development Environment for Distributed Systems. Distributed Systems Engineering Journal, 1(5):304-312, 1994.
....They demonstrate clearly that mobile agents can provide extreme performance improvements for the recon guration of wide area distributed systems. 6 Related Work Previous and ongoing research in dynamic recon guration have developed systems such as Surgeon [HWP93] Argus [BD93] Regis Darwin [MDK94] Olan [BBB 98] Aster DRM [BISZ98] and ArchStudio [OT98] They use architectural description languages, connectors, and data ow models to represent the structure of complex applications and, in some cases, use recon guration languages to specify dynamic modi cations in this structure. This ....
Je Magee, Naranker Dulay, and Je Kramer. Regis: A Constructive Development Environment for Distributed Programs. IEE/IOP/BCS Distributed Systems Engineering Journal, 1(1):37-47, 1994.
....other things being equal. A resource s classification field has a less well defined meaning, but allows caches which specialise in different types of material to discriminate between resources competing for presence. 6 Adaptive Resource Delivery in the Jukebox The Jukebox is implemented in Regis [12], a development environment for component based, parallel and distributed programs. Components of a Regis program interact via an extensible set of communication objects. The Darwin configuration language [11] describes the interconnection patterns between component instances in a Regis program. ....
J. Magee, N. Dulay, and J. Kramer. Regis: A Constructive Development Environment for Distributed Programs. IEE/IOP/BCS Distributed Systems Engineering Journal, 1(5):304--312, September 1994.
....current resource requirement will be broken. As illustrated in figure 6, the extrapolation consists of calculating the regression line of the buffer size B on time t by applying the least squares method of fitting a line [8] 4 IMPLEMENTATION The audio delivery system is implemented in Regis [5], a development environment for component based, parallel and distributed programs. This section presents a more technical, implementation oriented description of the system and its dynamic protocol architecture [3] 4.1 Server Session In the absence of adaptation the system merely reads blocks ....
J. Magee, N. Dulay, and J. Kramer. Regis: A Constructive Development Environment for Distributed Programs. IEE/IOP/BCS Distributed Systems Engineering Journal, 1(5):304--312, September 1994.
....infrastructure to support an associated ADL. C2 has its class framework as its infrastructure, and this class framework is implemented in multiple programming languages [13] Darwin is supported by an infrastructure called Regis for distributed programs that are configured using Darwin [4,5]. And UniCon supports implementation generation for a predefined collection of connectors [11] There has also been recent work in the Darwin project on supporting architectural modeling of CORBA based systems [6] In addition to providing ADL specific infrastructure support, there has been ....
J. Magee, N. Dulay, and J. Kramer, "Regis: A Constructive Development Environment for Distributed Programs", IEE/IOP/BCS Distributed Systems Engineering, vol. 1, no. 5, pp. 304--312, 1994.
....Object Request Brokers, we came to the conclusion that the TAO ORB [7] would be the best starting point for developing our infrastructure. TAO is a portable, exible, extensible, and con gurable ORB based on object oriented design patterns. It is written in C and uses the Strategy design pattern [8] to separate di erent aspects of the ORB internal engine. A con guration le is used to specify the strategies the ORB uses to implement aspects like concurrency, request demultiplexing, scheduling, and connection management. At ORB startup time, the con guration le is parsed and the selected ....
....is destroyed the Thread Pool strategy signals that it can be unloaded. Another problem occurs when one replaces the Thread Pool strategy by a new one. There may be several incoming connections enqueued in the strategy waiting for a thread to execute them. The solution is to use the Memento pattern [8] to encapsulate the old strategy state in an object that is passed to the new strategy. An object is used to encapsulate the queue of waiting connections. The system simply passes this object to the new strategy which then takes care of the enqueued connections. Our group is currently expanding ....
[Article contains additional citation context not shown here]
Je Magee, Naranker Dulay, and Je Kramer. Regis: A Constructive Development Environment for Distributed Programs. IEE/IOP/BCS Distributed Systems Engineering Journal, 1(1):37-47, 1994.
.... Wrapper Templates wraps noncompliant modules information information run time execution composition process CPAM protocol Megaprogram (written in CLAM) generates Figure 5: The CHAIMS system There exist other systems for composing distributed components, e.g. Hadas [12] and Regis [13]. But in contrast to CHAIMS, these systems do not assume the components or services they compose to be all of the following: distributed over sites of different organizations, autonomous, heterogeneous also concerning the distribution system, computation intensive. They therefore do not have a ....
J. Magee, N. Dulay, J. Kramer; "Regis: A Constructive Development Environment for Distributed Programs", IEE/IOP/BCS Distributed Systems Engineering, 1(5): 304-312, Sept 1994.
....a given collection of heterogeneous machines [21, 22, 3, 23, 24] Schooner is also related to programming environments and configuration management systems that allow the user to construct higher level distributed applications from collections of individual components. One such system is Regis [25], which supports a hierarchical composition model for software modules written in C . Regis uses the Darwin specification language and is oriented towards static configuration, although lazy instantiation is used to provide some dynamic aspects. Unlike Schooner, however, such systems provide only ....
J. Magee, N. Dulay, and J. Kramer, `Regis: A constructive development environment for distributed programs', Distributed Systems Engineering, 1(5), 304--312 (1994).
....The Conic configuration language [DUL84] is used firstly to specify the configuration of components within a node (a group of tasks executing within a shared address space) and secondly to describe the configuration of nodes making up an application. A descendant of Conic is the Regis system [MAG94], which offers two limited forms of dynamic configuration: lazy component instantiation and direct dynamic component instantiation. Unfortunately, most existing systems are not aimed specifically at multimedia groupware applications, particularly with respect to the communications abstractions ....
Jeff Magee, Naranker Dulay & Jeff Kramer. "Regis: A Constructive Development Environment for Distributed Programs." Distributed Systems Engineering Journal 1:5, 1994, 304--312.
....but not vice versa. Even though it is superfluous to have declarations in both directions, there might be cross checking or type checking advantages in allowing for this, as is done in the Darwin system when specifying types for input and output ports of components in a distributed system [13]. ImplicitIOCDescription = ServerClassName; ServerAttribute;ClientOperation) Finally, each description of an implicit IOC consists of two constructs: the server s class name; and a list of server attribute client operation pairs. Normally, a single pair for a single state attribute will be ....
Magee J, Dulay N and Kramer J, Regis: A Constructive Development Environment for Distributed Programs, Distr. Syst. Engng, 1, 304-312, 1994.
....instead of directly expressed templates. Instead of a full template for the target platform, the application can be expressed as a con guration of services with a certain type and quality. An example of such a programming style can be found in Darwin language developed in Regis project (Magee et al. 1994). To the type base descriptive speci cation of the application we can integrate QoS relationship, as it is possible to do in TINA ODL (Parhar 1996) This gives only place holders for the QoS contracts. When the instantiation takes place, the environment contract for the application is de ned and ....
Magee, J., Dulay, N. & Kramer, J. (1994), `Regis: a constructive development environment for distributed programs', Distributed Systems Engineering Journal 1(5), 305312.
....management has been addressed in a number of other projects. An important part of this work is configuration programming, defined as the process whereby components written in any conventional programming language can be bound together to form a dynamic system [7] Examples of this work are Darwin [19], Polylith [22] and UNICON [27] In contrast to the work presented in this paper, the primary goal of these systems and languages is to make it possible to combine existing software components into a larger system primarily by linking the inputs and outputs of the components using pipes, RPC, or ....
J. Magee, N. Dulay, and J. Kramer. Regis: a constructive development environment for distributed programs. Distributed Systems Engineering Journal, 1(5):304--312, Sep 1994.
....as fault tolerance, while the Aster system provides a framework for various kinds of customization. The same remark applies for work about customization in the Polylith distributed composition based programming system (e.g. see [7, 16] Other composition based programming systems such as Regis [17] and UniCon [18] support different types of customization through the provision of communication components. The programmer can then develop communication protocols customized to the application needs by implementing new communication components. However, here again, they do not address automatic ....
J. Magee, J. Kramer, and M. Sloman, "Regis: A Constructive Development Environment for Distributed Programs," Distributed Systems Engineering, vol. 1, no. 5, pp. 663--675, 1994.
....forall i= 0,s 1) n[i] right Gamma Gamman[i 1] left; g; 4 An Implementation of ConCoord In order to demonstrate the feasibility of ConCoord we have implemented a prototype which runs on a network of workstations. We have used as implementation platform the distributed runtime system of Regis [MDK94] developed at Imperial College of London because this provides distributed programming, the creation and killing of threads and the definition and breaking of bindings. Regis is commonly used with a configuration language called Darwin [Dul92] which supports the definition of static program ....
J. Magee, N. Dulay, and J. Kramer. Regis: A Constructive Development Environment for Distributed Programs. Distributed Systems Engineering Journal, 1(5):304--312, September 1994.
....Jobs Manager Manager CPU CPU Database Database Figure 1: Shiva, An Experimental Harness for Load Balancing Experiments. Shiva is an experimental testbed developed to support load balancing experiments (figure 1) Shiva has been implemented as a class library and modified runtime layer using Regis [13], a distributed programming environment developed at Imperial College. Experiments were run in real time on clusters of eight SPARCstation IPX 4 50s. We support the generation of synthetic workloads, as it has proved impractical to gather actual workload traces in a live environment. Textual ....
J. Magee, N. Dulay, and J. Kramer. Regis: A constructive development environment for distributed programs. Distributed Systems Engineering, 1(5), September 1994. Regis may be obtained from http://www-dse.doc.ic.ac.uk/ .
....It must be possible to perform these functions without shutting down the system so that large systems can evolve or be reconfigured to cope with failures. A key concept is that of hierarchical composition to enable a new service to be specified as a composition of existing services or components [9]. Registration of users is needed so that they can be identified and held accountable for their use of services. Service components should have unique identifiers so that managers can identify and keep track of what is in the system and where it is. There is thus a need to manage namespaces and ....
....service in a wide area network. Darwin defines the required object instances within the composite object; allocation of instances to physical nodes; bindings between internal object interfaces, to the interfaces provided by existing services or to the interface provided by the composite [9]. Graphical tools are being developed to permit dynamic online configuration management of a distributed service as part of an Esprit Project [6] and the tools are being adapted to support configuration of multi media systems within a BT funded project. Management Interfaces Normal Interface ....
J. Magee, N. Dulay, J. Kramer, Regis: A Constructive Development Environment for Distributed Programs, IEE/IOP/BCS Distributed Systems Engineering, Vol. 1, No. 4, pp. 304-312.
No context found.
J.Magee, N. Dulay and J. Kramer, Regis: A Constructive Development Environment for DistributedPrograms, Distributed Systems Engineering Journal, to appear.
....Therefore, db CHI sends a not existing message to MG12 , which is sent on to db TRA and then to db C P , as presented in figure 6 (i) 5 Implementation Experience An experimental prototype was developed to demonstrate, evaluate and refine our approach. It is implemented in C , using Darwin Regis [10] environment to allow the distributed exchange of data and messages. The prototype demonstrates the feasibility of the approach to interoperating a large number of databases without using integrated schemas. The implementation shows that it is not difficult to find and access the databases in the ....
J. Magee, N. Dulay, and J. Kramer. Regis: A constructive development environment for distributed programs. Distributed Systems Engineering Journal, 1(5):304--302, 1994.
....of the databases associated to the federation. 6 Implementation Experience and Evaluation An experimental prototype of our proposal is currently under development. The initial prototype is being used to demonstrate, evaluate and refine our approach. It is implemented in C , using Darwin Regis [9] environment to allow the distributed exchange of data and messages. The tool and methodology to assist with the creation, modification and evolution of the hierarchical structures are implemented in Java. The prototype assists with the system setup, the concurrent execution of the discovery ....
J. Magee, N. Dulay, and J. Kramer. Regis: A constructive development environment for distributed programs. Distributed Systems Engineering Journal, 1(5):304--302, 1994.
....on Configurable Distributed Systems, Annapolis, May 1998. Darwin is a pure declarative language, with sound semantics [23,25] Again, we (and others) have had wide experience of its use to describe and construct distributed systems [30] for a number of execution platforms including Regis [24] (our own platform) and CORBA [26] Darwin has been designed to be sufficiently abstract to support multiple views (cf. Kruchten [20] two of which are the behavioural view (for behaviour analysis) and the service view (for construction) Figure 1) Each view is an elaboration of the basic ....
Magee J., Dulay N. and Kramer J., Regis: A Constructive Development Environment for Distributed Programs, Distributed Systems Engineering Journal, 1 (5), Special Issue on Configurable Distributed Systems, (1994), 304312.
.... Architecture specification has thus been in capturing system structure [5,8,13] The authors have previously published papers on the use of the architecture description language Darwin for specifying the structure of distributed systems and subsequently directing the construction of those systems [8,9,10]. Darwin can also be used to organise CORBA based distributed systems [11] Darwin describes a system in terms of 2 Chapter components, which manage the implementation of services. Interconnection structure is specified by bindings between the services required and provided by component ....
....describes a system in terms of 2 Chapter components, which manage the implementation of services. Interconnection structure is specified by bindings between the services required and provided by component instances. Darwin has both a graphical and a textual form with appropriate tool support [9,12]. Behavioural View Service View Structural View Analysis Construction implementation Figure 1. Common Structural View with Service and Behavioural Views In this paper, we describe the use of Darwin structural descriptions as a framework for behaviour analysis rather than system ....
Magee J., Dulay N. and Kramer J., Regis: A Constructive Development Environment for Distributed Programs, Distributed Systems Engineering Journal, 1 (5), Special Issue on Configurable Distributed Systems, (1994), 304-312.
....are gathered by independent subsystems, and then combined by the location server. At the moment, we use one server per service area. Further, we have implemented and tested roaming support for located objects that are visible to the Active Badge service. The server software uses the Regis platform [3] which provides distribution, multi threading, and message passing communication. CORBA interfaces have been implemented for the Active Badge subsystem. On the client side, we use Java applets [17] to access the service (see Figure 2) thus catering for heterogeneous client platforms (currently ....
J. Magee, N. Dulay, and J. Kramer. Regis: A constructive development environment for distributed programs. Distributed Systems Engineering, 5(1), September 1994.
....forall k:0. n 1 inst F[k] fvalue(k) k 1; when k n 1 bind F[k] output F[k 1] input; bind input F[0] input; F[n 1] output output; input output input F[n 1] Figure 4 Composite Component Pipe Further details of Darwin and its associated toolset may be found in [3,5,6,7,8]. We have attempted to demonstrate in this section that while the CORBA approach deals elegantly with helping the programmer deal with distribution by clearly separating the specification of interfaces from object implementations and by providing transparent access to remote services, it does not ....
....description. Binding is accomplished by obtaining provided references from the attributes of primitive components and setting the required interface attributes to these values. A detailed specification for the Darwin elaboration may be found in [7] This was first implemented in the Regis system[6] and adapted for the current CORBA prototype. The algorithm results in primitive components being bound directly to primitive components as depicted in Figure 9. There is no indirection overhead and object invocations are not routed through intermediaries. A CORBA system structured using Darwin ....
J.Magee, N. Dulay, J. Kramer, Regis: A Constructive Development Environment for Distributed Programs, Distributed Systems Engineering Journal, Vol. 1, No. 5., pp 304312.
....systems: Active Badges, Unix workstations, and GPS receivers. Each of these sensor categories was encapsulated by a sub system and exposed to the network as a service. For example, the implementation of the Active Badge service using the distributed programming platform Regis is described in [7]. To fuse the data, we firstly constructed an adhoc system where a client program connects to all available location services and fuses the results locally. This approach is facilitated by a central directory for locations and located objects, which was in our case implemented by a collection of ....
J. Magee, N. Dulay, and J. Kramer. Regis: A constructive development environment for distributed programs. Distributed Systems Engineering, 5(1):304--312, September 1994.
....architectures. For analysis and program construction, a generic architecture must be instantiated, evaluating the parameters, elaborating the component definitions and performing interface bindings to generate a particular architectural instance. This can then be analysed or implemented in Regis [23], a distributed programming environment which supports Darwin design specifications. For simplicity, we neglect many of the naming and elaboration issues. 10 The design architecture of the gas station postulates a hierarchy of subsystems as shown in Figure 8. In the hierarchy, subsystems are ....
....as to which aids the minimisation automation. Supporting analysis tools [13] have been implemented, and we are proposing to incorporate these into an environment for the design and construction of distributed programs, the System Architect s Assistant [21] which utilises the Darwin language [23] for the specification of the software architectures. We also 24 considering developing a framework to integrate this enhanced CRA technique with a data flow analysis technique [5, 6] Finally we are investigating an approach for the specification and checking of liveness conditions which is to ....
J. Magee, N. Dulay, and J. Kramer, "Regis: A Constructive Development Environment for Distributed Programs," Distributed Systems Engineering Journal, vol. 1, no. 5, pp. 304-312, 1994. 26
No context found.
Magee, J., Dulay, N., and Kramer, J. Regis: A constructive development environment for distributed programs. Distributed Systems Engineering 1, 5 (1994), 304--312.
No context found.
J. Magee, N. Dulay, and J. Kramer. Regis: A constructive development environment for distributed programs. Distributed Systems Engineering Journal, 1(5), September 1994.
No context found.
J. Magee, N. Dulay, and J. Kramer. Regis: A constructive development environment for distributed programs. IEE/IOP/BCS Distributed Systems Engineering, 1(5), 1994.
No context found.
Magee J, Dulay N, Kramer J. Regis: A constructive development environment for distributed programs. Distributed Systems Engineering Journal 1994; 1(5).
No context found.
J. Magee, N. Dulay, and J. Kramer, Regis: A Constructive Development Environment for Distributed Programs, Distributed Syst. Engng. J., 1(5):304#312 (1994).
No context found.
J. Magee, N. Dulay, and J. Kramer. Regis: A Constructive Development Environment for Distributed Programs. In IEE/IOP/BCS Distributed Systems Engineering, pages 304--312, September 1994.
No context found.
Magee J., Dulay N., Kramer J., "Regis: A Constructive Development Environment for Distributed Programs", IEE Distributed Systems Engineering Journal, vol.1(N.5), Dec. 1994, pp.304-312
First 50 documents Next 50
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC