1The Olan Architecture Definition Language (original) (raw)

Architecturing and Configuring Distributed Application with Olan

Middleware’98, 1998

Middleware platforms are today solutions to the problem of designing and implementing distributed applications. They provide facilities for heterogeneous software components to communicate remotely, according to various interaction model, for example client server communication or asynchronous message passing. However, middleware platforms, like message busses or object request brokers, hardly provide tools for the design, configuration and installation of complex software architectures. This paper presents the Olan environment which primary objective is the description of complex architecture, their configuration according to application requirements and the deployment on heterogeneous distributed environments. The Olan environment is based on an Architecture Description Language where the application is considered as a hierarchy of interconnected software components. A set of software engineering tools assist the application designer in his task of wrapping existing software modules into components which are in turned interconnected through various communication models and finally assembled together according to specific configuration criteria. At run time, a set of system services in charge of automating the installation of the components and their communication channels on a given middleware platform, thus facilitating the overall deployment process of the global application. 1. components can be (re)configured independently from the components, according to functional dependencies or underlying middleware constraints. Compare to other ADL[9][6][12], the Olan environment tries to provide an architectural view as close as possible to the executable image, in particular concerning the use of the communication services. The Olan environment addresses four issues: • The integration of legacy software within an application by wrapping them into components, • The encapsulation of the middleware communication mechanisms in specific objects called connectors,

Using the AADL to describe distributed applications from middleware to software components

2005

Distributed Real-Time (DRE) systems require the verification of their properties to ensure both reliability and conformance to initial requirements. Architecture description languages (ADLs) such as the AADL provide adequate syntax and semantics to express all those properties on each component of a system. DRE systems rely on a key component, the middleware, to address distribution issues. In order to build efficient and verifiable systems, the middleware has to be tailorable to meet the application needs, and to be easily modeled to support a verification process. We propose the schizophrenic architecture as a canonical solution to these concerns. We study how to describe the middleware architecture using the AADL. We also study how the AADL can be used to aggregate the different aspects of the modeling of a complete system: architecture, behavioral descriptions, deployment, etc.

Distributed systems middleware architecture from a software engineering perspective

Proceedings Fifth IEEE Workshop on Mobile Computing Systems and Applications, 2000

Networked heterogeneous systems pose a great challenge for parallel and distributed applications. Middleware provides a critical link between the vast resources and the application domain that simplifies development, provides robust and reliable access to resources, helps optimize resource utilization, and facilitates the generation of stable distributed software. In this paper, we discuss a layered framework for distributed systems middleware, called Delmod, which supports parallel and distributed programming models, tools and applications on heterogeneous systems. Distributed systems middleware provides multiple layers of abstractions to hide the details of the distributed system and facilitate the efficient utilization of such systems. From a Software engineeringpoint-of-viewj such a layered middleware approach and the separation of concerns improve the development and management of parallel and distributed applications in many ways. The proposed model represented by Delmon is a general three-layer middleware that provides 6he services required to support parallel and distributed models and applications in clusters and heterogeneous systems. The layers are: the resource-speciJc services, the seyorganized run-time environment, and the parallel and distributed programming models. We also demonstrate the benefits of this well-defined layered approach that offers direrent levels of services andfirnctionalities.

Systematic Aid in the Development of Middleware Architectures

The use of middleware is the current practice for developing distributed systems. Developers compose reusable services provided by standard middleware infrastructures, e.g., CORBA 1 , DCOM 2 , Java RMI & related services 3 , etc., to deal with problems like distribution, security, transactional processing, fault tolerance, etc.. The development process gets even easier after the evolution of the originally proposed Object-Oriented middleware paradigm, towards nowadays component-based middleware paradigm, e.g., CCM 1 , MTS 2 , EJB 3 . Developers do not have to burden with the, sometimes considerably complex, composition of different middleware services. Instead they build their middleware components and deploy them within off-the-shelf middleware containers realizing a customizable composition of middleware services.

The open agent architecture: A framework for building distributed software systems

Applied Artificial Intelligence, 1999

