Abstract The wide diffusion of reliable Internet is pushing two key novelties in the conception o... more Abstract The wide diffusion of reliable Internet is pushing two key novelties in the conception of modern software applications: the software as a service paradigm and the idea of the Internet of Things. Traditionally, services and things have been considered as separate entities, even addressing different needs and application domains.
Abstract: Web service compositions have become an important element for the service-oriented ente... more Abstract: Web service compositions have become an important element for the service-oriented enterprise. Because of the increasing number of available web services and the dynamic nature of the composition process, it is already beyond human ability to generate the composition plans manually. An alternate method of performing the composition process is therefore required. Various AI planning techniques are available for planning and processing composition.
Service Oriented Computing, at its first stage, relied on the very simple and essential Service O... more Service Oriented Computing, at its first stage, relied on the very simple and essential Service Oriented Architecture in which three main actors, namely service provider, service user, and service directory, are the only ones involved. In the meanwhile, several works have been proposed in order to validate and to extend the Service Oriented Architecture. In particular, such extensions can be summerized as proposed in [?], where issues as composition, conversation, monitoring, and management are considered as well.
At a high level of abstraction, the VHDL specification of the functionalities that a circuit can ... more At a high level of abstraction, the VHDL specification of the functionalities that a circuit can perform is given by defining the behavioral model. Similarity with procedural programming languages is suggested to tailor some software analysis techniques to VHDL behavioral description analysis. The aim is to retrieve information on the final circuit from its specifications. This paper presents several analyses of the code aimed at identifying significant properties of the final circuit from the synthesis and testability points of view.
This paper summarizes the work carried out by the authors during the last years. It proposes an a... more This paper summarizes the work carried out by the authors during the last years. It proposes an approach for defining extensible and flexible formal interpreters for diagram notations based on high-level timed Petri nets. The approach defines interpreters by means of two sets of rules.
Abstract—This paper presents the Green Move project, which is currently ongoing at Politecnico di... more Abstract—This paper presents the Green Move project, which is currently ongoing at Politecnico di Milano. The goal of Green Move is to create an innovative vehicle sharing system, based on electric vehicles, which can easily be accessed by users with little required infrastructure and few intermediaries. The paper provides an overview of the project, briefly describes the architecture of the system under development, and outlines the next steps in this research.
Abstract Simulation provides a flexible and cost-effective way to assess system design, configura... more Abstract Simulation provides a flexible and cost-effective way to assess system design, configuration and control strategies in many domains. Currently, the impact of simulation is less than what one could expect because of (1) the difficulties that arise in integrating different simulators and (2) the lack of an integrated design environment that could allow one to design simulations while designing a system. This paper addresses the second problem by presenting the work done in the ESPRIT ASIA project.
Software engineers usually represent problems and solutions using graph-based notations at differ... more Software engineers usually represent problems and solutions using graph-based notations at different levels of abstractions. These notations are often semi-formal, but the use of graph transformation techniques can support reasoning about graphs in many ways, and thus can largely enhance them. Recent work indicates many applications of graph transformation to software engineering and opens new research directions.
Ancor oggi, nella pratica industriale si preferiscono notazioni di specifica–principalmente grafi... more Ancor oggi, nella pratica industriale si preferiscono notazioni di specifica–principalmente grafiche–informali o semi-formali, ad esempio i vari “dialetti” ed estensioni dell'analisi strutturata [54, 93, 164] OMT [143], Booch [27], SDL [68], ecc.. L'uso di metodi formali ([41])e, tuttora, limitato e circoscritto a progetti particolari ([80, 7, 56, 96, 51]), visti spesso come “dimostrazioni” dell'applicabilita delle metodologie proposte e dei benefici fruibili.
In this paper, we use UML Interaction Overview Diagrams as the basis for a user-friendly, intuiti... more In this paper, we use UML Interaction Overview Diagrams as the basis for a user-friendly, intuitive, modeling notation that is well-suited for the design of complex, heterogeneous, embedded systems developed by domain experts with little background on modeling software-based systems. To allow designers to precisely analyze models written with this notation, we provide (part of) it with a formal semantics based on temporal logic, upon which a fully automated, tool supported, verification technique is built.
ABSTRACT This chapter presents a first attempt to realize a methodological framework supporting t... more ABSTRACT This chapter presents a first attempt to realize a methodological framework supporting the most relevant phases of the design of a value-added service. A value-added service is defined as a functionality of an adaptive and multichannel information system obtained by composing services offered by different providers. The framework has been developed as part of the multichannel adaptive information systems (MAIS) project.
Requirements elicitation is an important phase of the software life-cycle, since it helps to redu... more Requirements elicitation is an important phase of the software life-cycle, since it helps to reduce the software development time and costs. Unfortunately, existing tools for software design are mainly focused on building a “solution”(ie, the software system), and neglect the elicitation and analysis of the stakeholders' requirements. Besides, systems are constantly required to adapt to cope with the variability of the environment in which they operate.
Abstract This paper proposes an approach for the specification of the behavior of software compon... more Abstract This paper proposes an approach for the specification of the behavior of software components that implement data abstractions. By generalizing the approach of behavior models using graph transformation, we provide a concise specification for data abstractions that describes the relationship between the internal state, represented in a canonical form, and the observers of the component. Graph transformation also supports the generation of behavior models that are amenable to verification.
ABSTRACT This tutorial introduces self-healing web services as a solution to cope with the dynami... more ABSTRACT This tutorial introduces self-healing web services as a solution to cope with the dynamism and flexibility required by many modern software systems. Current technologies (WSDL, WS-BPEL, etc.) have proven insufficient in addressing these issues; however, they remain a good starting point for the analysis of the current situation and for building for the future.
These features will enable a wide range of new activities that are simply not possible or impract... more These features will enable a wide range of new activities that are simply not possible or impractical now. However, the achievement of such capabilities requires a deep rethinking of the current way of developing and deploying distributed systems and applications. In this direction, a promising approach consists in conceiving services as part of an “ecology” through which they can prosper and thrive at the service of users.
Page 1. 1 Service-Centric Systems and Requirements Engineering Luciano Baresi, Neil Maiden, Peter... more Page 1. 1 Service-Centric Systems and Requirements Engineering Luciano Baresi, Neil Maiden, Peter Sawyer Politecnico di Milano, City University London, Lancaster University Why? ❑ Different communities • Requirements engineering • Service-centric computing • Little communication, let alone collaboration ❑ Shared concepts • Requirements monitoring, quality-of-service, service discovery queries ❑ But missed research and practice opportunities ❑ The SeCSE project Page 2.
This paper proposes a methodology to analyze graph transformation systems by means of Alloy and i... more This paper proposes a methodology to analyze graph transformation systems by means of Alloy and its supporting tools. Alloy is a simple structural modeling language, based on first-order logic, that allows the user to produce models of software systems by abstracting their key characteristics. The tools can generate instances of invariants, and check properties of models, on user-constrained representations of the world under analysis.
Abstract The increasing diffusion of ubiquitous communication infrastructures and physical active... more Abstract The increasing diffusion of ubiquitous communication infrastructures and physical active objects-like sensors and smart tags-is motivating the integration of these devices into advanced distributed systems. The novelty of these technologies has imposed a" code and fix" approach; only a few methodologies have been developed to address the integration of heterogeneous technologies to provide the user with sophisticated and flexible abstractions of real world objects.
As a basic introduction to graph transformation, this tutorial is not only intended for software ... more As a basic introduction to graph transformation, this tutorial is not only intended for software engineers. But applications typical to this domain, like the modeling of component-based, distributed, and mobile systems, model-based testing, and diagram languages provide well-known examples and are therefore used to give a survey of the motivations, concepts, applications, and tools of graph transformation.
Abstract The wide diffusion of reliable Internet is pushing two key novelties in the conception o... more Abstract The wide diffusion of reliable Internet is pushing two key novelties in the conception of modern software applications: the software as a service paradigm and the idea of the Internet of Things. Traditionally, services and things have been considered as separate entities, even addressing different needs and application domains.
Abstract: Web service compositions have become an important element for the service-oriented ente... more Abstract: Web service compositions have become an important element for the service-oriented enterprise. Because of the increasing number of available web services and the dynamic nature of the composition process, it is already beyond human ability to generate the composition plans manually. An alternate method of performing the composition process is therefore required. Various AI planning techniques are available for planning and processing composition.
Service Oriented Computing, at its first stage, relied on the very simple and essential Service O... more Service Oriented Computing, at its first stage, relied on the very simple and essential Service Oriented Architecture in which three main actors, namely service provider, service user, and service directory, are the only ones involved. In the meanwhile, several works have been proposed in order to validate and to extend the Service Oriented Architecture. In particular, such extensions can be summerized as proposed in [?], where issues as composition, conversation, monitoring, and management are considered as well.
At a high level of abstraction, the VHDL specification of the functionalities that a circuit can ... more At a high level of abstraction, the VHDL specification of the functionalities that a circuit can perform is given by defining the behavioral model. Similarity with procedural programming languages is suggested to tailor some software analysis techniques to VHDL behavioral description analysis. The aim is to retrieve information on the final circuit from its specifications. This paper presents several analyses of the code aimed at identifying significant properties of the final circuit from the synthesis and testability points of view.
This paper summarizes the work carried out by the authors during the last years. It proposes an a... more This paper summarizes the work carried out by the authors during the last years. It proposes an approach for defining extensible and flexible formal interpreters for diagram notations based on high-level timed Petri nets. The approach defines interpreters by means of two sets of rules.
Abstract—This paper presents the Green Move project, which is currently ongoing at Politecnico di... more Abstract—This paper presents the Green Move project, which is currently ongoing at Politecnico di Milano. The goal of Green Move is to create an innovative vehicle sharing system, based on electric vehicles, which can easily be accessed by users with little required infrastructure and few intermediaries. The paper provides an overview of the project, briefly describes the architecture of the system under development, and outlines the next steps in this research.
Abstract Simulation provides a flexible and cost-effective way to assess system design, configura... more Abstract Simulation provides a flexible and cost-effective way to assess system design, configuration and control strategies in many domains. Currently, the impact of simulation is less than what one could expect because of (1) the difficulties that arise in integrating different simulators and (2) the lack of an integrated design environment that could allow one to design simulations while designing a system. This paper addresses the second problem by presenting the work done in the ESPRIT ASIA project.
Software engineers usually represent problems and solutions using graph-based notations at differ... more Software engineers usually represent problems and solutions using graph-based notations at different levels of abstractions. These notations are often semi-formal, but the use of graph transformation techniques can support reasoning about graphs in many ways, and thus can largely enhance them. Recent work indicates many applications of graph transformation to software engineering and opens new research directions.
Ancor oggi, nella pratica industriale si preferiscono notazioni di specifica–principalmente grafi... more Ancor oggi, nella pratica industriale si preferiscono notazioni di specifica–principalmente grafiche–informali o semi-formali, ad esempio i vari “dialetti” ed estensioni dell'analisi strutturata [54, 93, 164] OMT [143], Booch [27], SDL [68], ecc.. L'uso di metodi formali ([41])e, tuttora, limitato e circoscritto a progetti particolari ([80, 7, 56, 96, 51]), visti spesso come “dimostrazioni” dell'applicabilita delle metodologie proposte e dei benefici fruibili.
In this paper, we use UML Interaction Overview Diagrams as the basis for a user-friendly, intuiti... more In this paper, we use UML Interaction Overview Diagrams as the basis for a user-friendly, intuitive, modeling notation that is well-suited for the design of complex, heterogeneous, embedded systems developed by domain experts with little background on modeling software-based systems. To allow designers to precisely analyze models written with this notation, we provide (part of) it with a formal semantics based on temporal logic, upon which a fully automated, tool supported, verification technique is built.
ABSTRACT This chapter presents a first attempt to realize a methodological framework supporting t... more ABSTRACT This chapter presents a first attempt to realize a methodological framework supporting the most relevant phases of the design of a value-added service. A value-added service is defined as a functionality of an adaptive and multichannel information system obtained by composing services offered by different providers. The framework has been developed as part of the multichannel adaptive information systems (MAIS) project.
Requirements elicitation is an important phase of the software life-cycle, since it helps to redu... more Requirements elicitation is an important phase of the software life-cycle, since it helps to reduce the software development time and costs. Unfortunately, existing tools for software design are mainly focused on building a “solution”(ie, the software system), and neglect the elicitation and analysis of the stakeholders' requirements. Besides, systems are constantly required to adapt to cope with the variability of the environment in which they operate.
Abstract This paper proposes an approach for the specification of the behavior of software compon... more Abstract This paper proposes an approach for the specification of the behavior of software components that implement data abstractions. By generalizing the approach of behavior models using graph transformation, we provide a concise specification for data abstractions that describes the relationship between the internal state, represented in a canonical form, and the observers of the component. Graph transformation also supports the generation of behavior models that are amenable to verification.
ABSTRACT This tutorial introduces self-healing web services as a solution to cope with the dynami... more ABSTRACT This tutorial introduces self-healing web services as a solution to cope with the dynamism and flexibility required by many modern software systems. Current technologies (WSDL, WS-BPEL, etc.) have proven insufficient in addressing these issues; however, they remain a good starting point for the analysis of the current situation and for building for the future.
These features will enable a wide range of new activities that are simply not possible or impract... more These features will enable a wide range of new activities that are simply not possible or impractical now. However, the achievement of such capabilities requires a deep rethinking of the current way of developing and deploying distributed systems and applications. In this direction, a promising approach consists in conceiving services as part of an “ecology” through which they can prosper and thrive at the service of users.
Page 1. 1 Service-Centric Systems and Requirements Engineering Luciano Baresi, Neil Maiden, Peter... more Page 1. 1 Service-Centric Systems and Requirements Engineering Luciano Baresi, Neil Maiden, Peter Sawyer Politecnico di Milano, City University London, Lancaster University Why? ❑ Different communities • Requirements engineering • Service-centric computing • Little communication, let alone collaboration ❑ Shared concepts • Requirements monitoring, quality-of-service, service discovery queries ❑ But missed research and practice opportunities ❑ The SeCSE project Page 2.
This paper proposes a methodology to analyze graph transformation systems by means of Alloy and i... more This paper proposes a methodology to analyze graph transformation systems by means of Alloy and its supporting tools. Alloy is a simple structural modeling language, based on first-order logic, that allows the user to produce models of software systems by abstracting their key characteristics. The tools can generate instances of invariants, and check properties of models, on user-constrained representations of the world under analysis.
Abstract The increasing diffusion of ubiquitous communication infrastructures and physical active... more Abstract The increasing diffusion of ubiquitous communication infrastructures and physical active objects-like sensors and smart tags-is motivating the integration of these devices into advanced distributed systems. The novelty of these technologies has imposed a" code and fix" approach; only a few methodologies have been developed to address the integration of heterogeneous technologies to provide the user with sophisticated and flexible abstractions of real world objects.
As a basic introduction to graph transformation, this tutorial is not only intended for software ... more As a basic introduction to graph transformation, this tutorial is not only intended for software engineers. But applications typical to this domain, like the modeling of component-based, distributed, and mobile systems, model-based testing, and diagram languages provide well-known examples and are therefore used to give a survey of the motivations, concepts, applications, and tools of graph transformation.
Uploads
Papers by Luciano Baresi