In this paper we present a Service Injection and composition Design Pattern for Unstructured Peer-to-Peer networks, which is designed with Aspect-oriented design patterns, and amalgamation of the Strategy, Worker Object, and Check-List Design Patterns used to design the Self-Adaptive Systems. It will apply selfreconfiguration planes dynamically without the interruption or intervention of the administrator for handling service failures at the servers. When a client requests for a complex service, Service Composition should be done to fulfil the request. If a service is not available in the memory, it will be injected as Aspectual Feature Module code. We used Service Oriented Architecture (SOA) with Web Services in Java to Implement the composite Design Pattern. As far as we know, there are no studies on composition of design patterns for Peer-to-peer computing domain. The pattern is described using a java-like notation for the classes and interfaces. A simple UML class and Sequence diagrams are depicted.
COMPOSITE DESIGN PATTERN FOR FEATUREORIENTED SERVICE INJECTION AND COMPOSITIO...dannyijwest
This document proposes a composite design pattern for feature-oriented service injection and composition of web services in distributed computing systems with service-oriented architecture (SOA). The pattern combines the visitor and case-based reasoning patterns. It allows new services to be included as feature modules at runtime. When a complex service is requested, the case-based reasoning pattern selects the best matching web service description language (WSDL) based on input parameters. If a single server cannot fulfill the request, the visitor pattern is used to invoke services on other servers to compose the response. The pattern provides capabilities for web service composition, invocation and flexible inclusion of new services.
International Journal of Engineering Research and Applications (IJERA) aims to cover the latest outstanding developments in the field of all Engineering Technologies & science.
International Journal of Engineering Research and Applications (IJERA) is a team of researchers not publication services or private publications running the journals for monetary benefits, we are association of scientists and academia who focus only on supporting authors who want to publish their work. The articles published in our journal can be accessed online, all the articles will be archived for real time access.
Our journal system primarily aims to bring out the research talent and the works done by sciaentists, academia, engineers, practitioners, scholars, post graduate students of engineering and science. This journal aims to cover the scientific research in a broader sense and not publishing a niche area of research facilitating researchers from various verticals to publish their papers. It is also aimed to provide a platform for the researchers to publish in a shorter of time, enabling them to continue further All articles published are freely available to scientific researchers in the Government agencies,educators and the general public. We are taking serious efforts to promote our journal across the globe in various ways, we are sure that our journal will act as a scientific platform for all researchers to publish their works online.
This document describes a Relaxed Context-Aware Machine Learning Middleware (RCAMM) for Android that was developed by students and a professor at V.E.S. Institute of Technology in Mumbai, India. RCAMM collects and stores context information from mobile devices and uses machine learning to provide personalized suggestions to users. It aims to reduce redundancy for developers by handling context collection and storage in a middleware, allowing apps to simply consume context data. The middleware uses a hybrid context model with JSON encoding and a relational database to store historical context values from devices.
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
Simulation of an Organization of Spatial Intelligent Agents in the Visual C#....Reza Nourjou, Ph.D.
The document describes developing a simulator for a community of spatial intelligent agents using Visual C#.NET. It aims to simulate agent interactions and behaviors to test distributed algorithms. The methodology uses threads and delegates in C# to embed multiple agents in a simulated environment. A sample program demonstrates implementing a contract net protocol among three agents, with one agent announcing a task and the others bidding. The simulator allows agents to communicate, respond to messages, and interact with a human, providing a framework to develop and evaluate multi-agent systems using the .NET platform.
Software connectors are architectural elements that model interactions between components. They define rules governing interactions and provide channels for transferring control and data. In software systems, connectors are often not explicitly implemented but distributed across code, while in architectures they are first-class entities with identities. Treating connectors independently from components supports separation of interaction from computation and facilitates software evolution.
This document discusses dynamic resource allocation using virtual machines. It begins by introducing cloud computing and how it allows scaling of resource usage based on demand through virtualization technology. It then analyzes the existing system of mapping virtual machines to physical resources and proposes an automated resource management system to achieve a balance between overload avoidance and green computing. The key modules of the proposed system are described as the cloud computing module, resource management module, and virtualization module. It further discusses system requirements, feasibility analysis, various UML diagrams including use case diagrams and sequence diagrams, and concludes with describing the software technologies used.
Since the REST is the new arena in the SOA world, this presentation will give very good intro all such details which basically tells the choice between REST and SOAP
COMPOSITE DESIGN PATTERN FOR FEATUREORIENTED SERVICE INJECTION AND COMPOSITIO...dannyijwest
This document proposes a composite design pattern for feature-oriented service injection and composition of web services in distributed computing systems with service-oriented architecture (SOA). The pattern combines the visitor and case-based reasoning patterns. It allows new services to be included as feature modules at runtime. When a complex service is requested, the case-based reasoning pattern selects the best matching web service description language (WSDL) based on input parameters. If a single server cannot fulfill the request, the visitor pattern is used to invoke services on other servers to compose the response. The pattern provides capabilities for web service composition, invocation and flexible inclusion of new services.
International Journal of Engineering Research and Applications (IJERA) aims to cover the latest outstanding developments in the field of all Engineering Technologies & science.
International Journal of Engineering Research and Applications (IJERA) is a team of researchers not publication services or private publications running the journals for monetary benefits, we are association of scientists and academia who focus only on supporting authors who want to publish their work. The articles published in our journal can be accessed online, all the articles will be archived for real time access.
Our journal system primarily aims to bring out the research talent and the works done by sciaentists, academia, engineers, practitioners, scholars, post graduate students of engineering and science. This journal aims to cover the scientific research in a broader sense and not publishing a niche area of research facilitating researchers from various verticals to publish their papers. It is also aimed to provide a platform for the researchers to publish in a shorter of time, enabling them to continue further All articles published are freely available to scientific researchers in the Government agencies,educators and the general public. We are taking serious efforts to promote our journal across the globe in various ways, we are sure that our journal will act as a scientific platform for all researchers to publish their works online.
This document describes a Relaxed Context-Aware Machine Learning Middleware (RCAMM) for Android that was developed by students and a professor at V.E.S. Institute of Technology in Mumbai, India. RCAMM collects and stores context information from mobile devices and uses machine learning to provide personalized suggestions to users. It aims to reduce redundancy for developers by handling context collection and storage in a middleware, allowing apps to simply consume context data. The middleware uses a hybrid context model with JSON encoding and a relational database to store historical context values from devices.
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
Simulation of an Organization of Spatial Intelligent Agents in the Visual C#....Reza Nourjou, Ph.D.
The document describes developing a simulator for a community of spatial intelligent agents using Visual C#.NET. It aims to simulate agent interactions and behaviors to test distributed algorithms. The methodology uses threads and delegates in C# to embed multiple agents in a simulated environment. A sample program demonstrates implementing a contract net protocol among three agents, with one agent announcing a task and the others bidding. The simulator allows agents to communicate, respond to messages, and interact with a human, providing a framework to develop and evaluate multi-agent systems using the .NET platform.
Software connectors are architectural elements that model interactions between components. They define rules governing interactions and provide channels for transferring control and data. In software systems, connectors are often not explicitly implemented but distributed across code, while in architectures they are first-class entities with identities. Treating connectors independently from components supports separation of interaction from computation and facilitates software evolution.
This document discusses dynamic resource allocation using virtual machines. It begins by introducing cloud computing and how it allows scaling of resource usage based on demand through virtualization technology. It then analyzes the existing system of mapping virtual machines to physical resources and proposes an automated resource management system to achieve a balance between overload avoidance and green computing. The key modules of the proposed system are described as the cloud computing module, resource management module, and virtualization module. It further discusses system requirements, feasibility analysis, various UML diagrams including use case diagrams and sequence diagrams, and concludes with describing the software technologies used.
Since the REST is the new arena in the SOA world, this presentation will give very good intro all such details which basically tells the choice between REST and SOAP
The document discusses software connectors, which are architectural elements that model interactions between components. Connectors provide interaction ducts to transfer control and data between components. While connectors may be distributed across code modules in implementations, they are first-class entities in software architectures with their own specifications and abstractions. Treating connectors as independent elements separates computation from interaction and provides benefits such as flexibility, evolution, and analysis of systems. The document outlines different roles and types of connectors.
VizDSL is a visual domain-specific language that allows non-IT experts to quickly create interactive visualizations. It extends the IFML language to include visualization concepts. VizDSL's metamodel includes concepts for data, layouts, themes, and interactions. The authors implemented VizDSL to visualize complex standards like ISO15926 and evaluated it against requirements for semantic visualization, ease-of-use for non-programmers, and support for interoperability standards. Future work includes user studies and expanding VizDSL's capabilities.
This document discusses architectural integration styles for large-scale enterprise software systems. It proposes using architectural styles as a way to generalize common integration solutions at the enterprise system level, similar to how styles are used in traditional software architecture. The document defines key terms and presents a structure for describing architectural integration styles. It then describes several example styles, and presents a case study applying the style selection process to an energy company's system integration project. The goal is to provide an approach for selecting integration solutions based on the characteristics of existing systems and desired quality attributes.
International Journal of Computational Engineering Research (IJCER) is dedicated to protecting personal information and will make every reasonable effort to handle collected information appropriately. All information collected, as well as related requests, will be handled as carefully and efficiently as possible in accordance with IJCER standards for integrity and objectivity.
Software architecture refers to the high-level structures of a software system and the discipline of designing these structures. It involves making fundamental choices about components, interactions, and properties that are difficult to change later. Documenting software architecture facilitates communication between stakeholders and allows reuse of design elements. It provides an abstract understanding of a complex system before implementation to enable analysis, reuse, risk management, and cost reduction. The concepts of software architecture have developed since the 1960s with increased research in the 1990s focusing on styles, documentation, and formal methods.
An Sna-Bi Based System for Evaluating Virtual Teams: A Software Development P...ijcsit
The dependence of today's collaborative projects on knowledge acquisition and information dissemination
emphasizes the importance of minimizing communication breakdowns. However, as organizations are
increasingly relying on virtual teams to deliver better and faster results, communication issues come to the
forefront of project managers' concerns. This is particularly palpable in software development projects
which are increasingly virtual and knowledge-consuming as they require continuous generation and
upgrade of shared information and knowledge. In a previous work, we proposed an SNA-BI based system
(Covirtsys) that supplements the Analytics modules of the collaborative platform in order to offer a
complementary analysis of communication flows through a network perspective. This paper concerns the
application of this system on a software development project virtual team and shows how it can bring new
insights that could help overcome communication issues among team members.
The document discusses key concepts in software design engineering including:
- Design should implement requirements from analysis and be understandable.
- Qualities like modularity, appropriate data structures, and independent components improve design.
- Fundamental concepts like abstraction, architecture, patterns, and modularity compartmentalize a design.
- Design principles guide creating a design that is traceable, reusable, and accommodates change.
PROPOSAL OF AN HYBRID METHODOLOGY FOR ONTOLOGY DEVELOPMENT BY EXTENDING THE P...ijitcs
W3C’s Semantic Web intents a common framework that allows data to be shared and reused across
application and enterprise. The semantic web and its related technologies are the main directions of
future web development where machine-processable information which supports user tasks. Ontologies are
playing the vital role in Semantic Web. Researches on Ontology engineering had pointed out that an effective
ontology application development methodology with integrated tool support is mandatory for its success. .
Potential benefits are there to ontology engineering in making the toolset of Model Driven Architecture
applicable to ontology modeling. Since Software and Ontology engineering are two complimentary
branches, the scope of extension of the well proven methodologies and UML based modeling approaches
used in software engineering to ontology engineering can bridge the gap between the engineering branches.
This research paper is an attempt to suggest an exclusive hybrid methodology for ontology development from
existing matured software engineering. Philosophical and engineering aspects of the newly derived
methodology have been described clearly An attempt has been made for the application of proposed
methodology with protégé editor. The full-fledged implementation of an domain ontology and its validation
is the future research direction.
This document provides an introduction to software architecture concepts. It defines key terms like software architecture, architectural styles, patterns, elements and stakeholders.
It describes software architecture as the set of principal design decisions about a system. The main elements are components, connectors and configuration. Architectural styles and patterns provide general and specific design decisions to organize systems. Models are used to capture architectural designs. Architecture influences various software development processes. Stakeholders in architecture include architects, developers, testers, managers and users.
Improved Presentation and Facade Layer Operations for Software Engineering Pr...Dr. Amarjeet Singh
Nowadays, one of the most challenging situations for
software developers is the presence of a mismatch between
relational database systems and programming codes. In the
literature, this problem is defined as "impedance mismatch".
This study is to develop a framework built on innovations
based on the existing Object Relational Mapping technique to
solve these problems. In the study, users can perform
operations for three different database systems such as
MsSQL, MySql and Oracle. In addition, these operations can
be done within the framework of C# and Java programming
languages. In this framework, while the developers can define
database tables in the interface automatically, they can create
relations between tables by defining a foreign key. When the
system performs these operations, it creates tables, views, and
stored procedures automatically. In addition, entity classes in
C# and Java for tables and views, and operation classes for
stored procedures are created automatically. The summary of
the transactions can be taken as pdf file by the framework. In
addition, the project can automatically create Windows
Communication Foundation classes to facilitate the handling
of database elements created and the interfacing operations, as
well. This framework, which supports distributed systems, can
be downloaded at this link.
An IoT platform is a fusion of physical resources such as connectors, wireless networks, smart phones and computer technologies viz; protocols, web service technologies, etc. the heterogeneity of used technologies generates a high cost at interoperability level. This paper presents a generic meta-model of IoT interoperability based on different organizational concepts such as service, compilation, activity and architectures. This model called M2IOTI, defines a very simple description of the IoT interoperability. M2IOTI is a meta-model of IoT interoperability by which one can build a model of IoT interoperability with different forms of organizations. We show that this meta-model allows for connected objects heterogeneity in semantic technologies, activities, services and architectures, in order to offer a high level at IoT interoperability. We also introduce the concept PSM which uses the same conceptual model to describe each interoperability model already existed. Such as conceptual, behavioral, semantic and dynamic models. We have also proposed a PIM model that regroups all the common concepts between the PSMs interoperability models.
Agent based frameworks for distributed association rule mining an analysis ijfcstjournal
Distributed Association Rule Mining (DARM) is the task for generating the globally strong association
rules from the global frequent itemsets in a distributed environment. The intelligent agent based model, to
address scalable mining over large scale distributed data, is a popular approach to constructing
Distributed Data Mining (DDM) systems and is characterized by a variety of agents coordinating and
communicating with each other to perform the various tasks of the data mining process. This study
performs the comparative analysis of the existing agent based frameworks for mining the association rules
from the distributed data sources.
The document discusses several common software architectural styles, including:
1) Object-oriented style where components are objects that communicate via messages and method invocations.
2) Layered style which uses a hierarchical organization with each layer acting as a client or server to adjacent layers.
3) Client-server style where servers provide services to clients without knowing their identities or numbers.
4) Data-flow styles like pipe and filter where components are independent filters that transform input data streams.
Our research aims to propose a global approach for specification, design and verification of context awareness Human Computer Interface (HCI). This is a Model Based Design approach (MBD). This methodology describes the ubiquitous environment by ontologies. OWL is the standard used for this purpose. The specification and modeling of Human-Computer Interaction are based on Petri nets (PN). This raises the question of representation of Petri nets with XML. We use for this purpose, the standard of modeling PNML. In this paper, we propose an extension of this standard for specification, generation and verification of HCI. This extension is a methodological approach for the construction of PNML with Petri nets. The design principle uses the concept of composition of elementary structures of Petri nets as PNML Modular. The objective is to obtain a valid interface through verification of properties of elementary Petri nets represented with PNML.
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.
This document discusses the concept of sustainable software design. It defines sustainable design as design where decisions and rationale are reflected in code and documentation in a way that is resistant to evaporation over time. It discusses how areas like modularity, documentation, programming languages, design patterns, and model-driven engineering relate to sustainable design. It highlights challenges like precisely defining sustainability and finding ways to evaluate the costs and benefits of sustainable design practices. The goal is to develop sustainable design as a quality attribute and incentivize its use.
Multiagent Based Methodologies have become an
important subject of research in advance Software Engineering.
Several methodologies have been proposed as, a theoretical
approach, to facilitate and support the development of complex
distributed systems. An important question when facing the
construction of Agent Applications is deciding which
methodology to follow. Trying to answer this question, a
framework with several criteria is applied in this paper for the
comparative analysis of existing multiagent system
methodologies. The results of the comparative over two of them,
conclude that those methodologies have not reached a sufficient
maturity level to be used by the software industry. The
framework has also proved its utility for the evaluation of any
kind of Multiagent Based Software Engineering Methodology
Distributed reflection denial of service attack: A critical review IJECEIAES
As the world becomes increasingly connected and the number of users grows exponentially and “things” go online, the prospect of cyberspace becoming a significant target for cybercriminals is a reality. Any host or device that is exposed on the internet is a prime target for cyberattacks. A denial-of-service (DoS) attack is accountable for the majority of these cyberattacks. Although various solutions have been proposed by researchers to mitigate this issue, cybercriminals always adapt their attack approach to circumvent countermeasures. One of the modified DoS attacks is known as distributed reflection denial-of-service attack (DRDoS). This type of attack is considered to be a more severe variant of the DoS attack and can be conducted in transmission control protocol (TCP) and user datagram protocol (UDP). However, this attack is not effective in the TCP protocol due to the three-way handshake approach that prevents this type of attack from passing through the network layer to the upper layers in the network stack. On the other hand, UDP is a connectionless protocol, so most of these DRDoS attacks pass through UDP. This study aims to examine and identify the differences between TCP-based and UDP-based DRDoS attacks.
Towards a UML Profile for Domain-driven Design of Microservice ArchitecturesFlorian Rademacher
In the context of Microservice Architecture (MSA), Domain-driven Design (DDD) denotes a model-driven approach for domain decomposition and service identification. However, DDD-based domain models are typically expressed as informal UML class diagrams, which hampers model operations like code generation. As a first step to overcome this limitation, we present a UML profile that formalizes DDD-based domain models and enables domain-driven Microservice design.
Composite Design Pattern For Feature- Oriented Service Injection And Composit...dannyijwest
With the advent of newly introduced programming models like Feature-Oriented Programming (FOP), we
feel that it will be more flexible to include the new service invocation function into the service providing
server as a Feature Module for the self-adaptive distributed systems. A composite design patterns shows a
synergy that makes the composition more than just the sum of its parts which leads to ready-made software
architectures. In this paper we describe the amalgamation of Visitor and Case-Based Reasoning Design
Patterns to the development of the Service Invocation and Web Services Composition through SOA with the
help of JWS technologies and FOP. As far as we know, there are no studies on composition of design
patterns for self adaptive distributed computing domain. We have provided with the sample code developed
for the application and simple UML class diagram is used to describe the architecture
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.
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.
The document discusses software connectors, which are architectural elements that model interactions between components. Connectors provide interaction ducts to transfer control and data between components. While connectors may be distributed across code modules in implementations, they are first-class entities in software architectures with their own specifications and abstractions. Treating connectors as independent elements separates computation from interaction and provides benefits such as flexibility, evolution, and analysis of systems. The document outlines different roles and types of connectors.
VizDSL is a visual domain-specific language that allows non-IT experts to quickly create interactive visualizations. It extends the IFML language to include visualization concepts. VizDSL's metamodel includes concepts for data, layouts, themes, and interactions. The authors implemented VizDSL to visualize complex standards like ISO15926 and evaluated it against requirements for semantic visualization, ease-of-use for non-programmers, and support for interoperability standards. Future work includes user studies and expanding VizDSL's capabilities.
This document discusses architectural integration styles for large-scale enterprise software systems. It proposes using architectural styles as a way to generalize common integration solutions at the enterprise system level, similar to how styles are used in traditional software architecture. The document defines key terms and presents a structure for describing architectural integration styles. It then describes several example styles, and presents a case study applying the style selection process to an energy company's system integration project. The goal is to provide an approach for selecting integration solutions based on the characteristics of existing systems and desired quality attributes.
International Journal of Computational Engineering Research (IJCER) is dedicated to protecting personal information and will make every reasonable effort to handle collected information appropriately. All information collected, as well as related requests, will be handled as carefully and efficiently as possible in accordance with IJCER standards for integrity and objectivity.
Software architecture refers to the high-level structures of a software system and the discipline of designing these structures. It involves making fundamental choices about components, interactions, and properties that are difficult to change later. Documenting software architecture facilitates communication between stakeholders and allows reuse of design elements. It provides an abstract understanding of a complex system before implementation to enable analysis, reuse, risk management, and cost reduction. The concepts of software architecture have developed since the 1960s with increased research in the 1990s focusing on styles, documentation, and formal methods.
An Sna-Bi Based System for Evaluating Virtual Teams: A Software Development P...ijcsit
The dependence of today's collaborative projects on knowledge acquisition and information dissemination
emphasizes the importance of minimizing communication breakdowns. However, as organizations are
increasingly relying on virtual teams to deliver better and faster results, communication issues come to the
forefront of project managers' concerns. This is particularly palpable in software development projects
which are increasingly virtual and knowledge-consuming as they require continuous generation and
upgrade of shared information and knowledge. In a previous work, we proposed an SNA-BI based system
(Covirtsys) that supplements the Analytics modules of the collaborative platform in order to offer a
complementary analysis of communication flows through a network perspective. This paper concerns the
application of this system on a software development project virtual team and shows how it can bring new
insights that could help overcome communication issues among team members.
The document discusses key concepts in software design engineering including:
- Design should implement requirements from analysis and be understandable.
- Qualities like modularity, appropriate data structures, and independent components improve design.
- Fundamental concepts like abstraction, architecture, patterns, and modularity compartmentalize a design.
- Design principles guide creating a design that is traceable, reusable, and accommodates change.
PROPOSAL OF AN HYBRID METHODOLOGY FOR ONTOLOGY DEVELOPMENT BY EXTENDING THE P...ijitcs
W3C’s Semantic Web intents a common framework that allows data to be shared and reused across
application and enterprise. The semantic web and its related technologies are the main directions of
future web development where machine-processable information which supports user tasks. Ontologies are
playing the vital role in Semantic Web. Researches on Ontology engineering had pointed out that an effective
ontology application development methodology with integrated tool support is mandatory for its success. .
Potential benefits are there to ontology engineering in making the toolset of Model Driven Architecture
applicable to ontology modeling. Since Software and Ontology engineering are two complimentary
branches, the scope of extension of the well proven methodologies and UML based modeling approaches
used in software engineering to ontology engineering can bridge the gap between the engineering branches.
This research paper is an attempt to suggest an exclusive hybrid methodology for ontology development from
existing matured software engineering. Philosophical and engineering aspects of the newly derived
methodology have been described clearly An attempt has been made for the application of proposed
methodology with protégé editor. The full-fledged implementation of an domain ontology and its validation
is the future research direction.
This document provides an introduction to software architecture concepts. It defines key terms like software architecture, architectural styles, patterns, elements and stakeholders.
It describes software architecture as the set of principal design decisions about a system. The main elements are components, connectors and configuration. Architectural styles and patterns provide general and specific design decisions to organize systems. Models are used to capture architectural designs. Architecture influences various software development processes. Stakeholders in architecture include architects, developers, testers, managers and users.
Improved Presentation and Facade Layer Operations for Software Engineering Pr...Dr. Amarjeet Singh
Nowadays, one of the most challenging situations for
software developers is the presence of a mismatch between
relational database systems and programming codes. In the
literature, this problem is defined as "impedance mismatch".
This study is to develop a framework built on innovations
based on the existing Object Relational Mapping technique to
solve these problems. In the study, users can perform
operations for three different database systems such as
MsSQL, MySql and Oracle. In addition, these operations can
be done within the framework of C# and Java programming
languages. In this framework, while the developers can define
database tables in the interface automatically, they can create
relations between tables by defining a foreign key. When the
system performs these operations, it creates tables, views, and
stored procedures automatically. In addition, entity classes in
C# and Java for tables and views, and operation classes for
stored procedures are created automatically. The summary of
the transactions can be taken as pdf file by the framework. In
addition, the project can automatically create Windows
Communication Foundation classes to facilitate the handling
of database elements created and the interfacing operations, as
well. This framework, which supports distributed systems, can
be downloaded at this link.
An IoT platform is a fusion of physical resources such as connectors, wireless networks, smart phones and computer technologies viz; protocols, web service technologies, etc. the heterogeneity of used technologies generates a high cost at interoperability level. This paper presents a generic meta-model of IoT interoperability based on different organizational concepts such as service, compilation, activity and architectures. This model called M2IOTI, defines a very simple description of the IoT interoperability. M2IOTI is a meta-model of IoT interoperability by which one can build a model of IoT interoperability with different forms of organizations. We show that this meta-model allows for connected objects heterogeneity in semantic technologies, activities, services and architectures, in order to offer a high level at IoT interoperability. We also introduce the concept PSM which uses the same conceptual model to describe each interoperability model already existed. Such as conceptual, behavioral, semantic and dynamic models. We have also proposed a PIM model that regroups all the common concepts between the PSMs interoperability models.
Agent based frameworks for distributed association rule mining an analysis ijfcstjournal
Distributed Association Rule Mining (DARM) is the task for generating the globally strong association
rules from the global frequent itemsets in a distributed environment. The intelligent agent based model, to
address scalable mining over large scale distributed data, is a popular approach to constructing
Distributed Data Mining (DDM) systems and is characterized by a variety of agents coordinating and
communicating with each other to perform the various tasks of the data mining process. This study
performs the comparative analysis of the existing agent based frameworks for mining the association rules
from the distributed data sources.
The document discusses several common software architectural styles, including:
1) Object-oriented style where components are objects that communicate via messages and method invocations.
2) Layered style which uses a hierarchical organization with each layer acting as a client or server to adjacent layers.
3) Client-server style where servers provide services to clients without knowing their identities or numbers.
4) Data-flow styles like pipe and filter where components are independent filters that transform input data streams.
Our research aims to propose a global approach for specification, design and verification of context awareness Human Computer Interface (HCI). This is a Model Based Design approach (MBD). This methodology describes the ubiquitous environment by ontologies. OWL is the standard used for this purpose. The specification and modeling of Human-Computer Interaction are based on Petri nets (PN). This raises the question of representation of Petri nets with XML. We use for this purpose, the standard of modeling PNML. In this paper, we propose an extension of this standard for specification, generation and verification of HCI. This extension is a methodological approach for the construction of PNML with Petri nets. The design principle uses the concept of composition of elementary structures of Petri nets as PNML Modular. The objective is to obtain a valid interface through verification of properties of elementary Petri nets represented with PNML.
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.
This document discusses the concept of sustainable software design. It defines sustainable design as design where decisions and rationale are reflected in code and documentation in a way that is resistant to evaporation over time. It discusses how areas like modularity, documentation, programming languages, design patterns, and model-driven engineering relate to sustainable design. It highlights challenges like precisely defining sustainability and finding ways to evaluate the costs and benefits of sustainable design practices. The goal is to develop sustainable design as a quality attribute and incentivize its use.
Multiagent Based Methodologies have become an
important subject of research in advance Software Engineering.
Several methodologies have been proposed as, a theoretical
approach, to facilitate and support the development of complex
distributed systems. An important question when facing the
construction of Agent Applications is deciding which
methodology to follow. Trying to answer this question, a
framework with several criteria is applied in this paper for the
comparative analysis of existing multiagent system
methodologies. The results of the comparative over two of them,
conclude that those methodologies have not reached a sufficient
maturity level to be used by the software industry. The
framework has also proved its utility for the evaluation of any
kind of Multiagent Based Software Engineering Methodology
Distributed reflection denial of service attack: A critical review IJECEIAES
As the world becomes increasingly connected and the number of users grows exponentially and “things” go online, the prospect of cyberspace becoming a significant target for cybercriminals is a reality. Any host or device that is exposed on the internet is a prime target for cyberattacks. A denial-of-service (DoS) attack is accountable for the majority of these cyberattacks. Although various solutions have been proposed by researchers to mitigate this issue, cybercriminals always adapt their attack approach to circumvent countermeasures. One of the modified DoS attacks is known as distributed reflection denial-of-service attack (DRDoS). This type of attack is considered to be a more severe variant of the DoS attack and can be conducted in transmission control protocol (TCP) and user datagram protocol (UDP). However, this attack is not effective in the TCP protocol due to the three-way handshake approach that prevents this type of attack from passing through the network layer to the upper layers in the network stack. On the other hand, UDP is a connectionless protocol, so most of these DRDoS attacks pass through UDP. This study aims to examine and identify the differences between TCP-based and UDP-based DRDoS attacks.
Towards a UML Profile for Domain-driven Design of Microservice ArchitecturesFlorian Rademacher
In the context of Microservice Architecture (MSA), Domain-driven Design (DDD) denotes a model-driven approach for domain decomposition and service identification. However, DDD-based domain models are typically expressed as informal UML class diagrams, which hampers model operations like code generation. As a first step to overcome this limitation, we present a UML profile that formalizes DDD-based domain models and enables domain-driven Microservice design.
Towards a UML Profile for Domain-driven Design of Microservice Architectures
Similar to A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVICES FOR PEER-TO-PEER COMPUTING WITH SERVICEORIENTED ARCHITECTURE
Composite Design Pattern For Feature- Oriented Service Injection And Composit...dannyijwest
With the advent of newly introduced programming models like Feature-Oriented Programming (FOP), we
feel that it will be more flexible to include the new service invocation function into the service providing
server as a Feature Module for the self-adaptive distributed systems. A composite design patterns shows a
synergy that makes the composition more than just the sum of its parts which leads to ready-made software
architectures. In this paper we describe the amalgamation of Visitor and Case-Based Reasoning Design
Patterns to the development of the Service Invocation and Web Services Composition through SOA with the
help of JWS technologies and FOP. As far as we know, there are no studies on composition of design
patterns for self adaptive distributed computing domain. We have provided with the sample code developed
for the application and simple UML class diagram is used to describe the architecture
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.
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.
A COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLESijfcstjournal
Software architecture is the structural solution that achieves the overall technical and operational
requirements for software developments. Software engineers applied software architectures for their
software system developments; however, they worry the basic benchmarks in order to select software
architecture styles, possible components, integration methods (connectors) and the exact application of
each style.
The objective of this research work was a comparative analysis of software architecture styles by its
weakness and benefits in order to select by the programmer during their design time. Finally, in this study,
the researcher has been identified architectural styles, weakness, and Strength and application areas with
its component, connector and Interface for the selected architectural styles.
A COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLESijfcstjournal
Software architecture is the structural solution that achieves the overall technical and operational requirements for software developments. Software engineers applied software architectures for their software system developments; however, they worry the basic benchmarks in order to select software architecture styles, possible components, integration methods (connectors) and the exact application of each style. The objective of this research work was a comparative analysis of software architecture styles by its weakness and benefits in order to select by the programmer during their design time. Finally, in this study, the researcher has been identified architectural styles, weakness, and Strength and application areas with its component, connector and Interface for the selected architectural styles.
A COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLESADEIJ Journal
Software architecture is the structural solution that achieves the overall technical and operational
requirements for software developments. Software engineers applied software architectures for their
software system developments; however, they worry the basic benchmarks in order to select software
architecture styles, possible components, integration methods (connectors) and the exact application of
each style.
The objective of this research work was a comparative analysis of software architecture styles by its
weakness and benefits in order to select by the programmer during their design time. Finally, in this study,
the researcher has been identified architectural styles, weakness, and Strength and application areas with
its component, connector and Interface for the selected architectural styles.
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.
1) The document discusses various ways that artificial intelligence can be applied to different phases of the software engineering lifecycle, including requirements specification, design, coding, testing, and estimation.
2) It provides examples of using techniques like natural language processing to clarify requirements, knowledge graphs to manage requirements information, and computational intelligence for requirements prioritization.
3) For design, the document discusses using intelligent agents to recommend patterns and designs to satisfy quality attributes from requirements and assist with assigning responsibilities to components.
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
Architectural Styles And The Design Of Network-Based Software ArchitecturesAndrea Porter
This document summarizes an academic paper on architectural styles for network-based software architectures. It defines key terms related to software architecture like elements, configurations, properties, and styles. It discusses how architectural styles can be used to guide the design of network-based application software and classify styles based on the properties they induce. It specifically introduces the Representational State Transfer (REST) architectural style and how it was used to guide the design of the modern Web architecture.
Abstract - Various aspects of three proposed architectures for distributed software are examined. A Crucial need to
create an ideal model for optimal architecture which meets the needs of the organization for flexibility, extensibility
and integration, to fulfill exhaustive performance for potential talents processes and opportunities in the corporations
a permanent and ongoing need. The excellence of the proposed architecture is demonstrated by presenting a rigor scenario based proof of adaptively and compatibility of the architecture in cases of merging and varying organizations, where the whole structure of hierarchies is revised.
Keywords: ERP, Data-centric architecture, architecture Component-based, Plug in architecture, distributed systems
WEB SERVICES COMPOSITION METHODS AND TECHNIQUES: A REVIEWijcseit
This document provides a review of web service composition methods and techniques. It begins with an abstract that discusses the increasing need for web service composition as more services become available online. The document then reviews several key concepts related to web service composition, such as ontologies, semantic annotations, quality of service measures, and description languages. It categorizes composition approaches as either syntactic or semantic-based. Syntactic composition relies on syntax alone while semantic composition leverages semantic descriptions. The document discusses various composition methods including manual/static composition, automatic/dynamic composition, and semi-automatic/dynamic or static composition. It provides examples of techniques used for each method. Overall, the document aims to help researchers focus their efforts on developing lasting solutions for
International Journal of Computer Science, Engineering and Information Techno...ijcseit
Web Services are modular, self-describing, self-contained and loosely coupled applications that can be
published, located, and invoked across the web. With the increasing number of web services available on
the web, the need for web services composition is becoming more and more important. Nowadays, for
answering complex needs of users, the construction of new web services based on existing ones is required.
This problem is known as web services composition. However, it is one of big challenge problems of recent
years in a distributed and dynamic environment. The various approaches in field of web service
compositions proposed by the researchers. In this paper we present a review of existing approaches for
web service composition and compare them among each other with respect to some key requirements. We
hope this paper helps researchers to focus on their efforts and to deliver lasting solutions in this field.
International Journal of Engineering and Science Invention (IJESI)inventionjournals
This document describes the development of ConfBits, a web-based conference management system. ConfBits allows conference organizers to manage abstract and full paper submissions, assign papers to reviewers, and send notifications to authors and reviewers. It also manages participant registration and the conference program schedule. The system was designed using object-oriented principles and modeled using UML diagrams. It was implemented using PHP for the web pages, MySQL for the database, and deployed on a test server. The prototype is available online at www.cucms.com.ng. The goal of ConfBits is to help bridge the digital divide in scholarly online content between developed and developing countries.
Three Dimensional Database: Artificial Intelligence to eCommerce Web service ...CSCJournals
A main objective of this paper is using artificial intelligence technique to web service agents and increase the efficiency of the agent communications. In recent years, web services have played a major role in computer applications. Web services are essential, as the design model of applications are dedicated to electronic businesses. This model aims to become one of the major formalisms for the design of distributed and cooperative applications in an open environment (the Internet). Current commercial and research-based efforts are reviewed and positioned within these two fields. A web service as a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-process able format (specifically Web Services Description Language WSDL). Other systems interact with the web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards. Particular attention is given to the application of AI techniques to the important issue of WS composition. Within the range of AI technologies considered, we focus on the work of the Semantic Web and Agent-based communities to provide web services with semantic descriptions and intelligent behavior and reasoning capabilities. Re-composition of web services is also considered and a number of adaptive agent approaches are introduced and implemented in publication domain with three dimensional databases and one of the areas of work is eCommerce.
Improved Strategy for Distributed Processing and Network Application Developm...Editor IJCATR
The complexity of software development abstraction and the new development in multi-core computers have shifted the burden of distributed software performance from network and chip designers to software architectures and developers. We need to look at software development strategies that will integrate parallelization of code, concurrency factors, multithreading, distributed resources allocation and distributed processing. In this paper, a new software development strategy that integrates these factors is further experimented on parallelism. The strategy is multidimensional aligns distributed conceptualization along a path. This development strategy mandates application developers to reason along usability, simplicity, resource distribution, parallelization of code where necessary, processing time and cost factors realignment as well as security and concurrency issues in a balanced path from the originating point of the network application to its retirement.
Improved Strategy for Distributed Processing and Network Application DevelopmentEditor IJCATR
The complexity of software development abstraction and the new development in multi-core computers have shifted the
burden of distributed software performance from network and chip designers to software architectures and developers. We need to
look at software development strategies that will integrate parallelization of code, concurrency factors, multithreading, distributed
resources allocation and distributed processing. In this paper, a new software development strategy that integrates these factors is
further experimented on parallelism. The strategy is multidimensional aligns distributed conceptualization along a path. This
development strategy mandates application developers to reason along usability, simplicity, resource distribution, parallelization of
code where necessary, processing time and cost factors realignment as well as security and concurrency issues in a balanced path from
the originating point of the network application to its retirement.
International Journal of Computer Science, Engineering and Information Techno...ijcseit
This document discusses configuration in Software as a Service (SaaS) multi-tenancy environments. It begins by defining key cloud computing concepts like Infrastructure as a Service, Platform as a Service, and Software as a Service. It then discusses how multi-tenancy architectures allow multiple customers to use the same application instance. The document focuses on how enterprise resource planning (ERP) systems can be configured in a SaaS multi-tenant environment through tools that allow customizing stylesheets, images, scripts, text and more for each customer while maintaining a single application instance.
Software as a Service (SaaS) becomes in this decade the focus of many enterprises and research. SaaS
provides software application as Web based delivery to server many customers. This sharing of
infrastructure and application provided by Saas has a great benefit to customers, since it reduces costs,
minimizes risks, improves their competitive positioning, as well as seeks out innovative. SaaS application is
generally developed with standardized software functionalities to serve as many customers as
possible.However many customers ask to change the standardized provided functions according to their
specific business needs, and this can be achieve through the configuration and customization provided by
the SaaS vendor.Allowing many customers to change software configurations without impacting others
customers and with preserving security and efficiency of the provided services, becomes a big challenge to
SaaS vendors, who are oblige to design new strategies and architectures. Multi-tenancy (MT) architectures
allow multiple customers to be consolidated into the same operational system without changing anything in
the vendor source code. In this paper, we will present how the configuration can be done on an ERP web
application in a Multi-Tenancy SaaS environment.
Similar to A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVICES FOR PEER-TO-PEER COMPUTING WITH SERVICEORIENTED ARCHITECTURE (20)
Strategies for Effective Upskilling is a presentation by Chinwendu Peace in a Your Skill Boost Masterclass organisation by the Excellence Foundation for South Sudan on 08th and 09th June 2024 from 1 PM to 3 PM on each day.
How to Fix the Import Error in the Odoo 17Celine George
An import error occurs when a program fails to import a module or library, disrupting its execution. In languages like Python, this issue arises when the specified module cannot be found or accessed, hindering the program's functionality. Resolving import errors is crucial for maintaining smooth software operation and uninterrupted development processes.
it describes the bony anatomy including the femoral head , acetabulum, labrum . also discusses the capsule , ligaments . muscle that act on the hip joint and the range of motion are outlined. factors affecting hip joint stability and weight transmission through the joint are summarized.
Leveraging Generative AI to Drive Nonprofit InnovationTechSoup
In this webinar, participants learned how to utilize Generative AI to streamline operations and elevate member engagement. Amazon Web Service experts provided a customer specific use cases and dived into low/no-code tools that are quick and easy to deploy through Amazon Web Service (AWS.)
Chapter wise All Notes of First year Basic Civil Engineering.pptxDenish Jangid
Chapter wise All Notes of First year Basic Civil Engineering
Syllabus
Chapter-1
Introduction to objective, scope and outcome the subject
Chapter 2
Introduction: Scope and Specialization of Civil Engineering, Role of civil Engineer in Society, Impact of infrastructural development on economy of country.
Chapter 3
Surveying: Object Principles & Types of Surveying; Site Plans, Plans & Maps; Scales & Unit of different Measurements.
Linear Measurements: Instruments used. Linear Measurement by Tape, Ranging out Survey Lines and overcoming Obstructions; Measurements on sloping ground; Tape corrections, conventional symbols. Angular Measurements: Instruments used; Introduction to Compass Surveying, Bearings and Longitude & Latitude of a Line, Introduction to total station.
Levelling: Instrument used Object of levelling, Methods of levelling in brief, and Contour maps.
Chapter 4
Buildings: Selection of site for Buildings, Layout of Building Plan, Types of buildings, Plinth area, carpet area, floor space index, Introduction to building byelaws, concept of sun light & ventilation. Components of Buildings & their functions, Basic concept of R.C.C., Introduction to types of foundation
Chapter 5
Transportation: Introduction to Transportation Engineering; Traffic and Road Safety: Types and Characteristics of Various Modes of Transportation; Various Road Traffic Signs, Causes of Accidents and Road Safety Measures.
Chapter 6
Environmental Engineering: Environmental Pollution, Environmental Acts and Regulations, Functional Concepts of Ecology, Basics of Species, Biodiversity, Ecosystem, Hydrological Cycle; Chemical Cycles: Carbon, Nitrogen & Phosphorus; Energy Flow in Ecosystems.
Water Pollution: Water Quality standards, Introduction to Treatment & Disposal of Waste Water. Reuse and Saving of Water, Rain Water Harvesting. Solid Waste Management: Classification of Solid Waste, Collection, Transportation and Disposal of Solid. Recycling of Solid Waste: Energy Recovery, Sanitary Landfill, On-Site Sanitation. Air & Noise Pollution: Primary and Secondary air pollutants, Harmful effects of Air Pollution, Control of Air Pollution. . Noise Pollution Harmful Effects of noise pollution, control of noise pollution, Global warming & Climate Change, Ozone depletion, Greenhouse effect
Text Books:
1. Palancharmy, Basic Civil Engineering, McGraw Hill publishers.
2. Satheesh Gopi, Basic Civil Engineering, Pearson Publishers.
3. Ketki Rangwala Dalal, Essentials of Civil Engineering, Charotar Publishing House.
4. BCP, Surveying volume 1
How to Manage Your Lost Opportunities in Odoo 17 CRMCeline George
Odoo 17 CRM allows us to track why we lose sales opportunities with "Lost Reasons." This helps analyze our sales process and identify areas for improvement. Here's how to configure lost reasons in Odoo 17 CRM
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVICES FOR PEER-TO-PEER COMPUTING WITH SERVICEORIENTED ARCHITECTURE
1. International Journal on Web Service Computing (IJWSC), Vol.3, No.3, September 2012
DOI : 10.5121/ijwsc.2012.3305 49
A COMPOSITE DESIGN PATTERN FOR SERVICE
INJECTION AND COMPOSITION OF WEB SERVICES
FOR PEER-TO-PEER COMPUTING WITH SERVICE-
ORIENTED ARCHITECTURE
Vishnuvardhan Mannava1
and T. Ramesh2
1
Department of Computer Science and Engineering, K L University,
Vaddeswaram, 522502, A.P., India
vishnu@kluniversity.in
2
Department of Computer Science and Engineering, National Institute of Technology,
Warangal, 506004, A.P., India
rmesht@nitw.ac.in
ABSTRACT
In this paper we present a Service Injection and composition Design Pattern for Unstructured Peer-to-Peer
networks, which is designed with Aspect-oriented design patterns, and amalgamation of the Strategy,
Worker Object, and Check-List Design Patterns used to design the Self-Adaptive Systems. It will apply self-
reconfiguration planes dynamically without the interruption or intervention of the administrator for
handling service failures at the servers. When a client requests for a complex service, Service Composition
should be done to fulfil the request. If a service is not available in the memory, it will be injected as
Aspectual Feature Module code. We used Service Oriented Architecture (SOA) with Web Services in Java
to Implement the composite Design Pattern. As far as we know, there are no studies on composition of
design patterns for Peer-to-peer computing domain. The pattern is described using a java-like notation for
the classes and interfaces. A simple UML class and Sequence diagrams are depicted.
KEYWORDS
Autonomic system, Design Patterns, Aspect-Oriented Programming Design Pattern, Feature-Oriented
Programming (FOP), Aspect-Oriented Programming (AOP), JXTA, Service Oriented Architecture (SOA),
Web Services, Web Service Description Language (WSDL).
1. INTRODUCTION
The most widely focused elements of the autonomic computing systems are self-* properties. So
for a system to be self-manageable they should be self-configuring, self-healing, self-optimizing,
self-protecting and they have to exhibit self-awareness, self-situation and self-monitoring
properties [2]. As the web continues to grow in terms of content and the number of connected
devices, peer-to-peer computing is becoming increasingly prevalent. Some of the popular
examples are file sharing, distributed computing, and instant messenger services. Each one of
them provides different services, but shares the same mechanism like Discovery of peers,
searching, file and data transfer. Currently developed peer-to-peer applications are inefficient
with the developers solving the same problems and duplicating the similar infrastructure
implementations [15]. Most of the applications are specific to a single platform and can't
communicate and share data with different applications.
2. International Journal on Web Service Computing (IJWSC), Vol.3, No.3, September 2012
50
To overcome the current existing problems Sun Microsystems have introduced JXTA. JXTA is
an open set, generalized peer-to-peer (P2P) protocols that allows any networked device sensors,
cell phones, PDA's, laptops, workstations, servers and supercomputers- to communicate and
collaborate mutually as peers. The advantage of using the JXTA peer-to-peer programming is that
it provides protocols that are programming language independent, multiple implementations,
know as bindings, for different environments. The JXTA protocols are all fully interoperable. So
with help of JXTA programming technology, we can write and deploy the peer-to-peer services
and applications. JXTA protocols standardize the manner in which peers will discover each other,
self-organize into peer groups, Advertise and discover network resources, communicate with each
other, monitor other.
JXTA overcomes the many of the problems in current existing peer-to-peer systems, some of
them are: 1) Interoperability enables the peers provisioning P2P services to locate and
communicate with one another independent of network addressing and physical protocols. 2)
Platform Independent-JXTA provides the developing code with independent form programming
languages, network transport protocols, and deployment platforms. 3) Ubiquity JXTA is designed
to be accessed by any device not just the PC or a specific deployment platform. In this paper we
propose a design pattern for providing the services to peer-clients in unstructured peer-to-peer
network.
Design patterns are most often used in developing the software system to implement variable and
reusable software with object oriented programming (OOP) [6]. Pattern composition has been
shown as a challenge to applying design patterns in real software systems. Composite patterns
represent micro architectures that when glued together could create an entire software
architecture. Thus pattern composition can lead to ready-made architectures from which only
instantiation would be required to build robust implementations. A composite design patterns
shows a synergy that makes the composition more than just the sum of its parts. As far as we
know, there are no studies on composition of design patterns for Peer-to-peer computing domain.
Most of the design patterns in [6] have been successfully applied in OOPs, but at the same time
developers have faced some problems like as said in [10] they observed the lack of modularity,
composability and reusability in respective object oriented designs [7]. They traced this lack due
to the presence of crosscutting concerns. Crosscutting concerns are the design and
implementation problems that result in code tangling, scattering, and replication of code when
software is decomposed along one dimension [16] e.g., the decomposition into classes and objects
in OOP. To overcome this problem some advanced modularization techniques are introduced
such as Aspect-oriented programming (AOP) [15] and Feature-oriented programming (FOP). In
AOP the crosscutting concerns are handled in separate modules known as aspects, and FOP is
used to provide the modularization in terms of feature refinements.
In our proposal of a design pattern for a peer-to-peer system, we use the Aspect-oriented design
pattern called Worker Object pattern [14] and Checklisting Design Pattern [5]. When comes to
the worker object pattern it is an instance of a class that encapsulates a method called a worker
method. It will create and handle each client service request in separate thread by making the job
of server easy from looking after each and every client until it completes serving its request .So
the server can listen for new client requests if any to handle. The Checklisting Design Pattern is
used to provide means for selecting a service plan that best suits the clients request and also that
matches the WSDL information of a Service providing peer server. An application has to interact
with considering some constraints. We come across this situation when a task needs to be
accomplished by the collaboration of multiple peers. The strategy Design Pattern helps in making
decision regarding which Checklist of items (items here are the services) have to be selected to
3. International Journal on Web Service Computing (IJWSC), Vol.3, No.3, September 2012
51
solve the complex task requested by user with respect to the WSDL information available from
each and every service providing peer servers [9].
2. RELATED WORK
In this section we present some works that deal with unstructured peer-to-peer systems design.
There are number of publications representing the design pattern oriented design of the peer-to-
peer computing systems. The JXTA protocols standardization provides one of the autonomic
computing system properties known as self-organization into peer groups. The self-organization
is property that provides the autonomic capability in the peer-to-peer design of networks.
In V.S.Prasad Vasireddy, Vishnuvardhan Mannava, and T. Ramesh paper [12] discuss applying
an Autonomic Design Pattern which is an amalgamation of chain of responsibility and visitor
patterns that can be used to analyze or design self-adaptive systems. They harvested this pattern
and applied it on unstructured peer to peer networks and Web services environments.
In Sven Apel, Thomas Leich, and Gunter Saake [1] they proposed the symbiosis of FOP and AOP
and aspectual feature modules (AFMs), a programming technique that integrates feature modules
and aspects. They provide a set of tools that support implementing AFMs on top of Java and C++.
In Alois Ferscha, Manfred Hechinger, Rene Mayrhofer, Ekaterina Chtcherbina, Marquart Franz,
Marcos dos Santos Rocha, Andreas Zeidler [5] they proposed that The design principles of
pervasive computing software architectures are widely driven by the need for opportunistic
interaction among distributed, mobile and heterogeneous entities in the absence of global
knowledge and naming conventions. Peer-to-Peer (P2P) frameworks have evolved, abstracting
the access to shared, while distributed information. To bridge the architectural gap between P2P
applications and P2P frameworks we propose patterns as an organizational schema for P2P based
software systems. Our Peer-it hardware platform is used to demonstrate an application in the
domain of flexible manufacturing systems.
In Vishnuvardhan Mannava, and T. Ramesh paper [17] they have proposed a design pattern for
Autonomic Computing System which is designed with Aspect-oriented design patterns and they
have also focused on the amalgamation of the Feature-oriented and Aspect-oriented software
development methodology and its usage in developing a self-reconfigurable adaptive system.
In Vishnuvardhan Mannava, and T. Ramesh paper [18] they have proposed a system for
dynamically configuring communication services. Server will invoke and manage services based
on time stamp of service. The system will reduce work load of sever all services in executed by
different threads based on time services are executed, suspended and resumed.
In Vishnuvardhan Mannava, and T. Ramesh paper [19] they have proposed an adaptive
reconfiguration compliance pattern for autonomic computing systems that can propose the
reconfiguration rules and can learn new rules at runtime.
Because of the previous proposed works as described above, we got the inspiration to apply the
aspect oriented design patterns along with inclusion of the feature-oriented software development
capability to autonomic systems.
3. PROPOSED AUTONOMIC DESIGN PATTERN
One of the objects of this paper is to apply the Aspect-oriented design patterns to the object-
oriented code in the current existing application. So that a more efficient approach to maintain the
system and providing reliable services to the client requests can be achieved.
4. International Journal on Web Service Computing (IJWSC), Vol.3, No.3, September 2012
52
The very important capability that our proposed design pattern provides in the peer-to-peer
computing systems that, when a new service is to be added to the peer system in the network
without disturbing the running server we can do this with the help of Aspectual Feature Module
[1] oriented insertion of the new service into the peer-server code by using the feature refinements
property of Feature-Oriented Programming (FOP). In our proposed Design Pattern for an
Autonomic Computing System, initially all the peers in the network group will broadcast the
advertisements that represents the respective services that are provided by them as the WSDL
messages. The WSDL messages are the XML files that are used in web services. It defines the
input and output parameters of a web service in terms of XML schema. With these sent
advertisements all the peers will know the information about the services that are provided by
different peer servers and whether they are Active or Deactivated at present. Here in each of the
Web Service Description Language (WSDL) file it will include the status of the service whether it
is active or deactivated currently.
Figure 1: The Proposed Design Pattern for Service Injection and Composition of Web Services for
Unstructured Peer-to-Peer networks with SOA.
The Client who requests for a Complex service that cannot be fulfilled with single service but has
to take help of two or more services that are provided by different peers in order to satisfy the
client's request. So with the help of the Checklist Design Pattern in [5] will help us in selecting
the perfect combination of services that best suits the clients service request with respect to the
WSDL messages send by the peer servers. Here the Strategy Design Pattern will select a
CheckList Plan that better suits the Service Request to be fulfilled and also it will select the
perfect WSDL of a peer server that can perfectly process the service request of a Client. For a
clear idea of the pattern structure proposed see Figure 1 referred from [5]. Action means the
Service definition, Check peer will check whether it can apply the input data retrieved to this
service.P2P Infrastructure means any middleware technology like JXTA for establishment of
Connections between clients and peers. Once the information of all the peers that are providing
5. International Journal on Web Service Computing (IJWSC), Vol.3, No.3, September 2012
53
the web services is gathered as WSDLs from respective peer servers then it (Client) will invoke
the respective peer's service that is responsible for the performing the task.
Here the Peer Web Service provider can take help of the services that are provided by the other
peers in the network to fulfil the complex service request of a client. So this kind of service
composition can be achieved at the server side with Service Oriented Architecture (SOA)
implementation with Web Services. With this invocation call the respective peers will check
whether the requested service is currently Active and running. If this is not the case then it will
loads the requested service into the memory as a new Feature with the help of the Aspectual
Feature Module [1] code from the Service Repository without disturbing the already running
services in that peer. Now once the service is loaded into the memory then the peer will invoke a
call that will update the State of the service to Activated.
Figure 2: Composition of the Services with Service Oriented Architecture using web services.
6. International Journal on Web Service Computing (IJWSC), Vol.3, No.3, September 2012
54
The Worker Object Pattern [14] is responsible for handling the different client requests in terms
of separate Thread based requests. Means when more than one client request for same service or
different one they are handled in different Threads.
So in our design pattern we have provided the capabilities of Web Services Composition[4],
Service Invocation, and Inclusion of the new Service Operation as a Feature Module, all the three
are provided in each and every server in a Distributed Application.
4. DESIGN PATTERN TEMPLATE:
To facilitate the organization, understanding, and application of the proposed design patterns, this
paper uses a template similar in style to that used in [13]. Likewise, the Implementation and
Sample Code fields are too application-specific for the Design Patterns presented in this paper.
4.1. Pattern Name:
Peer-to-Peer service injection design pattern along with composition of services with SOA.
4.2. Classification:
Structural –Decision Making
4.3. Intent:
Systematically applies the Aspect-Oriented Design Patterns to an unstructured peer-to-peer
Computing System and service injection with a Refinement class for providing new service in the
peer in terms of a Feature Module.
4.4. Context:
Our design pattern may be used when:
• The service requested is a complex service and need to be executed with the help of
collaboration of peers in the network.
• To include the new service operations into peers as Aspectual Feature Modules [1].
• For providing the Distributed service request processing environment with the help of
JXTA peer-to-peer Programming and Service Oriented Architecture (SOA) with Web
Services.
4.5. Proposed Design Pattern Structure:
A UML class diagram for the proposed design Pattern can be found in Figure 3.
4.6. Participants:
a) Client: This application creates JxtaSocket and attempts to connect to JxtaServerSocket.
Peer Group will create a default net peer group and a socket is used to connect to
JxtaServerSocket. After these steps the client will call the run method to establish a
connection to receive and send data. The startJxta method is called in the client to create a
configuration from a default configuration and then instantiates the JXTA platform and
7. International Journal on Web Service Computing (IJWSC), Vol.3, No.3, September 2012
55
creates the default net peer group. Once the net peer group is created the client will send a
Pipe Advertisement for requesting a service in the peer-to-peer network.
b) Checklist Pattern [5]: In this class it will consists of Checklists that a set of Check
items. Here it will provide the service execution plans for the client's requested service.}
c) Checkpoint Selection: Here the strategy pattern will help to select the perfect Checklist
that matches for the execution of the requested complex service. The selection is based on
some rule based selection statements and also that matches the input and output
parameter details in WSDL of a particular Peer Server.
d) Service Providing PeerN (N=1 or 2 or 3): First the default net peer group is created
with Peer Group. Creates a JxtaSeverSocket to accept connections, and then executes the
run method to accept connections from clients and send receive data. The peer will start
listening for the service requests. If a service that is requested by a client is not running in
the memory then the peer will load the new service from the service repository into the
memory space of the currently running services and at the same time it will invoke a
functional call that will change the state of that service to Activated from deactivated
state.
e) Connection Handler: This will take care of the connections with multiple clients and
sending and receiving the data between the clients and service providing peer.
f) Worker Object Aspect: Once the connection is established between the peer and client,
the worker object will create a separate thread for the connected client to run the
requested service in a new thread for that it will call the Reactor Pattern method to handle
the requested service execution.}
g) Service Repository: It will contain the services that are currently deactivated and that are
not loaded into the memory for execution. The services not being requested by any of the
clients are kept here.}
h) Refines Class Service: This will add a new service from the service repository that is
requested by a client, in such a way that the insertion will be done as a new feature with
the help of FOP [3].
The view of our proposed design pattern for the Distributed Computing System can be
seen in the form of a class diagram see Figure 1.
The flow of control in the Distributed Computing System can be shown with a sequence
diagram in Figure 2.
8. International Journal on Web Service Computing (IJWSC), Vol.3, No.3, September 2012
56
4.7. Consequences:
a) With the use of this pattern we can get the benefits of worker object pattern, The
application will handle each of the client requests in a separate thread by reducing the
overhead on the main peer thread that is providing the service to get blocked until the
first client request is served and making other client requests to get blocked.
b) We use the Feature-Oriented Programming [3] to insert the new service into the
memory from the Service Repository as a feature into the current executing services
code.
c) By the use of dynamic crosscutting concerns of the Aspect-Oriented Programming
[14] the system will me executing fast as the decisions are made at run-time. With the
help of the Web Service Description Language (WSDL) all the clients can get
information about the services that are active and currently provided by the peer
servers
4.8. Related Design Patterns:
a) Case-Based Reasoning Design Pattern [13]: The Case-Based Reasoning Design
Pattern will apply the rule based decision making mechanism to determine a correct
reconfiguration plan. This design pattern will separate the decision-making logic
from the functional logic of the Application. In our proposed pattern we will use this
pattern to provide the perfect suitable plan to implement the customer requested
service.
9. International Journal on Web Service Computing (IJWSC), Vol.3, No.3, September 2012
57
Figure 3: Applying Design Pattern for the peer-to-peer computing System.
4.9. Role of our design pattern in Autonomic computing system
Worker Object Pattern [14]: The worker object pattern is an instance of a class that
encapsulates a worker method. A worker object can be passed around, stored, and invoked. The
worker object pattern offers a new opportunity to deal with otherwise complex problems. It will
provide the server with the facility to handle the service request form different clients in a
separate per client connection. We may use this pattern in different situations like, implementing
10. International Journal on Web Service Computing (IJWSC), Vol.3, No.3, September 2012
58
thread safety in swing applications and improving the responsiveness of the UI applications to
performing authorization and transaction management.
Strategy Design Pattern [6] [8] [11]: This pattern can be used to define a family of algorithms,
encapsulate each one, and make them interchangeable. Strategy lets the algorithm vary
independently from the clients that use it.}
Checklisting Design Pattern [5]: The Checklisting pattern provides means for maintaining a
(usually ordered) list of services (usually running on different peers) an application has to interact
with, considering arbitrary constraints. This problem typically arises in mobile scenarios where a
task is accomplished by the collaboration of multiple peers.
Figure 4: Sequence Diagram for the proposed Design Pattern.
5. COMPOSITION OF WEB SERVICES WITH SERVICE ORIENTED
ARCHITECTURE (SOA)
Composition of web services is the most important technique that the developers are now a day's
most interested in providing the web services with. So in order to achieve the composition in our
paper we are adopting to the Service Oriented Architecture (SOA). SOA provides composition of
the services provided by the different servers to fulfill the complex service requests of the clients.
11. International Journal on Web Service Computing (IJWSC), Vol.3, No.3, September 2012
59
We can use the either Java or .Net platform to develop the SOA with web services. Even if you
use any one of them it's the web services that make the SOA compatible with the composition of
the services in any platform. When using the web services, interface definitions are provided
using the WSDL. Each service at the server is associated with a WSDL document. WSDL is
expressed using XML. It defines the input and output parameters of a Web service in terms of
XML Schema. So with the help of the Simple Object Access Protocol (SOAP) is used as XML-
based protocol for exchanging information in a distributed environment. SOAP provides a
common message format for exchanging data between clients and services. The SOAP messages
can be exchanged with the help of HTTP GET, POST, PUT requests. The HTTP GET is used to
request the WSDL messages. The HTTP POST used for the service request/ response.
Figure 5: Profiling data for the Checklist pattern with AOP and Without AOP
6. PROFILING RESULTS
In order to understand the proposal in our paper let’s look at an example application with SOA
see Figure 2. Here initially the client system will request for the WSDL from all the service
providing servers, when the client request for a complex task that need to be fulfilled by more
than two service combinations. Then here as the client request for the Router, Printer and PC, but
the three items are of different brands so the service providing peer server can only give the
services related to different Brands of PCs, it have to contact another neighboring
ServiceProvidingPeer2 server that provides the service (in our example Printer Brand) that is not
available at the current requested server. At the same time to get the service of purchasing the
router item requested by the same client the same peer1 server have to take the help of
ServiceProvidingPeer3. Like this by the help of the other two peer systems (peer2 and peer3) the
peer1 have successfully gathered the information related to the stock details and the delivery
dates of the items ordered. So the ServiceProvidingPeer1 will gather all this information from the
other service providing peer and give response to the client as if it is providing the three services
at a time. So the composition of all the services is transparent to the PeerClient system. With the
help of Web Services we can easily construct SOA.
12. International Journal on Web Service Computing (IJWSC), Vol.3, No.3, September 2012
60
Figure 6: The Heap Memory usage after applying Aspect-Oriented Programming Techniques for
implementing checklist with SOA.
Figure 7: The Heap Memory usage after applying Object Oriented implementation of checklist design
pattern with socket programming.
Figure 8: The CPU usage time after applying Aspect-Oriented Programming Techniques for implementing
checklist with SOA.
13. International Journal on Web Service Computing (IJWSC), Vol.3, No.3, September 2012
61
Figure 9: The CPU usage time after applying Object Oriented implementation of checklist design pattern
with socket programming
The Composition of services at the service providers can be realized with the help of this
proposed structure of composing the web services with SOA see Figure 2.
The view of our proposed design pattern for the unstructured peer-to-peer computing System can
be seen in the form of a class diagram see Figure 3.
The flow of control in the unstructured peer-to-peer computing System can be shown with a
sequence diagram in Figure 4.
We are presenting the profiling results taken for ten runs without applying this pattern and after
applying this pattern using the profiling facility available in the Netbeans IDE. The graph is
plotted taking the time of execution in milliseconds on Y-axis and the run count on the X-axis.
The graph has shown good results while executing the code with patterns and is shown in Figure
5.This can confirm the efficiency of the proposed pattern.
6.1. Simulation Results after applying our Checklist oriented pattern
In our implementation we can evaluate the effectiveness of our implemented case-study with
SOA. In order to make our proposal clear we have successfully developed some critical parts of
our system i.e., implementation of checklist pattern integrated with SOA with the help of Aspect-
Oriented Programming (AOP) and new service injection as a Feature with the help of Feature-
Oriented Programming (FOP), and at the same time we have implemented the same pattern with
Object-Oriented programming with pure socket programming.
The simulation results for the code developed to prove the benefits of Aspect Oriented
Programming features are collected with respect to:
• Used Heap memory
• Process CPU Time
14. International Journal on Web Service Computing (IJWSC), Vol.3, No.3, September 2012
62
6.2. Discussion
From the Figure 6 and Figure 7 we can evaluate that the amount of Heap Memory used by
applying Object Oriented Programming to Checklist pattern integrated with socket programming
is 50,393 Kbytes and where as for the amount of Heap Memory used with AOP based Checklist
pattern along with SOA is 21,302 Kbytes. It’s clear that the application developed using Aspect-
Oriented Programming along with SOA takes less heap memory when compared to
implementation with respect to Object Oriented checklist design pattern.
From the Figures 8 and Figure 9 we can evaluate that the amount of CPU Time used with AOP
based Checklist pattern along with SOA is 6.450sec and where as for the amount of CPU Time
used by applying Object Oriented Programming to Checklist pattern integrated with socket
programming is 12.392 sec. It’s clear that the application developed using Aspect-Oriented
Programming takes less CPU Time when compared to implementation with respect to OOP based
checklist design pattern.
7. CONCLUSION AND FUTURE WORK
In this paper we have proposed a pattern to facilitate the ease of developing unstructured peer-to-
peer computing systems. So with the help of our proposed design pattern named Service Injection
Design pattern for unstructured peer-to-peer systems, provide services to clients with the help of
Aspect-Oriented design patterns. So with this pattern we can handle the service-request of the
clients and inject the new services into peer's code as feature modules. Several future directions of
work are possible. We are examining how these design patterns can be inserted into a middleware
technology , so that we can provide the Autonomic properties inside the middleware technologies
like JXTA with the help of Features-Oriented and Aspect-Oriented programming methods.
8. REFERENCES
[1] Apel, S. Leich, T. Saake, G. (2008) `Aspectual Feature Modules', IEEE Transactions on Software
Engineering, Vol. 34, No. 2, pp.162--180.
[2] Dobson, S., Sterritt, R., Nixon, P., Hinchey, M. (2010) `Fulfilling the Vision of Autonomic Computing',
IEEE Computer Society, Vol. 43, No. 1 pp.35--41.
[3] Don Batory, Jacob Neal Sarvela, Axel Rauschmayer (2004) `Scaling Step-Wise Refinement', IEEE
Transactions on Software Engineering, Vol. 30, No. 6, pp.187--197.
[4] Demian Antony, D'Mello, Ananthanarayana, V. S., Salian, Supriya (2011) `A Review of Dynamic Web
Service Composition Techniques', Communications in Computer and Information Science, Springer Berlin
Heidelberg, Vol. 133, pp.85--97.
[5] Ferscha, A., Hechinger, M., Mayrhofer, R., Chtcherbina, E., Franz, M., dos Santos Rocha, M., Zeidler, A.
(2005) `Bridging the gap with P2P patterns', Proceedings of the Workshop on Smart Object Systems,
Ubiquitous Computing (UbiComp 2005).
[6] Gamma, E., Helm, R., Johnson, R., Vlissides, J (1995) `Design Patterns: Elements of Reusable Object-
Oriented Software', Addison-Wesley.
[7] Hannemann, Jan and Kiczales, Gregor (2002) `Design pattern implementation in Java and aspectJ',
Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages,
and applications, Vol. 37, No. 11, pp.161--173.
[8] James W. Cooper (2007) `Java Design Patterns, A Tutorial', Pearson Education, Inc.
[9] Mark D. Hansen (2007) `SOA Using Java Web Services', Pearson Education, Inc.
[10] Martin Kuhlemann, Marko Rosenmuller, Sven Apel, Thomas Leich (2007) `On the duality of aspect-
oriented and feature-oriented design patterns', Proceedings of the 6th workshop on Aspects, components,
and patterns for infrastructure software, ACM, ACP4IS '07, New York, NY, USA.
[11] Olivier Aubert, Antoine Beugnard, June 25, (2001) `Adaptive Strategy Design Pattern', d'Informatique des
Telecommunications, ENST Bretagne, France.
[12] Prasad Vasireddy, V.S., Vishnuvardhan, M., Ramesh, T. (2011) `A Novel Autonomic Design Pattern for
Invocation OF Services', Communications in Computer and Information Science, Springer-Verlag Berlin
Heidelberg, Vol. 196, Part. 2, pp.545--551.
15. International Journal on Web Service Computing (IJWSC), Vol.3, No.3, September 2012
63
[13] Ramirez, Andres J. and Cheng, Betty H. C. (2010) `Design patterns for developing dynamically adaptive
systems', Proceedings of the 2010 ICSE Workshop on Software Engineering for Adaptive and Self-
Managing Systems, ACM, SEAMS '10, New York, NY, USA, pp.49--58.
[14] Ramnivas Laddad (2010) `AspectJ in Action 2nd Edition', Chapter 12, Manning.
[15] Sun MicroSystems(2007),`JXTA Java Standard Edition v2.5: Programmers Guide' 2002-2007 Sun
Microsystems, Inc.
[16] Tarr, Peri., Ossher, Harold., Harrison, William., Sutton,Jr., Stanley M. (1999) `N degrees of separation:
multi-dimensional separation of concerns', Proceedings of the 21st international conference on Software
engineering, ACM, ICSE '99, New York, NY, USA, pp.107--119.
[17] Vishnuvardhan, M., Ramesh, T. (2012) `An Aspectual Feature Module Based Adaptive Design Pattern for
Autonomic Computing Systems', Intelligent Information and Database Systems - 4th Asian Conference,
ACIIDS 2012, Proceedings, Part III, Springer, Lecture Notes in Computer Science, Vol. 7198/2012,
pp.130--140.
[18] Vishnuvardhan, M., Ramesh, T. (2012) `A Service Administration Design Pattern for Dynamically
Configuring Communication Services in Autonomic Computing Systems', Intelligent Information and
Database Systems - 4th Asian Conference, ACIIDS 2012,Proceedings, Part I, Springer, Lecture Notes in
Computer Science, Vol. 7196/2012, pp.53--63.
[19] Vishnuvardhan, M., Ramesh, T. (2012) `A novel adaptive re-configuration compliance design pattern for
autonomic computing systems', Procedia Engineering, International Conference on Communication
Technology and System Design 2011, Vol. 30, pp.1129-1137.
A. INTERFACES DEFINITION FOR THE PATTERN ENTITIES
Some of the Interfaces for the classes are provided as below:
Service Providing Peer
Public class Service Providing Peer{
Public Socket Server(){
}
Public static Pipe Advertisement create Socket Advertisement(){
}
Public void run(){
}
}
Connection Handler:
private class ConnectionHandler implements Runnable
{
Socket socket = null;
Public ConnectionHandler(){
}
private void sendAndReceiveData(Socket socket) {
}
Run(){
}}
Aspect Worker Object
Public Aspect Worker Object{
Public pointcut workeroper():execution(. . )||execution(. .);
Void around(): workeroper(){
Runnable worker=new Runnable(){
}
}
}
ServiceRepository
Public class ServiceRepository{
Public DataBaseofServices(){
}
}