7 resultados para service composition testing

em Universidad Politécnica de Madrid


Relevância:

90.00% 90.00%

Publicador:

Resumo:

Several activities in service oriented computing, such as automatic composition, monitoring, and adaptation, can benefit from knowing properties of a given service composition before executing them. Among these properties we will focus on those related to execution cost and resource usage, in a wide sense, as they can be linked to QoS characteristics. In order to attain more accuracy, we formulate execution costs / resource usage as functions on input data (or appropriate abstractions thereof) and show how these functions can be used to make better, more informed decisions when performing composition, adaptation, and proactive monitoring. We present an approach to, on one hand, synthesizing these functions in an automatic fashion from the definition of the different orchestrations taking part in a system and, on the other hand, to effectively using them to reduce the overall costs of non-trivial service-based systems featuring sensitivity to data and possibility of failure. We validate our approach by means of simulations of scenarios needing runtime selection of services and adaptation due to service failure. A number of rebinding strategies, including the use of cost functions, are compared.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

Service compositions put together loosely-coupled component services to perform more complex, higher level, or cross-organizational tasks in a platform-independent manner. Quality-of-Service (QoS) properties, such as execution time, availability, or cost, are critical for their usability, and permissible boundaries for their values are defined in Service Level Agreements (SLAs). We propose a method whereby constraints that model SLA conformance and violation are derived at any given point of the execution of a service composition. These constraints are generated using the structure of the composition and properties of the component services, which can be either known or empirically measured. Violation of these constraints means that the corresponding scenario is unfeasible, while satisfaction gives values for the constrained variables (start / end times for activities, or number of loop iterations) which make the scenario possible. These results can be used to perform optimized service matching or trigger preventive adaptation or healing.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

La computación basada en servicios (Service-Oriented Computing, SOC) se estableció como un paradigma ampliamente aceptado para el desarollo de sistemas de software flexibles, distribuidos y adaptables, donde las composiciones de los servicios realizan las tareas más complejas o de nivel más alto, frecuentemente tareas inter-organizativas usando los servicios atómicos u otras composiciones de servicios. En tales sistemas, las propriedades de la calidad de servicio (Quality of Service, QoS), como la rapídez de procesamiento, coste, disponibilidad o seguridad, son críticas para la usabilidad de los servicios o sus composiciones en cualquier aplicación concreta. El análisis de estas propriedades se puede realizarse de una forma más precisa y rica en información si se utilizan las técnicas de análisis de programas, como el análisis de complejidad o de compartición de datos, que son capables de analizar simultáneamente tanto las estructuras de control como las de datos, dependencias y operaciones en una composición. El análisis de coste computacional para la composicion de servicios puede ayudar a una monitorización predictiva así como a una adaptación proactiva a través de una inferencia automática de coste computacional, usando los limites altos y bajos como funciones del valor o del tamaño de los mensajes de entrada. Tales funciones de coste se pueden usar para adaptación en la forma de selección de los candidatos entre los servicios que minimizan el coste total de la composición, basado en los datos reales que se pasan al servicio. Las funciones de coste también pueden ser combinadas con los parámetros extraídos empíricamente desde la infraestructura, para producir las funciones de los límites de QoS sobre los datos de entrada, cuales se pueden usar para previsar, en el momento de invocación, las violaciones de los compromisos al nivel de servicios (Service Level Agreements, SLA) potenciales or inminentes. En las composiciones críticas, una previsión continua de QoS bastante eficaz y precisa se puede basar en el modelado con restricciones de QoS desde la estructura de la composition, datos empiricos en tiempo de ejecución y (cuando estén disponibles) los resultados del análisis de complejidad. Este enfoque se puede aplicar a las orquestaciones de servicios con un control centralizado del flujo, así como a las coreografías con participantes multiples, siguiendo unas interacciones complejas que modifican su estado. El análisis del compartición de datos puede servir de apoyo para acciones de adaptación, como la paralelización, fragmentación y selección de los componentes, las cuales son basadas en dependencias funcionales y en el contenido de información en los mensajes, datos internos y las actividades de la composición, cuando se usan construcciones de control complejas, como bucles, bifurcaciones y flujos anidados. Tanto las dependencias funcionales como el contenido de información (descrito a través de algunos atributos definidos por el usuario) se pueden expresar usando una representación basada en la lógica de primer orden (claúsulas de Horn), y los resultados del análisis se pueden interpretar como modelos conceptuales basados en retículos. ABSTRACT Service-Oriented Computing (SOC) is a widely accepted paradigm for development of flexible, distributed and adaptable software systems, in which service compositions perform more complex, higher-level, often cross-organizational tasks using atomic services or other service compositions. In such systems, Quality of Service (QoS) properties, such as the performance, cost, availability or security, are critical for the usability of services and their compositions in concrete applications. Analysis of these properties can become more precise and richer in information, if it employs program analysis techniques, such as the complexity and sharing analyses, which are able to simultaneously take into account both the control and the data structures, dependencies, and operations in a composition. Computation cost analysis for service composition can support predictive monitoring and proactive adaptation by automatically inferring computation cost using the upper and lower bound functions of value or size of input messages. These cost functions can be used for adaptation by selecting service candidates that minimize total cost of the composition, based on the actual data that is passed to them. The cost functions can also be combined with the empirically collected infrastructural parameters to produce QoS bounds functions of input data that can be used to predict potential or imminent Service Level Agreement (SLA) violations at the moment of invocation. In mission-critical applications, an effective and accurate continuous QoS prediction, based on continuations, can be achieved by constraint modeling of composition QoS based on its structure, known data at runtime, and (when available) the results of complexity analysis. This approach can be applied to service orchestrations with centralized flow control, and choreographies with multiple participants with complex stateful interactions. Sharing analysis can support adaptation actions, such as parallelization, fragmentation, and component selection, which are based on functional dependencies and information content of the composition messages, internal data, and activities, in presence of complex control constructs, such as loops, branches, and sub-workflows. Both the functional dependencies and the information content (described using user-defined attributes) can be expressed using a first-order logic (Horn clause) representation, and the analysis results can be interpreted as a lattice-based conceptual models.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

