Daniel Yankelevich - Academia.edu (original) (raw)
Papers by Daniel Yankelevich
Journal of Systems and Software, 2009
Page 176. Verification of Concurrent Systems in SML* Paola Inverardi Corrado Priamin Daniel Yanke... more Page 176. Verification of Concurrent Systems in SML* Paola Inverardi Corrado Priamin Daniel Yankelevich IEI-CNR Pisa Univ. Pisa, Dip. Informatica Univ. Pisa, Dip. ... Fundamenta Informaticae, 11 (4): 433-452, 1988. [21 P. Degano, R. De Nicola, and U. Montanari. ...
2017 IEEE/ACM 4th International Workshop on Software Engineering Research and Industrial Practice (SER&IP), 2017
It is a common belief that, if you want to do research in industry, you should follow one of two ... more It is a common belief that, if you want to do research in industry, you should follow one of two ways: you either work for a large corporation, or you work for a startup that will eventually be acquired by one large corporation. In this presentation we address the following question: is it possible and worthwhile to develop meaningful research in an SMB (small and medium-sized business)? In doing so, we will present a case in the context of IoT (Internet of Things).
ArXiv, 2016
In this article we present the results of a data analysis project for a public-transport company.... more In this article we present the results of a data analysis project for a public-transport company. This project encompassed data preparation, analysis and visualization of three years of historical data. The data consisted in ticket purchases and GPS location of the vehicles. This work describes the project from start to end, including the incorporation of the results in the business process.
Fundamenta Informaticae, 1994
Lecture Notes in Computer Science
... Daniel N. Yankelevich Escuela Superior Latino Americana de Informatica Parque Pereira Iraola,... more ... Daniel N. Yankelevich Escuela Superior Latino Americana de Informatica Parque Pereira Iraola, Buenos Aires, Argentina. ... about decentralized control and multiple representations of agents discussed in a recent paper by the first author in collaboration with P. Degano and R ...
: La disciplina de la Ingenier'ia de Software llamada Arquitectura de Software cambia el foco... more : La disciplina de la Ingenier'ia de Software llamada Arquitectura de Software cambia el foco del desarrollo de sistemas de las l'ineas de c'odigo y procedimientos a componentes y sus interacciones. Este cambio de foco es fundamental para poder describir y razonar sobre las aplicaciones, cada vez mas complejas, de hoy en d'ia. Los Lenguajes de Descripci'on de Arquitecturas (ADLs) permiten modelar y verificar arquitecturas y a pesar de que existe una gran cantidad de ADLs, ninguno hace hincapi'e en la integraci'on de las distintas t'ecnicas de verificaci'on existentes. En este trabajo presentamos un formalismo que permite describir y verificar arquitecturas de software combinando dos tipos herramientas. Estas herrmientas, un lenguaje gr'afico basado en diagramas de transici'on de estados y la l'ogico temporal PTLA, se complementan para brindar tanto un formalismo usable como que versatil en cuanto a que permite el uso de m'ultiples ...
Lecture Notes in Computer Science, 2008
I arrived in Italy to join Ugo’s group after getting my MsC degree on December 1989, on a Friday ... more I arrived in Italy to join Ugo’s group after getting my MsC degree on December 1989, on a Friday night, after a 15 hours trip crossing the ocean. Saturday morning, at 7:30, I received a call at the apart hotel where I was staying. Ugo had the theory that it was better to get over jet lags as soon as
Theoretical Computer Science, 1995
Location equivalence has been presented in [S] as a bisimulation-based equivalence able to take i... more Location equivalence has been presented in [S] as a bisimulation-based equivalence able to take into account the spatial distribution of processes. In this work, the parametric approach of [12] is applied to location equivalence. An observation domain for localities is identified and the associated equivalence is shown to coincide with the equivalence introducted in [6,16]. The observation of a computation is a forest (defined up to isomorphism) whose nodes are the events (labeled by observable actions) and where the arcs describe the sublocation relation. We show in the paper that our approach is really parametric. By performing minor changes in the definitions, many equivalences are captured: partial and mixed ordering causal semantics, interleaving, and a variation of location equivalence where the generation ordering is not evidenced. It seems difficult to modify the definitions of [6,16] to obtain the last observation. The equivalence induced by this observation corresponds to the very intuitive assumption that different locations cannot share a common clock, and hence the ordering between events occurring in different places cannot be determined. Thanks to the general results proved in [12] for the parametric approach, all the observation equivalences described in this paper come equipped with sound and complete axiomatizations.
Automata, Languages and Programming, 1992
Location equivalence has been presented in [3] as a bisimulation based equivalence able to take i... more Location equivalence has been presented in [3] as a bisimulation based equivalence able to take into account the spatial distribution of processes.
Programming Languages and Systems — ESOP '96, 1996
Location equivalence is a bisimulation based equivalence for process calculi which is able to tak... more Location equivalence is a bisimulation based equivalence for process calculi which is able to take into account the distributed nature of processes; the underlying idea is that each action occurs at a particular location. The definition of bisimulation for location equivalence is not the standard one, since it must deal with the creation of new locations, and this leads to the necessity of using specific algorithms. In particular these algorithms work only on pairs of agents and do not allow to find the minimal representative for a class of equivalent agents. In this paper we associate to every agent a labeled transition system (in which the informations on the locations appear in the labels) so that location-equivalent agents are mapped into transition systems which are bisimilar according to the ordinary definition of bisimulation. The main consequence of this result is that the standard algorithms for ordinary bisimulation can be re-used, and in particular the partitioning algorithm which allows to obtain the minimal realization of a single agent.
Science of Computer Programming, 1993
Process description languages (PDLs) are appealing for specifying distributed systems mainly beca... more Process description languages (PDLs) are appealing for specifying distributed systems mainly because of their compositionality and expressiveness properties. On the other hand, Petri nets, while lacking linguistical structure, offer the advantage of a truly concurrent framework. Our proposal unifies the models of PDLs and Petri nets in a common specification framework. The binding is given by means of an algebraic approach, which allows us to have in the same algebra both the interleaving and the true concurrency aspects of a distributed system. Starting with the description of a system as a CCS agent, we obtain automatically, by means of axioms, its representation as a Petri net. The idea of the step by step inclusion of axioms is new in this context, and allows us to construct a complex model by assembling simple pieces. Moreover, we examine some important aspects of the design of distributed systems, and show how our approach can be useful for dealing with them.
International Journal of Information Quality, 2007
The use of tools in data and information quality diagnosis and improvement projects is desirable ... more The use of tools in data and information quality diagnosis and improvement projects is desirable to automate clerical tasks and in some cases it is mandatory to be effective. In this work we present a toolkit that we developed in the context of the NEAT methodology, that provides a systematic way of assessing Data Quality. The novelty of the proposal is given by the construction of many independent single-purpose tools, which are combined into a powerful kit, and its insertion in the context of a methodology that follows the best practices accepted in the community. We also present the outcome of its use in actual projects.
We present the approach of the IST FP6 project PLASTIC to the effective design and implementation... more We present the approach of the IST FP6 project PLASTIC to the effective design and implementation of mobile services over B3G environments. The PLASTIC methodology for service design is based on transformations which are iteratively applied to various models used at specific design stages. Starting from a conceptual model, these models reflect characteristic properties of the mobile service under development
Acm Transactions on Software Engineering and Methodology, Apr 25, 2000
A critical challenge faced by the developer of a software system is to understand whether the sys... more A critical challenge faced by the developer of a software system is to understand whether the system's components correctly integrate. While type theory has provided substantial help in detecting and preventing errors in mismatched static properties, much work remains in the area of dynamics. In particular, components make assumptions about their behavioral interaction with other components, but currently we have only limited ways in which to state those assumptions and to analyze those assumptions for correctness. We have formulated a method that begins to address this problem. The method operates at the architectural level so that behavioral integration errors, such as deadlock, can be revealed early and at a high level. For each component, a specification is given of its interaction behavior. From this specification, assumptions that the component makes about the corresponding interaction behavior of the external context are automatically derived. We have defined an algorithm that performs compatibility checks between finite representations of a component's context assumptions and the actual interaction behaviors of the components with which it is intended to interact. A configuration of a system is possible if and only if a successful way of matching actual behaviors with assumptions can be found. The state-space complexity of this algorithm is significantly less than that of comparable approaches, and in the worst case, the time complexity is comparable to the worst case of standard reachability analysis. This article is a major revision and expansion of a paper presented at COORDINATION '97. Abstract Machine model, component-based systems, static analysis 240 • P. Inverardi et al.
The software architecture of a system de nes its high level structure, exposing its gross organiz... more The software architecture of a system de nes its high level structure, exposing its gross organization as a collection of interacting components. Connectors are the glue for combining components and are a critical aspect of architectural design. Thus it is important t o c o nsider connectors as rst class entities and provide simple, yet abstract descriptions of them. Although many formalisms model connectors explicitly, their descriptions are given in an operational manner capturing low l e v el properties that usually only model communication patterns. If connectors could be characterized by means of high level properties, descriptions would be much more declarative and adequate for architectural analysis. Moreover, if these high level properties were thought o f a s primitives, a systematic analysis of connectors could be done. A canonical set of primitives would provide a framework for comparing, re ning and reusing connectors. Consider two connectors characterized in terms of primitive properties, if a common subset of properties exists, a new type of connector could be factorized. On the other hand, if there is no property that allows both connectors to be di erentiated, then the existing set of canonical properties must be re ned. Finally, s u c h a framework allows connector universe exploration, by c o n triving connectors as new combinations of properties. In this paper we d e v elop a framework for connector modeling following these ideas and put forward a rst sketch of primitive connector properties. We also show h o w this framework can be used to de ne operations and reason about connectors.
Journal of Systems and Software, 2009
Page 176. Verification of Concurrent Systems in SML* Paola Inverardi Corrado Priamin Daniel Yanke... more Page 176. Verification of Concurrent Systems in SML* Paola Inverardi Corrado Priamin Daniel Yankelevich IEI-CNR Pisa Univ. Pisa, Dip. Informatica Univ. Pisa, Dip. ... Fundamenta Informaticae, 11 (4): 433-452, 1988. [21 P. Degano, R. De Nicola, and U. Montanari. ...
2017 IEEE/ACM 4th International Workshop on Software Engineering Research and Industrial Practice (SER&IP), 2017
It is a common belief that, if you want to do research in industry, you should follow one of two ... more It is a common belief that, if you want to do research in industry, you should follow one of two ways: you either work for a large corporation, or you work for a startup that will eventually be acquired by one large corporation. In this presentation we address the following question: is it possible and worthwhile to develop meaningful research in an SMB (small and medium-sized business)? In doing so, we will present a case in the context of IoT (Internet of Things).
ArXiv, 2016
In this article we present the results of a data analysis project for a public-transport company.... more In this article we present the results of a data analysis project for a public-transport company. This project encompassed data preparation, analysis and visualization of three years of historical data. The data consisted in ticket purchases and GPS location of the vehicles. This work describes the project from start to end, including the incorporation of the results in the business process.
Fundamenta Informaticae, 1994
Lecture Notes in Computer Science
... Daniel N. Yankelevich Escuela Superior Latino Americana de Informatica Parque Pereira Iraola,... more ... Daniel N. Yankelevich Escuela Superior Latino Americana de Informatica Parque Pereira Iraola, Buenos Aires, Argentina. ... about decentralized control and multiple representations of agents discussed in a recent paper by the first author in collaboration with P. Degano and R ...
: La disciplina de la Ingenier'ia de Software llamada Arquitectura de Software cambia el foco... more : La disciplina de la Ingenier'ia de Software llamada Arquitectura de Software cambia el foco del desarrollo de sistemas de las l'ineas de c'odigo y procedimientos a componentes y sus interacciones. Este cambio de foco es fundamental para poder describir y razonar sobre las aplicaciones, cada vez mas complejas, de hoy en d'ia. Los Lenguajes de Descripci'on de Arquitecturas (ADLs) permiten modelar y verificar arquitecturas y a pesar de que existe una gran cantidad de ADLs, ninguno hace hincapi'e en la integraci'on de las distintas t'ecnicas de verificaci'on existentes. En este trabajo presentamos un formalismo que permite describir y verificar arquitecturas de software combinando dos tipos herramientas. Estas herrmientas, un lenguaje gr'afico basado en diagramas de transici'on de estados y la l'ogico temporal PTLA, se complementan para brindar tanto un formalismo usable como que versatil en cuanto a que permite el uso de m'ultiples ...
Lecture Notes in Computer Science, 2008
I arrived in Italy to join Ugo’s group after getting my MsC degree on December 1989, on a Friday ... more I arrived in Italy to join Ugo’s group after getting my MsC degree on December 1989, on a Friday night, after a 15 hours trip crossing the ocean. Saturday morning, at 7:30, I received a call at the apart hotel where I was staying. Ugo had the theory that it was better to get over jet lags as soon as
Theoretical Computer Science, 1995
Location equivalence has been presented in [S] as a bisimulation-based equivalence able to take i... more Location equivalence has been presented in [S] as a bisimulation-based equivalence able to take into account the spatial distribution of processes. In this work, the parametric approach of [12] is applied to location equivalence. An observation domain for localities is identified and the associated equivalence is shown to coincide with the equivalence introducted in [6,16]. The observation of a computation is a forest (defined up to isomorphism) whose nodes are the events (labeled by observable actions) and where the arcs describe the sublocation relation. We show in the paper that our approach is really parametric. By performing minor changes in the definitions, many equivalences are captured: partial and mixed ordering causal semantics, interleaving, and a variation of location equivalence where the generation ordering is not evidenced. It seems difficult to modify the definitions of [6,16] to obtain the last observation. The equivalence induced by this observation corresponds to the very intuitive assumption that different locations cannot share a common clock, and hence the ordering between events occurring in different places cannot be determined. Thanks to the general results proved in [12] for the parametric approach, all the observation equivalences described in this paper come equipped with sound and complete axiomatizations.
Automata, Languages and Programming, 1992
Location equivalence has been presented in [3] as a bisimulation based equivalence able to take i... more Location equivalence has been presented in [3] as a bisimulation based equivalence able to take into account the spatial distribution of processes.
Programming Languages and Systems — ESOP '96, 1996
Location equivalence is a bisimulation based equivalence for process calculi which is able to tak... more Location equivalence is a bisimulation based equivalence for process calculi which is able to take into account the distributed nature of processes; the underlying idea is that each action occurs at a particular location. The definition of bisimulation for location equivalence is not the standard one, since it must deal with the creation of new locations, and this leads to the necessity of using specific algorithms. In particular these algorithms work only on pairs of agents and do not allow to find the minimal representative for a class of equivalent agents. In this paper we associate to every agent a labeled transition system (in which the informations on the locations appear in the labels) so that location-equivalent agents are mapped into transition systems which are bisimilar according to the ordinary definition of bisimulation. The main consequence of this result is that the standard algorithms for ordinary bisimulation can be re-used, and in particular the partitioning algorithm which allows to obtain the minimal realization of a single agent.
Science of Computer Programming, 1993
Process description languages (PDLs) are appealing for specifying distributed systems mainly beca... more Process description languages (PDLs) are appealing for specifying distributed systems mainly because of their compositionality and expressiveness properties. On the other hand, Petri nets, while lacking linguistical structure, offer the advantage of a truly concurrent framework. Our proposal unifies the models of PDLs and Petri nets in a common specification framework. The binding is given by means of an algebraic approach, which allows us to have in the same algebra both the interleaving and the true concurrency aspects of a distributed system. Starting with the description of a system as a CCS agent, we obtain automatically, by means of axioms, its representation as a Petri net. The idea of the step by step inclusion of axioms is new in this context, and allows us to construct a complex model by assembling simple pieces. Moreover, we examine some important aspects of the design of distributed systems, and show how our approach can be useful for dealing with them.
International Journal of Information Quality, 2007
The use of tools in data and information quality diagnosis and improvement projects is desirable ... more The use of tools in data and information quality diagnosis and improvement projects is desirable to automate clerical tasks and in some cases it is mandatory to be effective. In this work we present a toolkit that we developed in the context of the NEAT methodology, that provides a systematic way of assessing Data Quality. The novelty of the proposal is given by the construction of many independent single-purpose tools, which are combined into a powerful kit, and its insertion in the context of a methodology that follows the best practices accepted in the community. We also present the outcome of its use in actual projects.
We present the approach of the IST FP6 project PLASTIC to the effective design and implementation... more We present the approach of the IST FP6 project PLASTIC to the effective design and implementation of mobile services over B3G environments. The PLASTIC methodology for service design is based on transformations which are iteratively applied to various models used at specific design stages. Starting from a conceptual model, these models reflect characteristic properties of the mobile service under development
Acm Transactions on Software Engineering and Methodology, Apr 25, 2000
A critical challenge faced by the developer of a software system is to understand whether the sys... more A critical challenge faced by the developer of a software system is to understand whether the system's components correctly integrate. While type theory has provided substantial help in detecting and preventing errors in mismatched static properties, much work remains in the area of dynamics. In particular, components make assumptions about their behavioral interaction with other components, but currently we have only limited ways in which to state those assumptions and to analyze those assumptions for correctness. We have formulated a method that begins to address this problem. The method operates at the architectural level so that behavioral integration errors, such as deadlock, can be revealed early and at a high level. For each component, a specification is given of its interaction behavior. From this specification, assumptions that the component makes about the corresponding interaction behavior of the external context are automatically derived. We have defined an algorithm that performs compatibility checks between finite representations of a component's context assumptions and the actual interaction behaviors of the components with which it is intended to interact. A configuration of a system is possible if and only if a successful way of matching actual behaviors with assumptions can be found. The state-space complexity of this algorithm is significantly less than that of comparable approaches, and in the worst case, the time complexity is comparable to the worst case of standard reachability analysis. This article is a major revision and expansion of a paper presented at COORDINATION '97. Abstract Machine model, component-based systems, static analysis 240 • P. Inverardi et al.
The software architecture of a system de nes its high level structure, exposing its gross organiz... more The software architecture of a system de nes its high level structure, exposing its gross organization as a collection of interacting components. Connectors are the glue for combining components and are a critical aspect of architectural design. Thus it is important t o c o nsider connectors as rst class entities and provide simple, yet abstract descriptions of them. Although many formalisms model connectors explicitly, their descriptions are given in an operational manner capturing low l e v el properties that usually only model communication patterns. If connectors could be characterized by means of high level properties, descriptions would be much more declarative and adequate for architectural analysis. Moreover, if these high level properties were thought o f a s primitives, a systematic analysis of connectors could be done. A canonical set of primitives would provide a framework for comparing, re ning and reusing connectors. Consider two connectors characterized in terms of primitive properties, if a common subset of properties exists, a new type of connector could be factorized. On the other hand, if there is no property that allows both connectors to be di erentiated, then the existing set of canonical properties must be re ned. Finally, s u c h a framework allows connector universe exploration, by c o n triving connectors as new combinations of properties. In this paper we d e v elop a framework for connector modeling following these ideas and put forward a rst sketch of primitive connector properties. We also show h o w this framework can be used to de ne operations and reason about connectors.