The Open Agent Architecture OAA, developed and used for several years at SRI International, makes it possible for software services to be provided through the cooperative e orts of distributed collections of autonomous agents. Communication and cooperation between agents are brokered by one or more facilitators, which are responsible for matching requests, from users and agents, with descriptions of the capabilities of other agents. Thus, it is not generally required that a user or agent know the identities, locations, or number of other agents involved in satisfying a request. OAA is structured so as to minimize the e ort involved in creating new agents and wrapping" legacy applications, written in various languages and operating on various platforms; to encourage the reuse of existing agents; and to allow for dynamism and exibility i n the makeup of agent communities. Distinguishing features of OAA as compared with related work include extreme exibility in using facilitator-based delegation of complex goals, triggers, and data management requests; agent-based provision of multimodal user interfaces; and built-in support for including the user as a privileged member of the agent community. This paper explains the structure and elements of agent-based systems constructed using OAA. The characteristics and use of each major component o f O AA infrastructure are described, including the agent library, the Interagent Communication Language, capabilities declarations, service requests, facilitation, management of data repositories, and autonomous monitoring using triggers. To provide technical context, we describe the motivations for OAA's design, and situate its features within the realm of alternative software paradigms. A summary is given of OAA-based systems built to date, and brief descriptions are given of several of these.

A Multi-Agent-Based Middleware for the Development of Complex Architectures

2018 IEEE 27th International Symposium on Industrial Electronics (ISIE), 2018

Complex software systems of today consist of several interacting modules introducing the need of a cohesive architecture. The middleware Java JADE provides this functionality. However, there is a need for additional infrastructure to lower the effort of implementing modular systems. This paper presents the Agent-Based Complex Network Architecture framework (ACONA) that extends the Java JADE multi-agent system by adding a layer, taking away the use-case-based repetitive task of creating a common communication infrastructure, enhanced data storage, and unified function access within the agents. The implementation of a cognitive architecture, which is a highly complex control system in the domain of building automation, provides first proof of concept and benchmarking opportunity.

A middleware transparent approach for developing CORBA-based distributed applications

2004

ABSTRACT Complex distributed applications are developed using a variety of middleware technologies. Design and evolution of an application and subsequent migration from one middleware technology to another is cumbersome because of the high degree of coupling between the design of business functionality and middleware functionality. We propose an MDA compliant middleware transparent software development approach to address this problem.

Component-Based Programming of Distributed Applications

1996

The software architecture research domain arose in the early 90s and seeks solutions for easing the development of large, complex, software systems based on the abstract description of their software architectures. This research field is quite recent and there still does not exist a consensus on what should be the description of a software architecture. However, guidelines are already provided. In particular, it is now accepted that an architecture definition decomposes into three types of elements: component, connector, and configuration, which respectively correspond to a computation unit, an interaction unit and an architecture. It is also admitted that the description of an architecture should rely on a well-defined set of notations, generically referred to as architecture description languages. This document gives an overview of the capabilities offered by development environments based on the architecture paradigm. In a first step, we examine basic features of architecture description languages, which may be seen as their common denominator although existing languages already differ from that standpoint. We then concentrate on two specific environments, developed by members of the Broadcast working group, which aim at easing the implementation of distributed applications out of existing components. The Aster environment from the Solidor group at Inria-Irisa provides means for the systematic synthesis of middleware from non-functional requirements of applications. The Olan environment from the Sirac group at Inria-Grenoble offers support for the deployment of distributed applications composed of heterogeneous software elements.

Agent Oriented Software Engineering. A Motivation for and an Introduction to a Novel Approach to Modeling and Development of Open Distributed Systems

1994

The agent-oriented software engineering research community is advocating the agent-based approach for the design of distributed systems. But currently, there is a substantial gap between the massive number of publications reporting advantages of agents, and the relatively small number of successful large applications. We present an agent-based cluster server application together with the analysis of advantages and disadvantages of the agent-based version compared to the non agent-based version of functionally similar cluster server application. Obtained experience is analyzed from the viewpoints of designers, developers and users. Observations confirm several previously published advantages of the agent-based approach and implementation; yet reveal some less familiar disadvantages as well. Overall, we argue that agentbased approach provide reasonable benefits already at this stage, while we lack further agent-based research.