Data-related properties of the activities involved in a service composition can be used to facilitate several design-time and run-time adaptation tasks, such as service evolution, distributed enactment, and instance-level adaptation. A number of these properties can be expressed using a notion of sharing. We present an approach for automated inference of data properties based on sharing analysis, which is able to handle service compositions with complex control structures, involving loops and sub-workflows. The properties inferred can include data dependencies, information content, domain-defined attributes, privacy or confidentiality levels, among others. The analysis produces characterizations of the data and the activities in the composition in terms of minimal and maximal sharing, which can then be used to verify compliance of potential adaptation actions, or as supporting information in their generation. This sharing analysis approach can be used both at design time and at run time. In the latter case, the results of analysis can be refined using the composition traces (execution logs) at the point of execution, in order to support run-time adaptation.

Relevância:

80.00% 80.00%

Publicador:

Resumo:

El aumento de las capacidades de interconexión de dispositivos de todo tipo está suponiendo una revolución en el campo de la prestación de servicios, tanto en la cantidad como en la variedad. Esta evolución ha puesto de manifiesto la necesidad de abordar un desarrollo tecnológico sin precedentes, donde la previsión de dispositivos interconectados e interoperando entre sí y con las personas alcanza cifras del orden de los millardos. Esta idea de un mundo de cosas interconectadas ha dado lugar a una visión que se ha dado en llamar Internet de las Cosas. Un mundo donde las cosas de cualquier tipo pueden interactuar con otras cosas, incluyendo las que forman parte de redes con recurso limitados. Y esto además conduce a la creación de servicios compuestos que superan a la suma de las partes. Además de la relevancia tecnológica, esta nueva visión enlaza con la de la Ciudad del Futuro. Un concepto que recurre a la convergencia de la energía, el transporte y las tecnologías de la información y las comunicaciones para definir una forma mediante la que lograr el crecimiento sostenible y competitivo, mejorando así la calidad de vida y abriendo el gobierno de las ciudades a la participación ciudadana. En la línea de desarrollo que permite avanzar hacia la consecución de tales objetivos, este Proyecto Fin de Carrera propone una forma de virtualizar los servicios ofrecidos por la diversidad de dispositivos que van adquiriendo la capacidad de interoperar en una red. Para ello se apoya en el uso de una capa de intermediación orientada a servicios, nSOM, desarrollada en la EUITT. Sobre esta arquitectura se proponen como objetivos el diseño y desarrollo de una pasarela de servicios que haga accesibles desde la web los recursos ofrecidos en una red de sensores; el diseño y desarrollo de un registro de dispositivos y servicios en concordancia a la propuesta de arquitectura de referencia para Internet de las Cosas; y el estudio y diseño de un marco para la composición de servicios orquestados en redes de recursos limitados. Para alcanzar estos objetivos primero se abordará un estudio del estado del arte donde se profundizará en el conocimiento de la las tecnologías para la interoperatividad entre cosas, abordando los principios de las redes inalámbricas de sensores y actuadores, las arquitecturas para las comunicaciones Máquina a Máquina e Internet de las Cosas, y la visión de la Web de las Cosas. Seguidamente se tratarán las tecnologías de red y de servicios de interés, para finalizar con un breve repaso a las tecnologías para la composición de servicios. Le seguirá una descripción detallada de la arquitectura nSOM y del diseño propuesto para este proyecto. Finalmente se propondrá un escenario sobre el que se llevarán a cabo diferentes pruebas de validación. ABSTRACT. The increasing of the capabilities of all kind of devices is causing a revolution in the field of the provision of services, both in quantity and in diversity. This situation has highlighted the need to address unprecedented technological development, where the forecast of interconnected and interoperable devices between them and human beings reaches the order of billions. And these numbers go further when the connectivity of constrained networks is taken into account. This idea of an interconnected world of things has led to a vision that has been called "The Internet of Things". It’s a vision of a world where things of any kind can interact with other things, even those in the domain of a constrained network. This also leads to the creation of new composed services that exceed the sum of the parts. Besides the technological interest, this new vision relates with the one from the Smart City. A concept that uses the convergence of the energy, the transport, and the information and communication technologies to define a way to achieve sustainable and competitive growth, improving the quality of life, and opening the governance of the cities to the participation. In the development pathway to reach these goals, this Final Degree Dissertation proposes a way for the virtualization of the services offered by the variety of devices that are reaching the ability to interoperate in a network. For this it is supported by a service oriented middleware called nSOM that has been developed at EUITT. Using this architecture the goals proposed for this project are the design and development of a service gateway that makes available the resources of a sensor network through a web interface; the design and development of a Device & Service Registry according to the reference architecture proposal for the Internet of Things; and the study and design of a composition framework for orchestrated services in constrained networks. To achieve these goals this dissertation begins with a State of the Art study where the background knowledge about the technologies in use for the interoperation of things will be settled. At first it starts talking about Wireless Sensor and Actuator Networks, the architectures for Machine-to-Machine communication and Internet of Things, and also the concepts for the Web of Things vision. Next the related network and services technologies are explored, ending with a brief review of service composition technologies. Then will follow a detailed description of the nSOM architecture, and also of the proposed design for this project. Finally a scenario will be proposed where a series of validation tests will be conducted.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

