This document provides a summary of middleware approaches for distributed real-time systems. It discusses the need for middleware in distributed real-time systems to help with development challenges like coordination and software reuse. It then reviews related work on different middleware types and their capabilities/limitations for real-time systems. Key requirements for real-time middleware are described. Several widely used real-time middleware are then introduced, including Data Distribution Service (DDS), JMS, CORBA Notification Service, and Real-time CORBA. Their architectures and features are summarized.
Cognitive Approach Towards the Maintenance of Web-Sites Through Quality Evalu...Waqas Tariq
It is a well established fact that the Web-Applications require frequent maintenance because of cutting– edge business competitions. The authors have worked on quality evaluation of web-site of Indian ecommerce domain. As a result of that work they have made a quality-wise ranking of these sites. According to their work and also the survey done by various other groups Futurebazaar web-site is considered to be one of the best Indian e-shopping sites. In this research paper the authors are assessing the maintenance of the same site by incorporating the problems incurred during this evaluation. This exercise gives a real world maintainability problem of web-sites. This work will give a clear picture of all the quality metrics which are directly or indirectly related with the maintainability of the web-site.
This paper discusses the Aeosop system components and connectors briefly then, it discusses the architectural connectors of Apache ActiveMQ, graphs are used to support the readability and modularity of the document.
This document defines and describes different types of middleware. It begins by defining middleware as software that facilitates data exchange between applications across different hardware and network environments. It then describes three main categories of middleware: message-oriented middleware, remote procedure calls (RPCs), and distributed objects. For each category, it provides examples and discusses key features such as how message-oriented middleware uses asynchronous messaging to decouple applications, while RPCs use synchronous requests that can block applications. It also briefly mentions other types like database middleware and transaction processing monitors.
Model-Driven Architecture for Cloud Applications Development, A survey Editor IJCATR
Model Driven Architecture and Cloud computing are among the most important paradigms in software service engineering now a days. As cloud computing continues to gain more activities, more issues and challenges for many systems with its dynamic usage are introduced. Model Driven Architecture (MDA) approach for development and maintenance becomes an evident choice for ensuring software solutions that are robust, flexible and agile for developing applications.
This paper aims to survey and analyze the research issues and challenges that have been emerging in cloud computing applications with a focus on using Model Driven architecture (MDA) development. We discuss the open research issues and highlight future research problems.
21. Application Development and Administration in DBMSkoolkampus
The document provides an overview of web interfaces to databases and techniques for improving web application performance. It discusses how databases can be interfaced with the web to allow users to access data from anywhere. It then covers topics like dynamic page generation, sessions, cookies, servlets, server-side scripting, and techniques for improving web server performance like caching. The document also discusses performance tuning at the hardware, database, and transaction levels to identify and address bottlenecks.
Software fault tolerance technologies can increase application availability and data consistency. The paper discusses Watchdog, libft, and nDFS - reusable software components that provide up to the third level of software fault tolerance. Watchdog monitors processes for crashes, libft checkpoints critical data, and nDFS replicates persistent data. These components have been used to enhance fault tolerance in AT&T telecom products with performance overhead from 0.1-14% depending on amount of data checkpointed and replicated. The components provide efficient and economical means to increase software fault tolerance.
This document provides an overview of key topics in service-oriented architecture (SOA) including:
- Services can be implemented as reusable components that are independent of the applications that use them.
- Web services standards like SOAP, WSDL, and WS-BPEL allow services to be described and composed into workflows.
- Service-oriented development involves identifying candidate services, designing service interfaces, and implementing and deploying services. Existing systems can be wrapped as services to promote reuse.
This document summarizes four architectural patterns for context-aware systems: WCAM, Event-Control-Action, Action, and architectural pattern for context-based navigation. It discusses examples, problems addressed, solutions, structures, and benefits of each pattern. The patterns are examined to determine which can best overcome complexity and be more extensible for context-aware systems.
Cognitive Approach Towards the Maintenance of Web-Sites Through Quality Evalu...Waqas Tariq
It is a well established fact that the Web-Applications require frequent maintenance because of cutting– edge business competitions. The authors have worked on quality evaluation of web-site of Indian ecommerce domain. As a result of that work they have made a quality-wise ranking of these sites. According to their work and also the survey done by various other groups Futurebazaar web-site is considered to be one of the best Indian e-shopping sites. In this research paper the authors are assessing the maintenance of the same site by incorporating the problems incurred during this evaluation. This exercise gives a real world maintainability problem of web-sites. This work will give a clear picture of all the quality metrics which are directly or indirectly related with the maintainability of the web-site.
This paper discusses the Aeosop system components and connectors briefly then, it discusses the architectural connectors of Apache ActiveMQ, graphs are used to support the readability and modularity of the document.
This document defines and describes different types of middleware. It begins by defining middleware as software that facilitates data exchange between applications across different hardware and network environments. It then describes three main categories of middleware: message-oriented middleware, remote procedure calls (RPCs), and distributed objects. For each category, it provides examples and discusses key features such as how message-oriented middleware uses asynchronous messaging to decouple applications, while RPCs use synchronous requests that can block applications. It also briefly mentions other types like database middleware and transaction processing monitors.
Model-Driven Architecture for Cloud Applications Development, A survey Editor IJCATR
Model Driven Architecture and Cloud computing are among the most important paradigms in software service engineering now a days. As cloud computing continues to gain more activities, more issues and challenges for many systems with its dynamic usage are introduced. Model Driven Architecture (MDA) approach for development and maintenance becomes an evident choice for ensuring software solutions that are robust, flexible and agile for developing applications.
This paper aims to survey and analyze the research issues and challenges that have been emerging in cloud computing applications with a focus on using Model Driven architecture (MDA) development. We discuss the open research issues and highlight future research problems.
21. Application Development and Administration in DBMSkoolkampus
The document provides an overview of web interfaces to databases and techniques for improving web application performance. It discusses how databases can be interfaced with the web to allow users to access data from anywhere. It then covers topics like dynamic page generation, sessions, cookies, servlets, server-side scripting, and techniques for improving web server performance like caching. The document also discusses performance tuning at the hardware, database, and transaction levels to identify and address bottlenecks.
Software fault tolerance technologies can increase application availability and data consistency. The paper discusses Watchdog, libft, and nDFS - reusable software components that provide up to the third level of software fault tolerance. Watchdog monitors processes for crashes, libft checkpoints critical data, and nDFS replicates persistent data. These components have been used to enhance fault tolerance in AT&T telecom products with performance overhead from 0.1-14% depending on amount of data checkpointed and replicated. The components provide efficient and economical means to increase software fault tolerance.
This document provides an overview of key topics in service-oriented architecture (SOA) including:
- Services can be implemented as reusable components that are independent of the applications that use them.
- Web services standards like SOAP, WSDL, and WS-BPEL allow services to be described and composed into workflows.
- Service-oriented development involves identifying candidate services, designing service interfaces, and implementing and deploying services. Existing systems can be wrapped as services to promote reuse.
This document summarizes four architectural patterns for context-aware systems: WCAM, Event-Control-Action, Action, and architectural pattern for context-based navigation. It discusses examples, problems addressed, solutions, structures, and benefits of each pattern. The patterns are examined to determine which can best overcome complexity and be more extensible for context-aware systems.
A Simplified Cost Efficient Distributed System architecture which relies on replication and recovery techniques using monitoring service, proxy service to handle service calls and a specialized server architecture which serves as both backup and standby service provider.
Distributed Software Engineering with Client-Server ComputingHaseeb Rehman
The document discusses distributed software engineering, which involves developing software systems across multiple independent computers. The key benefits are faster development, fewer faults, and less burden on individual machines. Distributed systems allow resources and software to be shared while developing components concurrently. Some challenges are ensuring transparency for users, authentication, fault tolerance, network reliability, synchronization, security, and quality of service. Client-server models separate programs into client and server components that communicate through defined interfaces.
The document discusses stream connectors in software systems. A stream connector provides communication services to transfer large amounts of data between autonomous processes. Examples of stream connectors include Unix pipes, TCP/UDP sockets, and proprietary client-server protocols. The example code provided shows how to connect to a game server using sockets and streams to send a JOIN message. Streams can vary based on factors like communication cardinality, data format, synchronicity, locality, identity, state, throughput, buffering, bounds, and delivery effort.
This document proposes a 3 layered filtering approach to help developers and managers efficiently implement changes to agile software projects based on new requirements. The first layer classifies requirement changes. The second layer identifies which architecture layers will be affected. The third layer selects the appropriate agile methodology based on the first two layers. Each layer iterates as new requirements emerge, with layers tightly related to each other. This provides a way to abstract and prioritize different issues related to new requirements, allowing changes to be made with less time and money spent.
Socio Technical Systems in Software Engineering SE2koolkampus
Socio-technical systems refer to purposeful collections of interrelated components including software, hardware, and people working towards a common goal. Emergent properties are characteristics of the whole system rather than individual components, such as reliability. The systems engineering process involves defining requirements, designing subsystems, developing components in parallel, integrating them, and handling ongoing operations and evolution over the system's lifetime. Procurement involves specifying and selecting a system to purchase from potential contractors and subcontractors.
The document discusses architectural design and various architectural concepts. It covers topics like architectural design decisions, architectural views using different models, common architectural patterns like MVC and layered architectures, application architectures, and how architectural design is concerned with organizing a software system and identifying its main structural components and relationships.
A distributed system consists of multiple autonomous computers that are linked through software to appear as a single integrated system. Distributed systems have several desirable features including resource sharing, concurrency to allow multiple users simultaneous access, openness through public specifications, transparency so users are unaware of remote resources, scalability to grow by adding computers, and fault tolerance to continue functioning if components fail. Examples of distributed systems include the internet, university computing centers, and ATM networks.
Architectural Design in Software Engineering SE10koolkampus
The document introduces architectural design and discusses its importance in establishing the overall structure of a software system. It explains that multiple models are required to document a software architecture and describes common types of architectural models, including static, dynamic, interface, relationships, and domain-specific models. The document also discusses advantages of explicit architecture, the architectural design process, subsystems and modules, architectural styles, and attributes like performance, security, safety, availability, and maintainability.
This document discusses software processes and models. It covers the following key points:
1. Software processes involve activities like specification, design, implementation, validation and evolution to develop software systems. Common process models include waterfall, incremental development and reuse-oriented development.
2. Processes need to cope with inevitable changes. This can involve prototyping to avoid rework or using incremental development and delivery to more easily accommodate changes.
3. The Rational Unified Process is a modern process model with phases for inception, elaboration, construction and transition. It advocates iterative development and managing requirements and quality.
24. Advanced Transaction Processing in DBMSkoolkampus
This document discusses various topics related to advanced transaction processing including:
1) Transaction processing monitors provide infrastructure for building transaction processing systems with multiple clients and servers.
2) Main memory databases store data in memory to improve performance by reducing disk access bottlenecks.
3) Workflow systems coordinate the execution of multiple interdependent tasks across different systems while ensuring consistency.
4) Long duration transactions require alternatives to traditional concurrency control and recovery techniques due to their interactive nature.
This document discusses systems of systems and complexity. It begins by defining systems of systems and providing examples. Key characteristics of systems of systems include operational and managerial independence of elements, and evolutionary development. The document then covers sources of complexity, including technical, managerial and governance complexity. It discusses how reductionism has traditionally been used to manage complexity in engineering but has limitations for large systems of systems.
The document discusses chapter 7 of a software engineering textbook which covers design and implementation. It begins by outlining the topics to be covered, including object-oriented design using UML, design patterns, and implementation issues. It then discusses the software design and implementation process, considerations around building versus buying systems, and approaches to object-oriented design using UML.
Architecture of message oriented middlewareSajan Sahu
The document discusses message oriented middleware (MOM) and compares implementations of MOM including JMS, MSMQ, and MQSeries. MOM facilitates asynchronous messaging between applications and components. JMS is part of Java and supports publish/subscribe and point-to-point messaging. MSMQ by Microsoft uses queues managed by queue managers. MQSeries by IBM refers to queues, queue managers, and channels as objects and shows how they interact in its architecture.
This document discusses service-oriented software engineering and RESTful web services. It covers topics like service-oriented architectures, RESTful services, service engineering, and service composition. Key points include that services are reusable components that are loosely coupled and platform independent. Service-oriented approaches allow for opportunistic construction of new services and pay-per-use models. Web services standards like SOAP, WSDL, and WS-BPEL are also discussed. The document provides an example of a service-oriented in-car information system.
This document provides an overview of key topics in distributed software engineering. It discusses distributed systems issues, architectural patterns for distributed systems like client-server and peer-to-peer, and software as a service. Some important considerations for designing distributed systems include transparency, openness, scalability, security, and failure management. Middleware helps manage communication and interoperability between diverse components in a distributed system.
This document discusses key concepts in distributed systems including transparency, flexibility, reliability, performance, scalability, and security. It covers approaches like monolithic versus microkernel, techniques for handling failures and replication, metrics for measuring performance, and methods for addressing scalability issues such as hiding communication latencies and distribution. The document also examines client-server models including interaction, addressing techniques, implementation with different message types, and architectural differences between clients and servers.
Client server computing in mobile environmentsPraveen Joshi
Client server computing in mobile environments. Versatile, Message based, Modular Infrastructure intended to improve usability, flexibility, interoperability and scalability as compared to Centralized, Mainframe, time sharing computing.
Intended to reduce Network Traffic.
Communication is using RPC or SQL
This document provides an introduction to software engineering topics including:
1. What software engineering is, its importance, and the software development lifecycle activities it encompasses.
2. The many different types of software systems that exist and how software engineering approaches vary depending on the application.
3. Key fundamentals of software engineering that apply universally, including managing development processes, dependability, and reusing existing software components.
An approach of software engineering through middlewareIAEME Publication
The document discusses middleware and its role in facilitating the construction of distributed systems. It outlines some of the key challenges in building distributed systems, such as network communication, coordination between distributed components, reliability, scalability, and heterogeneity. Middleware aims to address these challenges by providing high-level abstractions and services that conceal low-level complexities related to distribution from application developers. The document argues that middleware is important for simplifying distributed system construction and should be a key consideration in software engineering research on distributed systems.
Support for Goal Oriented Requirements Engineering in Elastic Cloud Applicationszillesubhan
Businesses have already started to exploit potential uses of cloud computing as a new paradigm for promoting their services. Although the general concepts they practically focus on are: viability, survivability, adaptability, etc., however, on the ground, there is still a lack for forming mechanisms to sustain viability with adaptation of new requirements in cloud-based applications. This has inspired a pressing need to adopt new methodologies and abstract models which support system acquisition for self-adaptation, thus guaranteeing autonomic cloud application behavior. This paper relies over state-of-the-art Neptune framework as runtime adaptive software development environment supported with intention-oriented modeling language in the representation and adaptation of goal based model artifacts and their intrinsic properties requirements. Such an approach will in turn support distributed service based applications virtually over the cloud to sustain a self-adaptive behavior with respect to its functional and non-functional characteristics.
The IT-GRC platform is a solution that is based on
the paradigm of distributed systems, based on multi-agent systems
(MAS) in its different parts namely the user interface, the static
and dynamic configuration of the organization management
profiles, the choice of the best repository and the processing of
processes, it takes advantage of the autonomy and learning aspect
of ADMs as well as their high-level communication and
coordination. However, these technological components are
difficult to manipulate, or users lack the necessary skills to use
them correctly. In this situation, the modeling of a communication
architecture is necessary, in order to adapt the functionalities of
the platform to the needs of the users. To help achieve these goals,
it is necessary to develop a functional and intelligent
communication architecture, adaptable and able to provide a
support framework, allowing access to system functionalities
regardless of physical and time constraints.
Graph-Based Algorithm for a User-Aware SaaS Approach: Computing Optimal Distr...IJERA Editor
As a tool to exploit economies of scale, Software as a Service cloud models promote Multi-Tenancy which is the notion of sharing instances among a large group of tenants. However, Multi-Tenancy only satisfies requirements that are common to all tenants as well as the fact that tenants themselves hesitate about sharing. In a try to solve this problem, the present paper propose a User-Aware approach for Software as a Service models using Rich-Variant Components. The main contribution of this approach is a framework summarized in a graphbased algorithm enabling deduction of an optimal distribution of instances on application's tenants. To illustrate and evaluate the framework, the approach is applied on a Software as a Service Application for private school management
A Simplified Cost Efficient Distributed System architecture which relies on replication and recovery techniques using monitoring service, proxy service to handle service calls and a specialized server architecture which serves as both backup and standby service provider.
Distributed Software Engineering with Client-Server ComputingHaseeb Rehman
The document discusses distributed software engineering, which involves developing software systems across multiple independent computers. The key benefits are faster development, fewer faults, and less burden on individual machines. Distributed systems allow resources and software to be shared while developing components concurrently. Some challenges are ensuring transparency for users, authentication, fault tolerance, network reliability, synchronization, security, and quality of service. Client-server models separate programs into client and server components that communicate through defined interfaces.
The document discusses stream connectors in software systems. A stream connector provides communication services to transfer large amounts of data between autonomous processes. Examples of stream connectors include Unix pipes, TCP/UDP sockets, and proprietary client-server protocols. The example code provided shows how to connect to a game server using sockets and streams to send a JOIN message. Streams can vary based on factors like communication cardinality, data format, synchronicity, locality, identity, state, throughput, buffering, bounds, and delivery effort.
This document proposes a 3 layered filtering approach to help developers and managers efficiently implement changes to agile software projects based on new requirements. The first layer classifies requirement changes. The second layer identifies which architecture layers will be affected. The third layer selects the appropriate agile methodology based on the first two layers. Each layer iterates as new requirements emerge, with layers tightly related to each other. This provides a way to abstract and prioritize different issues related to new requirements, allowing changes to be made with less time and money spent.
Socio Technical Systems in Software Engineering SE2koolkampus
Socio-technical systems refer to purposeful collections of interrelated components including software, hardware, and people working towards a common goal. Emergent properties are characteristics of the whole system rather than individual components, such as reliability. The systems engineering process involves defining requirements, designing subsystems, developing components in parallel, integrating them, and handling ongoing operations and evolution over the system's lifetime. Procurement involves specifying and selecting a system to purchase from potential contractors and subcontractors.
The document discusses architectural design and various architectural concepts. It covers topics like architectural design decisions, architectural views using different models, common architectural patterns like MVC and layered architectures, application architectures, and how architectural design is concerned with organizing a software system and identifying its main structural components and relationships.
A distributed system consists of multiple autonomous computers that are linked through software to appear as a single integrated system. Distributed systems have several desirable features including resource sharing, concurrency to allow multiple users simultaneous access, openness through public specifications, transparency so users are unaware of remote resources, scalability to grow by adding computers, and fault tolerance to continue functioning if components fail. Examples of distributed systems include the internet, university computing centers, and ATM networks.
Architectural Design in Software Engineering SE10koolkampus
The document introduces architectural design and discusses its importance in establishing the overall structure of a software system. It explains that multiple models are required to document a software architecture and describes common types of architectural models, including static, dynamic, interface, relationships, and domain-specific models. The document also discusses advantages of explicit architecture, the architectural design process, subsystems and modules, architectural styles, and attributes like performance, security, safety, availability, and maintainability.
This document discusses software processes and models. It covers the following key points:
1. Software processes involve activities like specification, design, implementation, validation and evolution to develop software systems. Common process models include waterfall, incremental development and reuse-oriented development.
2. Processes need to cope with inevitable changes. This can involve prototyping to avoid rework or using incremental development and delivery to more easily accommodate changes.
3. The Rational Unified Process is a modern process model with phases for inception, elaboration, construction and transition. It advocates iterative development and managing requirements and quality.
24. Advanced Transaction Processing in DBMSkoolkampus
This document discusses various topics related to advanced transaction processing including:
1) Transaction processing monitors provide infrastructure for building transaction processing systems with multiple clients and servers.
2) Main memory databases store data in memory to improve performance by reducing disk access bottlenecks.
3) Workflow systems coordinate the execution of multiple interdependent tasks across different systems while ensuring consistency.
4) Long duration transactions require alternatives to traditional concurrency control and recovery techniques due to their interactive nature.
This document discusses systems of systems and complexity. It begins by defining systems of systems and providing examples. Key characteristics of systems of systems include operational and managerial independence of elements, and evolutionary development. The document then covers sources of complexity, including technical, managerial and governance complexity. It discusses how reductionism has traditionally been used to manage complexity in engineering but has limitations for large systems of systems.
The document discusses chapter 7 of a software engineering textbook which covers design and implementation. It begins by outlining the topics to be covered, including object-oriented design using UML, design patterns, and implementation issues. It then discusses the software design and implementation process, considerations around building versus buying systems, and approaches to object-oriented design using UML.
Architecture of message oriented middlewareSajan Sahu
The document discusses message oriented middleware (MOM) and compares implementations of MOM including JMS, MSMQ, and MQSeries. MOM facilitates asynchronous messaging between applications and components. JMS is part of Java and supports publish/subscribe and point-to-point messaging. MSMQ by Microsoft uses queues managed by queue managers. MQSeries by IBM refers to queues, queue managers, and channels as objects and shows how they interact in its architecture.
This document discusses service-oriented software engineering and RESTful web services. It covers topics like service-oriented architectures, RESTful services, service engineering, and service composition. Key points include that services are reusable components that are loosely coupled and platform independent. Service-oriented approaches allow for opportunistic construction of new services and pay-per-use models. Web services standards like SOAP, WSDL, and WS-BPEL are also discussed. The document provides an example of a service-oriented in-car information system.
This document provides an overview of key topics in distributed software engineering. It discusses distributed systems issues, architectural patterns for distributed systems like client-server and peer-to-peer, and software as a service. Some important considerations for designing distributed systems include transparency, openness, scalability, security, and failure management. Middleware helps manage communication and interoperability between diverse components in a distributed system.
This document discusses key concepts in distributed systems including transparency, flexibility, reliability, performance, scalability, and security. It covers approaches like monolithic versus microkernel, techniques for handling failures and replication, metrics for measuring performance, and methods for addressing scalability issues such as hiding communication latencies and distribution. The document also examines client-server models including interaction, addressing techniques, implementation with different message types, and architectural differences between clients and servers.
Client server computing in mobile environmentsPraveen Joshi
Client server computing in mobile environments. Versatile, Message based, Modular Infrastructure intended to improve usability, flexibility, interoperability and scalability as compared to Centralized, Mainframe, time sharing computing.
Intended to reduce Network Traffic.
Communication is using RPC or SQL
This document provides an introduction to software engineering topics including:
1. What software engineering is, its importance, and the software development lifecycle activities it encompasses.
2. The many different types of software systems that exist and how software engineering approaches vary depending on the application.
3. Key fundamentals of software engineering that apply universally, including managing development processes, dependability, and reusing existing software components.
An approach of software engineering through middlewareIAEME Publication
The document discusses middleware and its role in facilitating the construction of distributed systems. It outlines some of the key challenges in building distributed systems, such as network communication, coordination between distributed components, reliability, scalability, and heterogeneity. Middleware aims to address these challenges by providing high-level abstractions and services that conceal low-level complexities related to distribution from application developers. The document argues that middleware is important for simplifying distributed system construction and should be a key consideration in software engineering research on distributed systems.
Support for Goal Oriented Requirements Engineering in Elastic Cloud Applicationszillesubhan
Businesses have already started to exploit potential uses of cloud computing as a new paradigm for promoting their services. Although the general concepts they practically focus on are: viability, survivability, adaptability, etc., however, on the ground, there is still a lack for forming mechanisms to sustain viability with adaptation of new requirements in cloud-based applications. This has inspired a pressing need to adopt new methodologies and abstract models which support system acquisition for self-adaptation, thus guaranteeing autonomic cloud application behavior. This paper relies over state-of-the-art Neptune framework as runtime adaptive software development environment supported with intention-oriented modeling language in the representation and adaptation of goal based model artifacts and their intrinsic properties requirements. Such an approach will in turn support distributed service based applications virtually over the cloud to sustain a self-adaptive behavior with respect to its functional and non-functional characteristics.
The IT-GRC platform is a solution that is based on
the paradigm of distributed systems, based on multi-agent systems
(MAS) in its different parts namely the user interface, the static
and dynamic configuration of the organization management
profiles, the choice of the best repository and the processing of
processes, it takes advantage of the autonomy and learning aspect
of ADMs as well as their high-level communication and
coordination. However, these technological components are
difficult to manipulate, or users lack the necessary skills to use
them correctly. In this situation, the modeling of a communication
architecture is necessary, in order to adapt the functionalities of
the platform to the needs of the users. To help achieve these goals,
it is necessary to develop a functional and intelligent
communication architecture, adaptable and able to provide a
support framework, allowing access to system functionalities
regardless of physical and time constraints.
Graph-Based Algorithm for a User-Aware SaaS Approach: Computing Optimal Distr...IJERA Editor
As a tool to exploit economies of scale, Software as a Service cloud models promote Multi-Tenancy which is the notion of sharing instances among a large group of tenants. However, Multi-Tenancy only satisfies requirements that are common to all tenants as well as the fact that tenants themselves hesitate about sharing. In a try to solve this problem, the present paper propose a User-Aware approach for Software as a Service models using Rich-Variant Components. The main contribution of this approach is a framework summarized in a graphbased algorithm enabling deduction of an optimal distribution of instances on application's tenants. To illustrate and evaluate the framework, the approach is applied on a Software as a Service Application for private school management
An Overview of Workflow Management on Mobile Agent TechnologyIJERA Editor
This document discusses mobile agent technology for workflow management. It provides an overview of current research on using mobile agents to automate business processes across distributed systems. The document summarizes several related works on topics like inter-organizational workflows, mobile agent communication, coordination techniques, and workflow partitioning and scheduling algorithms. It aims to improve methods for designing and implementing prototype models for mobile agent-based workflow management systems.
Adaptation of Web Services to the Context Based on Workflow: Approach for Sel...dannyijwest
The emergence of Web services in the information space, as well as the advanced technology of SOA, give
tremendous opportunities for users in an ambient space or distant, empowerment and organizations in
various fields application, such as geolocation, E-learning, healthcare, digital government, etc.. In fact,
Web services are a solution for the integration of distributed information systems, autonomous,
heterogeneous and self-adaptable to the context. However, as Web services can evolve in a dynamic
environment in a well-defined context and according to events automatically, such as time, temperature,
location, authentication, etc.. We are interested in improving their SOA to empower the Web services to be
self adaptive contexts. In this paper, we propose a new trend of self adaptability of Web services context.
Then applying these requirements in the architecture of the platform of adaptability to context “WComp”,
by integrating the workflow. Our work is illustrated by a case study of authentication.
This document discusses integrating legacy applications with modern J2EE applications using a service-oriented architecture (SOA). It describes using IBM WebSphere Message Broker to connect and transform data between legacy and J2EE applications without modifying the applications. The document also discusses using IBM WebSphere Message Queue for asynchronous messaging between distributed applications, and IBM WebSphere Portal Server for providing a unified user interface and integrating application components.
Model-Driven Architecture for Cloud Applications Development, A surveyEditor IJCATR
Model Driven Architecture and Cloud computing are among the most important paradigms in software service engineering
now a days. As cloud computing continues to gain more activities, more issues and challenges for many systems with its dynamic usage
are introduced. Model Driven Architecture (MDA) approach for development and maintenance becomes an evident choice for ensuring
software solutions that are robust, flexible and agile for developing applications.
This paper aims to survey and analyze the research issues and challenges that have been emerging in cloud computing applications with
a focus on using Model Driven architecture (MDA) development. We discuss the open research issues and highlight future research
problems.
Model-Driven Architecture for Cloud Applications Development, A surveyEditor IJCATR
Model Driven Architecture and Cloud computing are among the most important paradigms in software service engineering
now a days. As cloud computing continues to gain more activities, more issues and challenges for many systems with its dynamic usage
are introduced. Model Driven Architecture (MDA) approach for development and maintenance becomes an evident choice for ensuring
software solutions that are robust, flexible and agile for developing applications.
This paper aims to survey and analyze the research issues and challenges that have been emerging in cloud computing applications with
a focus on using Model Driven architecture (MDA) development. We discuss the open research issues and highlight future research
problems.
BUSINESS SILOS INTEGRATION USING SERVICE ORIENTED ARCHITECTUREIJCSEA Journal
Agile integration satisfies the business agility and provides solutions for maintaining business changes and ensures that the enterprise survives in the current competition. Any business should be robust enough to respond to end user request. Existing traditional enterprise applications are in-capable of integrating with
different business silos lacks to improve the business agility. To address this issue, this paper is about the agile integration of different business silos using “Service Oriented Architecture” and its core technologyenables the business enterprise systems flexible, loosely coupled and improves agility. Enterprise business
systems have to adopt Service Oriented Architecture (SOA) as it promises to help them respond more rapidly to changing business requirements by composing new solutions from existing business services. Here the definition of SOA, its layers and the core technologies have been discussed.
Implementation of Agent Based Dynamic Distributed ServiceCSCJournals
This document proposes a design for agent migration between distributed systems using ACL (Agent Communication Language) messages. It involves serializing an agent's code and state into an ACL message that is sent from one system to another. The receiving system deserializes the agent to restore its execution. The design includes defining an ontology for migration messages, a migration protocol specifying the message flow, and components for handling class loading, agent migration, and conversation protocols. The performance of this distributed agent migration approach is evaluated by applying it to a distributed prime number calculation application.
Evaluation of a Framework for Integrated Web ServicesIRJET Journal
This document proposes and evaluates a framework for integrating web services. It begins by discussing how users appreciate simple, on-demand access to affordable software services without needing to install or update applications themselves. The document then presents an argument for a web-based architecture that allows users to access and purchase a wide range of software applications as needed. It evaluates this framework through user surveys and examples of simulation software services to demonstrate how the integrated framework can be implemented. The surveys found that the framework reduced costs, simplified processes, and improved the user experience by combining various online components and software services.
A SURVEY ON ACCURACY OF REQUIREMENT TRACEABILITY LINKS DURING SOFTWARE DEVELO...ijiert bestjournal
There are number of routing protocols proposed for the data transmission in WSN. Initially single path routing schemes with number of variations are proposed. Sti ll there were some drawbacks in single path routing . Single path routing was unable to provide the reliability and h igh throughput. Also security level was not conside red while routing. Recently,to remove the drawbacks of the s ingle path routing new routing technique is propose d called as multipath routing. In this paper we discussed the different multipath routing protocols with number of variants. Initiall y multipath routing was proposed for the purpose of guaranteed delivery of packet to sink in case of link or node failure. There are other protocols which are proposed for the reli ability,energy saving,security and high throughpu t. Some multipath routing protocols have discussed the load balancing and security during packet transmission.
A distributed system can be viewed as an environment in which, number of computers/nodes are connected and resources are shared among these computers/nodes. But unfortunately, distributed systems often face the problem of traffic, which can degrade the performance of the system. Traffic management is used to improve scalability and overall system throughput in distributed systems using Software Defined Network (SDN) based systems. Traffic management improves system performance by dividing the work traffic effectively among the participating computers/nodes. Many algorithms were proposed for traffic management and their performance is measured based on certain parameters such as response time, resource utilization, and fault tolerance. Traffic management algorithms are broadly classified into two categories- scheduling and machine learning traffic management. This work presents the study of performance analysis of traffic management algorithms. This analysis can further help in the design of new algorithms. However, when multiple servers are assigned to compile the mysterious code, different kinds of techniques are used. One common example is traffic management. The processes are managed based on power efficiency, networking bandwidth, Processor speed. The desired output will again send back to the developer. If multiple programs have to be compiled then appropriate technique such as scheduling algorithm is used. So the compilation process becomes faster and also the other process can get a chance to compile. SDN based clustering algorithm based on Simulated Annealing whose main goal is to increase network lifetime while maintaining adequate sensing coverage in scenarios where sensor nodes produce uniform or non-uniform data traffic.
Report about Software Architecture for Robotics, for class of Introduction to Robotics of Prof. Sukhan Lee, of department of computer engineering of Sungkyunkwan University.
Student: Lorran Pegoretti.
Suwon, South Korea, December 2013
Transaction management techniques and practices in current cloud computing en...ijdms
Distributed database management systems (DDBMs) have limited capacity to manage overhead of distributed transactions due to certain failures. These types of failures don’t guarantee the enforcement of transactional properties and which reduces the scalability and availability of these systems. Research in this area proved that scaling out while providing consistency of transactions and guaranteeing availability in the presence of different failures in distributed computing environment is not feasible. As a result, the database community have used vertical scaling rather than horizontal scaling. Moreover changes in data access patterns resulting from a new generation of web applications with high scalability and availability guarantees weaker consistency. In this paper we have analyse that how different systems such as ElasTraS, Mstore, Sinfonia, ecStore and Gstore provide scalable transactional data access in cloud computing
environment. We have also discussed transaction management (TM) in Gstore in detail and compared with
other techniques and protocols used in current cloud based systems.
This document discusses an approach to assembling software products using a product line approach. It presents a separation continuum that separates concerns both vertically (from abstract to implementation layers) and horizontally (between human-facing and machine-facing aspects). An application assembly approach is then discussed where a product line architecture is tied to this separation continuum, allowing high productivity by reusing pre-built software assets to realize new product lines. The approach aims to facilitate experimentation in building large-scale application assembly capabilities.
AVAILABILITY METRICS: UNDER CONTROLLED ENVIRONMENTS FOR WEB SERVICES ijwscjournal
Web Services technology has the potential to cater an enterprise’s needs, providing the ability to integrate
different systems and application types regardless of their platform, operating system, programming
language, or location. Web Services could be deployed in traditional, centralized or brokered client server
approach or they could be in peer to peer manner. Web Services could act as a server providing
functionality to a requester or act as a client, receiving functionality from any service. From the
performance perspective the availability of Web Services plays an important role among many parameters.
AVAILABILITY METRICS: UNDER CONTROLLED ENVIRONMENTS FOR WEB SERVICES ijwscjournal
Web Services technology has the potential to cater an enterprise’s needs, providing the ability to integrate different systems and application types regardless of their platform, operating system, programming language, or location. Web Services could be deployed in traditional, centralized or brokered client server approach or they could be in peer to peer manner. Web Services could act as a server providing functionality to a requester or act as a client, receiving functionality from any service. From the performance perspective the availability of Web Services plays an important role among many parameters.
AVAILABILITY METRICS: UNDER CONTROLLED ENVIRONMENTS FOR WEB SERVICES ijwscjournal
Web Services technology has the potential to cater an enterprise’s needs, providing the ability to integrate different systems and application types regardless of their platform, operating system, programming language, or location. Web Services could be deployed in traditional, centralized or brokered client server approach or they could be in peer to peer manner. Web Services could act as a server providing functionality to a requester or act as a client, receiving functionality from any service. From the performance perspective the availability of Web Services plays an important role among many parameters.
Similar to A survey on middleware approaches for distribuited real time systems (20)
HijackLoader Evolution: Interactive Process HollowingDonato Onofri
CrowdStrike researchers have identified a HijackLoader (aka IDAT Loader) sample that employs sophisticated evasion techniques to enhance the complexity of the threat. HijackLoader, an increasingly popular tool among adversaries for deploying additional payloads and tooling, continues to evolve as its developers experiment and enhance its capabilities.
In their analysis of a recent HijackLoader sample, CrowdStrike researchers discovered new techniques designed to increase the defense evasion capabilities of the loader. The malware developer used a standard process hollowing technique coupled with an additional trigger that was activated by the parent process writing to a pipe. This new approach, called "Interactive Process Hollowing", has the potential to make defense evasion stealthier.
Honeypots Unveiled: Proactive Defense Tactics for Cyber Security, Phoenix Sum...APNIC
Adli Wahid, Senior Internet Security Specialist at APNIC, delivered a presentation titled 'Honeypots Unveiled: Proactive Defense Tactics for Cyber Security' at the Phoenix Summit held in Dhaka, Bangladesh from 23 to 24 May 2024.
Securing BGP: Operational Strategies and Best Practices for Network Defenders...APNIC
Md. Zobair Khan,
Network Analyst and Technical Trainer at APNIC, presented 'Securing BGP: Operational Strategies and Best Practices for Network Defenders' at the Phoenix Summit held in Dhaka, Bangladesh from 23 to 24 May 2024.
A survey on middleware approaches for distribuited real time systems
1. See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/286066031
A Survey on Middleware Approaches for Distributed Real-Time Systems
Article · December 2014
CITATIONS
2
READS
502
2 authors:
Some of the authors of this publication are also working on these related projects:
Arabic/Persian Handwritten Word Recognition View project
Web Accessibility View project
Malihe Saghian
Islamic Azad University Central Tehran Branch
3 PUBLICATIONS 6 CITATIONS
SEE PROFILE
Reza Ravanmehr
Islamic Azad University Central Tehran Branch
49 PUBLICATIONS 161 CITATIONS
SEE PROFILE
All content following this page was uploaded by Reza Ravanmehr on 09 December 2015.
The user has requested enhancement of the downloaded file.
2. Journal of Mobile, Embedded and Distributed Systems, vol. VI, no. 4, 2014
ISSN 2067 – 4074
147
A Survey on Middleware Approaches for Distributed
Real-Time Systems
Malihe SAGHIAN, Reza RAVANMEHR
Department of Computer Engineering
Islamic Azad University, Central Tehran Branch, Tehran
IRAN
mal.saghian.eng@iauctb.ac.ir, r.ravanmehr@iauctb.ac.ir
Abstract: Nowadays distributed real-time systems are very common in different areas and have many
applications. Increasing need to exchange information among distributed and heterogeneous applications, the
need for faster development, simplicity of design and implementation, software reuse and coordination problems
are the major factors that lead to the design and implementation of middleware architectures in this field. For
this purpose, different Quality of Service parameters such as reliability, extendibility, low latency, etc. must be
considered. The current survey shows the state of the art of the various researches in this domain by providing
and discussing the architecture and the features of major middleware for distributed real-time systems.
Key-Words: Distributed Real-time Systems, Middleware, Quality of Service
1. Introduction
Nowadays, increasing needs for
distributed applications which also
supports real-time behaviors in different
domains is obvious. Various definitions for
real time systems have been proposed in
different texts [1-3], but all these
definitions are referring to the systems
with some levels of execution time
constraints that leads to hard or soft real-
time scenarios. Indeed, in these systems,
time plays a critical role in system
functionalities and the suitable response
should be generated within a definite time
limit [3].
Selecting the most appropriate
middleware is one of the most successful
techniques used to simplify and speed up
distributed real-time systems
development. The middleware is a
software layer located between
applications and the operating system
that enables interactions and
communications among different modules
of applications in a distributed
environment. Increasing need for
interaction among distributed and
heterogeneous applications, achieving
lower development costs, decreased
effort, coordination problems and
software reuse are major factors that led
to the middleware widely usage. Using
middleware simplifies and accelerates the
development of distributed applications
and systems and provides many
capabilities available to designers and
developers [2-5].
Although the existing common
middleware solutions are useful, but for
some reasons such as unpredictability and
lack of support of QoS parameters, they
could not be used in distributed real-time
systems. As explained before, real-time
systems are performance critical and have
strict and precise QoS requirements for
accurate timing, predictable latency,
efficiency, scalability, security, etc. [6, 7].
Therefore, there is an urgent requirement
to utilize the distributed real-time
middleware in distributed real-time
systems that supports the existing
requirements of the real-time systems
and variety of QoS properties.
In recent years, interest has grown in
designing a middleware that meets the
requirements of distributed real-time
systems. But it is important to mention
that limited work has been done on
surveying middleware for distributed real-
time systems in general. For this purpose,
we have studied different issues and
challenges of distributed real-time
systems and the requirements that the
middleware must support for a successful
development of a real-time system. Then,
we focused on various middleware
3. www.jmeds.eu
148
designs for these types of systems and
present well-suited work in this field.
The structure of this paper is organized as
follows: in the next section, some related
works in the field of distributed real-time
middleware are reviewed. After that, the
most relevant challenges faced with in
middleware design for distributed real-
time systems are described. Some of the
most widely used distributed real-time
middleware are provided in section 4.
Then, in section 5, these middleware are
evaluated and analyzed considering
different QoS parameters and
requirements. Finally, we conclude and
provide the future works.
2. Related Works
In this section, we discuss some existing
work and aspects related to our research
in middleware for distributed real-time
systems.
In recent years, various types of
middleware have been emerged, each of
them have focused on different
applications and domains for specific
problems. These middleware are classified
into the following four groups [8-9]:
Transactional Middleware such as Tuxedo
[10], Message Oriented Middleware such
as JMS [11], Publish-Subscribe [12-14]
and MQSeries [16], Procedural
Middleware such as RPC, and Object
Oriented Middleware such as CORBA [17]
and Java RMI. The main advantages and
capabilities of each middleware includes
adaptability in different environments,
heterogeneity, scalability, reliability, ease
of use, etc. [9].
Procedural middleware or RPCs (Remote
Procedure Call) are the oldest type of
middleware. RPC provides the ability to
invoke a function or procedure to execute
in another address space (commonly on
another computer on a shared network)
without the programmer explicitly coding
the details for this remote interaction.
Transactional middleware or TP monitors
were designed in order to support
distributed transactions and clustering of
the requested service into transactions. In
Message-Oriented Middleware (MOM)
exchanging of messages are used to
communicate between distributed
system's components. In fact in this
middleware, information and data are
exchanged in message format and these
messages inform system's entities about
some events or occurrences in other
subsystems. Object-oriented middleware
evolved from RPCs and extends them by
adding object-oriented concepts such as
inheritance, object references and
exceptions [8, 9].
Despite the benefits of each middleware
architectures, most of them cannot meet
tough requirements of distributed real-
time systems. Among the four major
types of middleware, only object-oriented
and message-oriented middleware have
enough capability to use in distributed
real-time environments. Since there is no
middleware that supports all requirements
of distributed real-time systems, so far
many research works have been done to
improve the performance of middleware,
each of them have focused on some
requirements.
Over the last decade, various middleware
have emerged to facilitate and reduce the
complexity of developing distributed real-
time systems, each of them has its own
pros and cons. Some of the most
important and widely used distributed
real-time middleware are JMS [11], DDS
[19], CORBA Notification Service [22] and
WSN [33-36] that uses Publish-Subscribe
systems.
Publish-subscribe systems are considered
as a very useful and efficient
communication middleware for
disseminating information. In this
mechanism, messages are published by
publishers and delivered to requesters
subscribed to receive those messages.
The strength of this event-based
interaction style lies in the full decoupling
in time, space and synchronization
between publishers and subscribers.
Actually this pattern completely decouples
publishers from subscribers and they do
not need to synchronize and identify each
other [12-15].
Real-time CORBA is another middleware
that is an extension of CORBA standard
and uses ORB pattern [25-26]. Also, RTSJ
[28] and TMOSM [30-31] are other
middleware that have been discussed and
studied in many researches and many
4. Journal of Mobile, Embedded and Distributed Systems, vol. VI, no. 4, 2014
ISSN 2067 – 4074
149
attempts have been done to develop them
so far.
3. Middleware Challenges for
Distributed Real-Time Systems
Despite all advances in the last decade,
there are significant challenges for
existing middleware to meet the
requirements of distributed real-time
systems. One characteristic of the
distributed real-time systems is the time
constraints that must be met accurately
and efficiently. These systems are usually
heterogeneous, complex and they must
support various platforms. They are
usually network-centric environments with
a high degree of distribution.
Some of the most challenging
requirements for these systems can be
characterized as follows [3-4]:
Multiple QoS properties must be met
in real-time.
Different levels of QoS are appropriate
under different configurations,
environmental conditions and costs.
The levels of QoS in one dimension
must be coordinated and traded off
with levels of QoS in other
dimensions.
Briefly, some of the most important
requirements of real-time middleware
includes: timeliness, integration,
heterogeneity, scalability, fault tolerance,
reliability, adaptability and flexibility,
managing and sharing of resources,
scheduling and assigning priorities to
computing and communication
resources. However, it is difficult to
develop a reliable and predictable real-
time middleware with the full support of
all mentioned requirements [6, 7].
4. Middleware Approaches for
Distributed Real-Time Systems
In this section, we introduce some of the
most widely used distributed real-time
middlewares. For this purpose, we present
the major characteristics and the core
architecture of each middleware. As
explained in section 2, we focus on
object-oriented and message-oriented
middleware.
4.1 Data Distribution Service
(DDS)
DDS is a standard middleware based on
publish-subscribe mechanism that has
been published by the OMG group [19-
21]. This specification is based on a
completely decentralized architecture, and
provides an extremely rich set of QoS
properties that are configurable at
different levels and gradations. The goal
of DDS specification is to facilitate
efficient distribution of data in a
distributed system. Several
implementations of the DDS standard are
available, including OpenSplice, RTI,
etc.[37, 38]
DDS specification defines two levels of
interfaces: a lower level namely Data
Centric Publish-Subscribe (DCPS) whose
goal is efficient delivery of the proper
information to the proper recipients. On
top of the DCPS, it defines the optional
Data Local Reconstruction Layer (DLRL),
which allows for integration of the service
into the application layer, automates the
reconstruction of data, locally from
updates received, and allows the
applications to access distributed local
data.
Figure 1. Overall DCPS model
Figure 1 illustrates the DCPS Schema. As
shown, communication is performed using
different components: DomainParticipant,
Data
QosPolicy DCPSEntity
WaitSet
Condition
<<interface>>
Listener
Publisher Subscriber
Topic
DataWriter DataReader
<<interface>>
DataType
5. www.jmeds.eu
150
DataWriter, DataReader, Publisher,
Subscriber, and Topic entities.
Publishers and subscribers are objects
responsible for sending and receiving data
respectively. Participants use
DataWriter(s) to communicate with value
publishers to change data of a given type
and use a DataReader attached to
subscriber to access the received data.
Once new data values have been
communicated to the publisher, it is the
Publisher's responsibility to determine
when it is appropriate to publish the
corresponding message. The Publisher will
do this according to its QoS, or the QoS
attached to the corresponding DataWriter,
and/or its internal state.
Published or subscribed data is identified
by Topics. Each topic associates a unique
name, a data type, and QoS related to the
data and communication of DataWriter
with DataReader’s objects is done by
means of it.
All above classes extend DCPSEntity, and
so all of them have a certain type of
listener, Condition objects and a set of
QoSPolicy values that are suitable for it.
In this specification, there are two
methods to read and access data: In the
Listener-based approach, the participant
is notified of the events occurrence and
appearance or change in value of data by
means of a listener object. But in the
wait-based approach, threads inside the
participant block while waiting for
occurrence of specific changes that is
specified in Condition.
4.2 JMS
JMS [11, 18] is an API for accessing
messaging systems from Java programs
that has been developed by sun
microsystems. Actually, this middleware is
a set of interfaces and associated
semantics that define how a JMS client
accesses the facilities of a messaging
system.
This middleware supports two types of
messaging models: point-to-point model
is used for one-to-one delivery of
messages and message exchange is
performed by using the queues. But in
publish-and-subscribe model, messages
exchange is performed via an
intermediate node namely topic, and
Publishers and subscribers are anonymous
to each other. Therefore, this model is
quite decoupled and is used for one-to-
many delivery of messages.
API and interfaces that JMS defines to
communicate with messaging systems,
contains three main types: the general
API, the point-to-point API, and the
publish-and-subscribe API. In the general
API, there are seven main interfaces
related to messages transmission that can
be used to send and receive messages
from either a queue or a topic. The
relationship between these seven
interfaces is illustrated in Figure 2. Point-
to-point and publish-and-subscribe
interfaces are quite similar with general
API in terms of functionality, but the
point-to point API is used solely for
messaging with queues, and the publish-
and-subscribe API is used solely for
messaging using topics.
Figure 2. JMS general API
Connection is the first object created
within this middleware that is created by
Connection Factory interface. This object
represents an active connection of client
to a provider and it is used to create
sessions with the desired characteristics.
Session is a single-threaded context for
sending and receiving messages that is
responsible for creating multiple
messages, MessageProducer and
MessageConsumer. Finally created
MessageProducer/ MessageConsumer
objects are used for sending/ receiving
messages to/from a destination. Because
sessions control transactions, concurrent
access by multiple threads is restricted
Connection
factory Connection Session
Destination
Message
Message
producer
Message
consumer
6. Journal of Mobile, Embedded and Distributed Systems, vol. VI, no. 4, 2014
ISSN 2067 – 4074
151
and multiple sessions can be used for
multi-threaded applications.
4.3 CORBA Notification Service
This specification that has been
standardized by the OMG is an extension
of CORBA Event Service [24] that in
addition to using publish-subscribe
mechanism, provides capabilities such as
advanced events filtering mechanism and
QoS properties support in different levels
[22,23].
Figure 3 shows the components in the
CORBA Notification Service. The
architecture of this middleware is similar
to the architecture of the CORBA Event
Service, though some components'
capabilities have increased in the
Notification Service.
Figure 3. Components in the CORBA
Notification Service
An event channel is the first object
created within the Notification Service
process that is created by
EventChannelFactory interface. Various
QoS and administrative properties can be
set on an Event Channel during its
creation. The suppliers for connecting to
the channel, obtain a ProxyConsumer and
connect to it and finally send the events
to their ProxyConsumer, whereas each
consumer obtains a ProxySupplier and
connects to it and receives events from its
ProxySupplier objects. The proxy objects
decouple the communication between
suppliers and consumers. Proxies are
created by admin objects that, in turn,
are created by a channel event.
Filter objects contain a set of constraints
that affect the event forwarding decisions.
These objects can be associated with
admin and proxy objects, so clients can
be easily subscribed to their interested
events and receive them.
Each object in this middleware can have
its own filter objects, QoS and
administrative properties. Also the set of
filter objects associated with a given
Admin object applies to all Proxy objects
which that Admin creates. With this work,
the filtering of a given event on behalf of
a set of clients can be optimized since the
same subscription information applies to
multiple clients. This feature is particularly
useful for ConsumerAdmin objects, since
it enables the channel to optimize the
servicing of a group of consumers that are
interested in receiving the same set of
events.
4.4 Real-time CORBA
The Real-time CORBA specification is
standardized by the OMG to support the
QoS requirements of embedded and
distributed real-time systems [25-27].
This specification that extends the
existing CORBA standard [17], provides
features that allow applications to
allocate, schedule, configure and control
CPU, communications and memory
resources.
Figure 4. Real-time CORBA
Architecture of this middleware has been
shown in figure 4. In this middleware,
ORB is the central component that is
responsible for making communications
between clients and servers transparent
and for allowing interoperability between
applications in hetero- and homogeneous
environments. An application sends
7. www.jmeds.eu
152
requests to an ORB, which directs the
request to an appropriate object that
provides the desired service. Actually ORB
acts as an intermediary which allows the
object requestor to access multiple
remote or local objects.
Real-Time CORBA provides standard
features that allow applications to manage
system resources:
Managing Processor Resources via
thread pools, priority mechanisms,
intra-process mutexes, and a global
scheduling service.
Managing communication resources
via selection and configuration of
protocol properties and explicit
bindings.
Managing memory resources via
buffering requests in queues and
bounding the size of thread pools.
4.5 RTSJ (Real-Time
Specification for Java)
RTSJ specification [28, 29] includes seven
main features: scheduling, memory
management, synchronization,
asynchronous event handling,
asynchronous control transfer,
asynchronous thread termination and
access to physical memory. These
features are seven major areas in RTSJ
that provide a real-time software
development platform suitable for a wide
range of applications.
RTSJ uses thread priority for scheduling,
and therefore when there is competition
to use processing resources, threads with
higher priority are generally executed in
preference to threads with lower priority.
This specification extends the Java
memory model to prevent the
unpredictable delays generated by the
garbage collector. Thus, RTSJ introduces
the notion of memory areas such as
Scoped Memory and Immortal Memory
that are outside the heap memory and
can be used to allocate objects out of
heap, and so they do not suffer from
garbage collectors delays. In Immortal
Memory, objects will exist until the end of
the application lifetime and will not be
removed by garbage collectors. But
objects in scoped memory have a limited
lifetime. This specification provides
classes that allow direct access to physical
memory and ability to create objects in
physical memory.
Sometimes occurred changes and
conditions are so that the current point of
execution should be transferred to
another location. The RTSJ supports this
feature using Asynchronous Transfer of
Control (ATC). Also this specification
performs asynchronous real-time thread
termination through a combination of the
asynchronous event handling and the
asynchronous transfer of control
mechanisms without the risk of the
stop() or destroy() methods. In
addition, RTSJ uses the Priority
Inheritance Protocol and Priority Ceiling
Protocol for synchronization to avoid the
priority inversions.
4.6 TMOSM (TMO Support
Middleware)
TMOSM is an efficient middleware that
supports TMO (time-triggered message-
triggered object) [32] and can be adapted
easily for many platforms [30, 31]. TMO
specification is a unified approach for
designing and implementation of real-time
and non-real time distributed applications.
It is simple and syntactically small, but
semantically it is a powerful extension of
the object-oriented design. The basic TMO
structure consists of four primary parts:
SpM and SvM: spontaneous methods
are triggered automatically when the
clock reaches specific values
determined at design time, whereas
the SvMs are conventional service
methods that are called by service
request messages from clients.
Activation of a SvM is allowed only
when conflicting SpM executions are
not active.
ODS: is object-data-store section that
includes the shared data between
methods of a TMO.
EAC (Environment access capability
section): These “gate objects” provide
efficient call-paths to remote object
methods.
8. Journal of Mobile, Embedded and Distributed Systems, vol. VI, no. 4, 2014
ISSN 2067 – 4074
153
In TMOSM middleware, the inter-node
communication is based on the UDP
broadcasts, neither ORB services nor
point-to-point protocols. Architecture of
this middleware is shown in Figure 5.
Figure 5. TMOSM Architecture
TMOSM consists of a number of virtual
machines that each VM is responsible for
part of the TMOSM functionality and
manages a set of threads. Exchanging
and distribution of messages, local I/O
activities, executing methods of
application (SpM or SvM), scheduling and
activation of all threads are important
parts of TMOSM functionality that are
managed by ICT, LIIT, VMST and WTST
threads respectively.
4.7 Web Service Notification
(WSN)
WSN family of specifications defines a set
of related, interoperable and modular
specifications including WS-Base
Notification [33], WS-Topics [34], and
WS-Brokered Notification [35]. These
specifications that are developed by
OASIS technical committee, allow the
notification pattern to be modeled in a
standardized fashion [36].
This specification uses publish-subscribe
mechanism and it includes entities such
as publisher, notification producer,
consumer and subscriber. Publishers
create notification messages that are sent
to the appropriate consumers by
notification producer. Notification
producer acts as a broker that is
responsible for maintaining a list of
interested consumers, arranging
messages to be sent and matching
notifications against subscriptions. The
subscriber creates a subscription for
notification consumer by sending a
subscribe request message to a
notification producer, and finally
notification producer sends notifications to
the relevant consumers.
Figure 6. Web Services Notification entities
WS-Base Notification provides the
foundation for the WSN family of
specifications and other WSN
specifications are dependent on it. It
defines the basic roles needed to express
the notification pattern and it can be used
in combination with the WS-Topics and
WS-Brokered Notification.
In WSN, topics are described in the WS-
Topics specification. A topic is a concept
used to describe and categorize types of
notifications. In WS-Brokered Notification,
responsibility of matching notifications
against the list of subscriptions and
sending notification messages to each
appropriately subscribed consumer,
delegated to another entity, notification
broker. This entity performs some tasks of
a notification producer.
5. Evaluation and Comparison
Quality of service properties have an
important role in the performance of
middleware, so supporting them in
distributed real-time middleware has been
widely studied. Some of the most
important QoS requirements in this field
are reliability, meeting deadlines,
scalability, overhead, etc. In addition,
these middleware can be evaluated and
compared in terms of processors and
9. www.jmeds.eu
154
memory allocation, security, bandwidth,
latency, rate of missed deadline, load
balancing, and priority consideration [39].
Since in each existing middleware, part of
these requirements are addressed and
there is no middleware that supports all of
these QoS properties or resolves all
problems, therefore in the rest of the
paper we review the studied middleware
based on these QoS requirements. We
also identify the advantages and
disadvantages of each approach.
Since the publish-subscribe
communication paradigm provides a high
degree of decoupling between entities,
middleware such as DDC, JMS, CORBA
Notification Service and WSN that utilizes
this mechanism, have a high degree of
flexibility and scalability. In addition, due
to decoupling of entities and
asynchronous mode of communication,
transmission requirements and
consequently cost and bandwidth
consumption have been reduced.
Therefore, these types of middleware are
more suitable to use in dynamic
environments. Multicast nature of publish-
subscribe mechanism leads to reduced
communication facilities and response
time. Meanwhile, this decoupling between
entities in publish-subscribe paradigm,
may generate issues such as lack of
reliability and security.
In middleware approaches such as Real-
time CORBA that uses point-to-point
communication, we face to severe
problems such as traffic, bottleneck,
reduction of scalability and flexibility.
Table 1 summarizes the result of analysis
of different features, pros and cons of the
middleware approaches we presented in
previous sections.
Table 1. Evaluation and Comparison of introduced middleware approaches
Middlewar
e
Features
DDS JMS
CORBA
Notification
Service
Real-time
CORBA
TMOSM RTSJ WSN
Real-time
Mode
Extreme
Real-time
Soft Real-
time
Soft Real-
time
Hard Real-
time
Hard Real-
time
Hard Real-
time
Soft Real-
time
Architecture
Publish-
Subscribe
(multicast)
Publish-
Subscribe
Publish-
Subscribe
Point to
point
Broadcast or
multicast
Point to
point
Publish-
Subscribe
Portability
and platform
independenc
e
Yes Yes Yes Yes Yes Yes Yes
support of
Configurable
QoS
Excellent Limited Appropriate Limited Limited Limited Limited
Main
Features and
Capabilities
Ability to
control and
manageme
nt of
resources
Definition
of QoS
Policies
Supporting
two
messaging
models
Advanced
filtering
mechanism
Definition of
QoS Policies
Ability to
control and
managemen
t of system
resources
Simplicity
and
affordability
of
implementatio
n and
maintenance
New
memory
manageme
nt and
scheduling
models
Definition a
set of
interoperabl
e and
modular
specificatio
ns
Disadvantag
es
Difficulty
in
guarantee
of data
delivery
and
ordering
events
The
neglect of
handling
security,
fault
tolerance,
error
notification
and load
balancing
Concurrenc
Nonconformit
y to QoS
consistency
across a path
The neglect
of handling
security and
load
balancing
Usage
restriction to
Unsuitable
for Highly
dynamic
environmen
ts
Complexity
and difficult
learning
Weak
support of
security,
Unsuitable for
Highly
dynamic
environments
Weak load
balancing,
fault
tolerance, and
security
Lack of
attention to
Weak
support of
scalability,
fault
tolerance,
load
balancing
and
security
High
consumptio
Weak
support of
reliability,
fault
tolerance,
load
balancing
and security
10. Journal of Mobile, Embedded and Distributed Systems, vol. VI, no. 4, 2014
ISSN 2067 – 4074
155
y problems applications
with stringent
QoS
requirements
scalability
and fault
tolerance
priorities n of
memory
and
memory
leakage
DDS: One of the key distinguishing
features of the DDS when compared to
other middlewares is its extremely rich
QoS support. In this middleware,
ability to control and improve most of
QoS properties has been provided
easily. DDS makes it possible to
control and restrict the use of
resources such as network bandwidth
and memory, and also provides non-
functional properties such as
durability, response time, reliability,
flexibility, scalability, etc. This
specification is very appropriate and
flexible for dynamic environments with
a large number of nodes. However,
there are some issues such as:
ordering of events that comes from
different publishers, guarantee of data
delivery and security.
JMS: JMS specification, despite
utilization of benefits of the publish
and subscribe mechanism, does not
address issues such as security, fault
tolerance, error notification and load
balancing. This specification does not
specify an API for controlling the
privacy and integrity of messages.
These features are considered JMS
provider-specific. In addition, this
middleware restricts using and
concurrent accessing to sessions and
using multi-threading benefits. The
required concurrency can be achieved
using multiple sessions that will lead
to more overhead.
CORBA Notification Service: The
advanced mechanism that this
middleware provides for event filtering
will lead to more control for published
events, simpler management of
clients, reducing network traffic and
response time. In addition, this
specification allows on-demand
notification; this feature will lead to
reduced traffic, bandwidth and
memory consumption. Specific QoS
properties and policies for reliability,
ordering/discarding of events, etc.
allow clients to adjust and improve
these properties based on their needs
and provide the ability of management
and restriction of resource
consumption to applications. However,
since setting QoS properties is done in
different levels, it causes the problem
of inconsistent QoS across a path from
supplier to consumer. Furthermore,
due to the lack of bounds on the
number of filters or the complexity of
evaluating each filter, filter processing
itself could consume an excessive and
unpredictable amount of time, leading
to deadline failures for delivery and
processing of notifications. As a result,
applicability of this specification is
limited to applications with precise
QoS requirements, such as real-time
deadline guarantee.
Real-time CORBA: This specification
improves the distributed systems
predictability by bounding the priority
inversions and managing end-to-end
system resources and allow
configuring and controlling the system
resources including processor,
communication and memory
resources. Other advantages of this
middleware are flexibility in
implementation, low latency and
reduced priority inversions. In
addition, specific thread pool in this
middleware is very useful to benefit
from multi-threading and to control
and restrict memory consumption.
Real-time CORBA suffers from issues
such as the complexity and inadequate
11. www.jmeds.eu
156
support for extensibility. Most
implementations of this middleware
are done in C+ +, that is complex and
error-prone. This middleware requires
IDLs that are not defined in some
languages yet and much time is
required to learn them.
RTSJ: In addition to low complexity,
this specification, is easy to use and
design patterns that have high levels
of predictability and reliability. RTSJ
gives implementers, high flexibility
and ability to use arbitrary scheduling
algorithms. Therefore, it is executable
on many computing platforms. Thus,
most important features of this
specification can be referred to as
portability, timeliness and low latency.
The problems that exist in this
middleware are that it does not
support private connections and pre-
established connections, and still there
are problems related to excessive use
of memory and memory leak in it.
Web Service Notification: some of
the most important goals of WSN is to
define a set of related, interoperable
and modular specifications that allow
the notification pattern to be modeled
in an explicit and standardized
fashion. This specification has a good
level of interoperability and portability.
Organizing topics in hierarchical form
will lead to facilitating the
identification of topics, reduce the
response time and the time required
for filtering. But despite the
advantages of using topic trees, the
need of its maintenance and updating
will cause the increase of costs and
memory consumption. Furthermore, in
this middleware, there are other
problems in terms of security,
reliability and fault-tolerance.
TMOSM: TMOSM middleware support
TMO and thus has the advantages of
implementing the TMO. TMO is simple
and syntactically small, but
semantically it is a powerful extension
of the object-oriented design. The
main goal of the TMO is significant
reduction in costs of development and
maintenance of large-scale real-time
systems and substantial increases in
the overall robustness of systems.
Timeliness, affordability of
implementation and maintenance and
proper portability are other
advantages of TMOSM. This
middleware can be easily implemented
with small effort on top of any OS
which has the essential features. Since
in this middleware the inter-node
communication is based on UDP
protocol and data channels are
implemented by using the
connectionless UDP/IP broadcast
protocol, there is no overhead due to
creating and destroying a connection.
However, it leads to a significant
reduction in reliability. Moreover, this
middleware suffers from problems
such as load balancing, fault tolerance
and security.
6. Conclusion
In this paper, we presented an overview
of the concepts of distributed real-time
middleware and their requirements and
challenges. After studying some of the
most widely used distributed real-time
middleware, we proceeded to evaluate
and compare them. Each of presented
middleware approaches have different
applications and solve specific problems.
However, according to previous studies, it
is obvious that none of these middleware
approaches could not meet all
requirements and QoS attributes of
distributed real-time systems. In fact,
each one focuses on some of these QoS
parameters.
Considering our studies and evaluations in
previous sections of paper, we found that
the middleware based on publish-
subscribe mechanism have significant
benefits and features for real-time
distributed systems. Among the existing
publish-subscribe middleware, DDS
12. Journal of Mobile, Embedded and Distributed Systems, vol. VI, no. 4, 2014
ISSN 2067 – 4074
157
specification is able to handle many of the
problems and requirements of distributed
real-time systems. Efficient distribution of
data with minimal overhead and the
ability to control Quality of Service are
among the most important issues that
have been addressed in this middleware.
In addition, extreme rich set of QoS
policies in this middleware solves most of
the existing problems in distributed real-
time environments.
References
[1] H. Kopetz, Real-time systems: design
principles for distributed embedded
applications, Springer, 2011.
[2] P. A. Laplante and S. J. Ovaska, Real-time
systems design and analysis: tools for the
practitioner, John Wiley and Sons, 2011.
[3] D. C. Schmidt, R&D Advances in Middleware
for Distributed Real-time and Embedded
System, Communication of ACM special
issue on Middleware, 2002.
[4] R. E. Schantz and D. C. Schmidt,
Middleware for distributed systems:
Evolving the common structure for
network-centric applications, Encyclopedia
of Software Engineering, Vol.1, 2002.
[5] L. Jingyong, Z. Yong, C. Yong, and Z.
Lichen, Middleware-based distributed
systems software process, International
Conference on Hybrid Information
Technology, 2009, pp. 345-348.
[6] D. C. Schmidt, A. S. Gokhale, R. E. Schantz,
and J. P. Loyall, Middleware R&D
challenges for distributed real-time and
embedded systems, SIGBED Review,
vol.1, no.1, 2004, pp. 6-12.
[7] D. C. Schmidt, Adaptive and reflective
middleware for distributed real-time and
embedded systems, in Embedded
Software, 2002, pp. 282-293.
[8] L. Qilin and Z. Mintian, The state of the art in
middleware, International Forum on
Information Technology and Applications
(IFITA), Vol.1, 2010, pp.83-85.
[9] W. Emmerich, Software engineering and
middleware: a roadmap, in Proceedings of
the Conference on The future of Software
engineering, 2000, pp. 117-129.
[10] Oracle Corporation, Oracle Tuxedo Product
Overview, http:// docs.oracle.com, 2012.
[11] M. Richards, R. Monson-Haefel, and D. A.
Chappell, Java message service, O'Reilly
Media, Inc, 2009.
[12] P. T. Eugster, P. A. Felber, R. Guerraoui,
and A.-M. Kermarrec, The many faces of
publish/subscribe, ACM Computing
Surveys (CSUR), vol. 35, no.2, 2003,
pp.114-131.
[13] C. Esposito, D. Cotroneo, and S. Russo, On
reliability in publish/subscribe services,
Computer Networks, vol.57, no.5, 2013,
pp. 1318-1343.
[14] A. Corsaro, L. Querzoni, S. Scipioni, S. T.
Piergiovanni, and A. Virgillito, Quality of
service in publish/subscribe middleware,
Global Data Management, vol.19, 2006,
pp. 1-20.
[15] S. Oh, J.-H. Kim, and G. Fox, Real-time
performance analysis for publish/subscribe
systems, Future Generation Computer
Systems, vol.26, no.3, 2010, pp. 318-323.
[16] C. Aranha, C. Both, B. Dearfield, C. L.
Elkins, A. Ross, J. Squibb, et al., IBM
WebSphere MQ V7.1 and V7.5 Features
and Enhancements, IBM, 2013.
[17] Object Management Group, The Common
Object Request Broker Architecture
Specification, Version 3.3,
http://www.omg.org, 2012.
[18] W. Farrell, Introducing the Java Message
Service, IBM, 2004.
[19] Object Management Group, Data
Distribution Service for Real-time Systems,
Version1.2, http://www.omg.org, 2007.
[20] G. Pardo-Castellote, OMG data-distribution
service: Architectural overview,
International Conference on Distributed
Computing Systems Workshop, 2003, pp.
200-206.
[21] M. Xiong, J. Parsons, J. Edmondson, H.
Nguyen, and D. C. Schmidt, Evaluating the
performance of publish/subscribe platforms
for information management in distributed
real-time and embedded systems, http://
www.omgwiki.org, 2010.
[22] Object Management Group, Notification
Service Specification, Version1.1,
http://www.omg.org, 2004.
[23] P. Gore, I. Pyarali, C. D. Gill, and D. C.
Schmidt, The design and performance of a
real-time notification service, Real-Time
and Embedded Technology and
Applications Symposium, 2004, pp. 112-
120.
[24] Object Management Group, Event Service
Specification, Version1.2,
http://www.omg.org, 2004.
[25] Object Management Group, Real-time
CORBA Specification, Version1.2,
http://www.omg.org, 2005.
[26] D. C. Schmidt and F. Kuhns, An overview of
the real-time CORBA specification,
Computer, vol.33, no.6, 2000, pp. 56-63.
13. www.jmeds.eu
158
[27] A. S. Krishna, D. C. Schmidt, R. Klefstad,
and A. Corsaro, Real-time CORBA
middleware, Middleware for
Communications, John Wiley & Sons,
2004, pp. 413-435.
[28] Java Expert Group, Real-Time Specification
for Java, Version 1.0.2, http://www.rtsj.org,
2008.
[29] G. Bollella and J. Gosling, The real-time
specification for Java, Computer, vol.33,
no.6, 2000, pp. 47-54.
[30] K. Kim, M. Ishida, and J. Liu, An efficient
middleware architecture supporting time-
triggered message-triggered objects and
an NT-based implementation, 2nd IEEE
International Symposium on Object-
Oriented Real-Time Distributed Computing,
1999, pp. 54-63.
[31] S. F. Jenks, K. Kim, Y. Li, S. Liu, L. Zheng,
M. H. Kim, et al., A middleware model
supporting time-triggered message-
triggered objects for standard Linux
systems, Real-Time Systems, vol.36, no.1-
2, 2007, pp. 75-99.
[32] K. Kim, Object structures for real-time
systems and simulators, Computer, vol.30,
no.8, 1997, pp. 62-70.
[33] OASIS Technical Committee, Web services
base notification 1.3, http://docs.oasis-
open.org/wsn, 2006.
[34] OASIS Technical Committee, Web services
topics 1.3, http://docs.oasis-open.org/wsn,
2006.
[35] OASIS Technical Committee, Web services
brokered notification 1.3, http://docs.oasis-
open.org/wsn, 2006.
[36] P. Niblett and S. Graham, Events and
service-oriented architecture: The oasis
web services notification specification, IBM
Systems Journal, vol.44, no.4, 2005, pp.
869-886.
[37] PrismTech, OpenSplice DDS, Available on:
http://www.prismtech.com/opensplice
[38] Real Time Innovations, Connext DDS,
Available on: http://www.rti. com
[39] Wang, N., D. Schmidt, et al. QoS-enabled
middleware, Middleware for
communications, John Wiley & Sons, 2004,
pp. 131-162.
View publication stats
View publication stats