The concept of service oriented architecture has been extensively explored in software engineering, due to the fact that it produces architectures made up of several interconnected modules, easy to reuse when building new systems. This approach to design would be impossible without interconnection mechanisms such as REST (Representationa State Transfer) services, which allow module communication while minimizing coupling. . However, this low coupling brings disadvantages, such as the lack of transparency, which makes it difficult to sistematically create tests without knowledge of the inner working of a system. In this article, we present an automatic error detection system for REST services, based on a statistical analysis over responses produced at multiple service invocations. Thus, a service can be systematically tested without knowing its full specification. The method can find errors in REST services which could not be identified by means of traditional testing methods, and provides limited testing coverage for services whose response format is unknown. It can be also useful as a complement to other testing mechanisms.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

Automated Teller Machines (ATMs) are sensitive self-service systems that require important investments in security and testing. ATM certifications are testing processes for machines that integrate software components from different vendors and are performed before their deployment for public use. This project was originated from the need of optimization of the certification process in an ATM manufacturing company. The process identifies compatibility problems between software components through testing. It is composed by a huge number of manual user tasks that makes the process very expensive and error-prone. Moreover, it is not possible to fully automate the process as it requires human intervention for manipulating ATM peripherals. This project presented important challenges for the development team. First, this is a critical process, as all the ATM operations rely on the software under test. Second, the context of use of ATMs applications is vastly different from ordinary software. Third, ATMs’ useful lifetime is beyond 15 years and both new and old models need to be supported. Fourth, the know-how for efficient testing depends on each specialist and it is not explicitly documented. Fifth, the huge number of tests and their importance implies the need for user efficiency and accuracy. All these factors led us conclude that besides the technical challenges, the usability of the intended software solution was critical for the project success. This business context is the motivation of this Master Thesis project. Our proposal focused in the development process applied. By combining user-centered design (UCD) with agile development we ensured both the high priority of usability and the early mitigation of software development risks caused by all the technology constraints. We performed 23 development iterations and finally we were able to provide a working solution on time according to users’ expectations. The evaluation of the project was carried out through usability tests, where 4 real users participated in different tests in the real context of use. The results were positive, according to different metrics: error rate, efficiency, effectiveness, and user satisfaction. We discuss the problems found, the benefits and the lessons learned in the process. Finally, we measured the expected project benefits by comparing the effort required by the current and the new process (once the new software tool is adopted). The savings corresponded to 40% less effort (man-hours) per certification. Future work includes additional evaluation of product usability in a real scenario (with customers) and the measuring of benefits in terms of quality improvement.