-
Quantum Circuit for Random Forest Prediction
Authors:
Liliia Safina,
Kamil Khadieva,
Ilnar Zinnatullina,
Aliya Khadieva
Abstract:
In this work, we present a quantum circuit for a binary classification prediction algorithm using a random forest model. The quantum prediction algorithm is presented in our previous works. We construct a circuit and implement it using qiskit tools (python module for quantum programming). One of our goals is reducing the number of basic quantum gates (elementary gates). The set of basic quantum ga…
▽ More
In this work, we present a quantum circuit for a binary classification prediction algorithm using a random forest model. The quantum prediction algorithm is presented in our previous works. We construct a circuit and implement it using qiskit tools (python module for quantum programming). One of our goals is reducing the number of basic quantum gates (elementary gates). The set of basic quantum gates which we use in this work consists of single-qubit gates and a controlled NOT gate. The number of CNOT gates in our circuit is estimated by $O(2^{n+2h+1})$ , when trivial circuit decomposition techniques give $O(4^{|X|+n+h+2})$ CNOT gates, where $n$ is the number of trees in a random forest model, $h$ is a tree height and $|X|$ is the length of attributes of an input object $X$. The prediction process returns an index of the corresponding class for the input $X$.
△ Less
Submitted 28 December, 2023;
originally announced December 2023.
-
Parsing Fortran-77 with proprietary extensions
Authors:
Younoussa Sow,
Larisa Safina,
Léandre Brault,
Papa Ibou Diouf,
Stéphane Ducasse,
Nicolas Anquetil
Abstract:
Far from the latest innovations in software development, many organizations still rely on old code written in "obsolete" programming languages. Because this source code is old and proven it often contributes significantly to the continuing success of these organizations. Yet to keep the applications relevant and running in an evolving environment, they sometimes need to be updated or migrated to n…
▽ More
Far from the latest innovations in software development, many organizations still rely on old code written in "obsolete" programming languages. Because this source code is old and proven it often contributes significantly to the continuing success of these organizations. Yet to keep the applications relevant and running in an evolving environment, they sometimes need to be updated or migrated to new languages or new platforms. One difficulty of working with these "veteran languages" is being able to parse the source code to build a representation of it. Parsing can also allow modern software development tools and IDEs to offer better support to these veteran languages. We initiated a project between our group and the Framatome company to help migrate old Fortran-77 with proprietary extensions (called Esope) into more modern Fortran. In this paper, we explain how we parsed the Esope language with a combination of island grammar and regular parser to build an abstract syntax tree of the code.
△ Less
Submitted 5 September, 2023;
originally announced September 2023.
-
Proceedings 16th Interaction and Concurrency Experience
Authors:
Clément Aubert,
Cinzia Di Giusto,
Simon Fowler,
Larisa Safina
Abstract:
This volume contains the proceedings of ICE'23, the 16th Interaction and Concurrency Experience, which was held at the NOVA University in Lisbon, Portugal, as a satellite event of DisCoTec'22. The ICE workshop series features a distinguishing review and selection procedure: PC members are encouraged to interact, anonymously, with authors. The 2023 edition of ICE included double blind reviewing of…
▽ More
This volume contains the proceedings of ICE'23, the 16th Interaction and Concurrency Experience, which was held at the NOVA University in Lisbon, Portugal, as a satellite event of DisCoTec'22. The ICE workshop series features a distinguishing review and selection procedure: PC members are encouraged to interact, anonymously, with authors. The 2023 edition of ICE included double blind reviewing of original research papers, in order to increase fairness and avoid bias in reviewing. Each paper was reviewed by three PC members, and altogether 5 papers were accepted for publication plus 4 oral presentations which are not part of this volume. We were proud to host 2 invited talks, by Carla Ferreira and Adrian Francalanza. The abstracts of these talks are included in this volume, together with the final versions of the research papers, which take into account the discussion at the workshop and during the review process.
△ Less
Submitted 17 August, 2023;
originally announced August 2023.
-
Proceedings 15th Interaction and Concurrency Experience
Authors:
Clément Aubert,
Cinzia Di Giusto,
Larisa Safina,
Alceste Scalas
Abstract:
This volume contains the proceedings of ICE'22, the 15th Interaction and Concurrency Experience, which was held as an hybrid event in Lucca, Italy, and as a satellite event of DisCoTec'22.
The ICE workshop series features a distinguishing review and selection procedure: PC members are encouraged to interact, anonymously, with authors. The 2022 edition of ICE included double blind reviewing of…
▽ More
This volume contains the proceedings of ICE'22, the 15th Interaction and Concurrency Experience, which was held as an hybrid event in Lucca, Italy, and as a satellite event of DisCoTec'22.
The ICE workshop series features a distinguishing review and selection procedure: PC members are encouraged to interact, anonymously, with authors. The 2022 edition of ICE included double blind reviewing of original research papers, in order to increase fairness and avoid bias in reviewing.
Each paper was reviewed by between two and four PC members (with an average of 3.33333333333), and altogether 5 papers were accepted for publication -- plus 3 oral presentations which are not part of this volume. We were proud to host 2 invited talks, by Ilaria Castellani and Matthew Parkinson. The abstracts of these talks are included in this volume, together with the final versions of the research papers, which take into account the discussion at the workshop.
△ Less
Submitted 8 August, 2022;
originally announced August 2022.
-
SAT-Based Extraction of Behavioural Models for Java Libraries with Collections
Authors:
Larisa Safina,
Simon Bliudze
Abstract:
Behavioural models are a valuable tool for software verification, testing, monitoring, publishing etc. However, they are rarely provided by the software developers and have to be extracted either from the source or from the compiled code. In the context of Java programs, a number of approaches exist for building behavioural models. Most of these approaches rely on the analysis of the compiled byte…
▽ More
Behavioural models are a valuable tool for software verification, testing, monitoring, publishing etc. However, they are rarely provided by the software developers and have to be extracted either from the source or from the compiled code. In the context of Java programs, a number of approaches exist for building behavioural models. Most of these approaches rely on the analysis of the compiled bytecode. Instead, we are looking to extract behavioural models in the form of Finite State Machines (FSMs) from the Java source code to ensure that the obtained FSMs can be easily understood by the software developers and, if necessary, updated or integrated into the original source code, e.g. in the form of annotations. Modern software systems are huge, rely on external libraries and interact with their environment. Hence, extracting useful behavioural models requires abstraction. In this paper, we present an initial approach to this problem by focusing on the extraction of FSMs modelling library APIs. We focus on the analysis of Java code involving the use of collections. To this end, we encode the operational semantics of collection operations using patterns of Boolean predicates. These patterns are instantiated based on the analysis of the source code of API implementation methods to form an encoding of the possible FSM transitions. A SAT solver is then used to determine the enabledness conditions (guards) of these transitions.
△ Less
Submitted 8 November, 2023; v1 submitted 30 May, 2022;
originally announced May 2022.
-
Implementing Choreography Extraction
Authors:
Luis Cruz-Filipe,
Kim S. Larsen,
Fabrizio Montesi,
Larisa Safina
Abstract:
Choreographies are global descriptions of interactions among concurrent components, most notably used in the settings of verification and synthesis of correct-by-construction software. They require a top-down approach: programmers first write choreographies, and then use them to verify or synthesize their programs. However, most software does not come with choreographies yet, which prevents their…
▽ More
Choreographies are global descriptions of interactions among concurrent components, most notably used in the settings of verification and synthesis of correct-by-construction software. They require a top-down approach: programmers first write choreographies, and then use them to verify or synthesize their programs. However, most software does not come with choreographies yet, which prevents their application. To attack this problem, previous work investigated choreography extraction, which automatically constructs a choreography that describes the behaviour of a given set of programs or protocol specifications.
We propose a new extraction methodology that improves on the state of the art: we can deal with programs that are equipped with state and internal computation and time complexity is dramatically better. We also implement this theory and show that, in spite of its theoretical exponential complexity, it is usable in practice. We discuss the data structures needed for an efficient implementation, introduce some optimisations, and perform a systematic practical evaluation.
△ Less
Submitted 6 May, 2022; v1 submitted 5 May, 2022;
originally announced May 2022.
-
The Quantum Version of Prediction for Binary Classification Problem by Ensemble Methods
Authors:
Kamil Khadiev,
Liliia Safina
Abstract:
In this work, we consider the performance of using a quantum algorithm to predict a result for a binary classification problem if a machine learning model is an ensemble from any simple classifiers. Such an approach is faster than classical prediction and uses quantum and classical computing, but it is based on a probabilistic algorithm. Let $N$ be a number of classifiers from an ensemble model an…
▽ More
In this work, we consider the performance of using a quantum algorithm to predict a result for a binary classification problem if a machine learning model is an ensemble from any simple classifiers. Such an approach is faster than classical prediction and uses quantum and classical computing, but it is based on a probabilistic algorithm. Let $N$ be a number of classifiers from an ensemble model and $O(T)$ be the running time of prediction on one classifier. In classical case, an ensemble model gets answers from each classifier and "averages" the result. The running time in classical case is $O\left( N \cdot T \right)$. We propose an algorithm which works in $O\left(\sqrt{N} \cdot T\right)$.
△ Less
Submitted 26 December, 2021;
originally announced December 2021.
-
Proceedings 14th Interaction and Concurrency Experience
Authors:
Julien Lange,
Anastasia Mavridou,
Larisa Safina,
Alceste Scalas
Abstract:
This volume contains the proceedings of ICE'21, the 14th Interaction and Concurrency Experience, which was held online on the 18th of June 2021, as a satellite event of DisCoTec'21. The ICE workshop series features a distinguishing review and selection procedure, allowing PC members to interact anonymously with authors. As in the past 13 editions, this interaction considerably improved the accurac…
▽ More
This volume contains the proceedings of ICE'21, the 14th Interaction and Concurrency Experience, which was held online on the 18th of June 2021, as a satellite event of DisCoTec'21. The ICE workshop series features a distinguishing review and selection procedure, allowing PC members to interact anonymously with authors. As in the past 13 editions, this interaction considerably improved the accuracy of the feedback from the reviewers and the quality of accepted papers, and offered the basis for lively discussion during the workshop. The 2021 edition of ICE included double blind reviewing of original research papers, in order to increase fairness and avoid bias in reviewing. Each paper was reviewed by three or four PC members, and altogether 5 papers were accepted for publication - plus 4 oral presentations which are not part of this volume. We were proud to host 2 invited talks, by Laura Bocchi and Helene Coullon. The abstracts of these talks are included in this volume together with the regular papers. The final versions of the contributions, taking into account the discussion at the workshop, are included.
△ Less
Submitted 30 September, 2021;
originally announced September 2021.
-
Proceedings 13th Interaction and Concurrency Experience
Authors:
Julien Lange,
Anastasia Mavridou,
Larisa Safina,
Alceste Scalas
Abstract:
This volume contains the proceedings of ICE'20, the 13th Interaction and Concurrency Experience, which was held online on the 19th of June 2020, as a satellite event of DisCoTec'20. The ICE workshop series features a distinguishing review and selection procedure, allowing PC members to interact anonymously with authors. As in the past 12 editions, this interaction considerably improved the accurac…
▽ More
This volume contains the proceedings of ICE'20, the 13th Interaction and Concurrency Experience, which was held online on the 19th of June 2020, as a satellite event of DisCoTec'20. The ICE workshop series features a distinguishing review and selection procedure, allowing PC members to interact anonymously with authors. As in the past 12 editions, this interaction considerably improved the accuracy of the feedback from the reviewers and the quality of accepted papers, and offered the basis for lively discussion during the workshop. The 2020 edition of ICE included double blind reviewing of original research papers, in order to increase fairness and avoid bias in reviewing. Each paper was reviewed by three PC members, and altogether 5 papers were accepted for publication - plus 5 oral presentations which are not part of this volume. We were proud to host 2 invited talks, by Cinzia Di Giusto and Karoliina Lehtinen. The abstracts of these talks are included in this volume together with the regular papers. The final versions of the contributions, taking into account the discussion at the workshop, are included.
△ Less
Submitted 16 September, 2020;
originally announced September 2020.
-
Implementing choreography extraction
Authors:
Luís Cruz-Filipe,
Fabrizio Montesi,
Larisa Safina
Abstract:
Choreography extraction deals with the generation of a choreography (a global description of communication behaviour) from a set of local process behaviours. In this work, we implement a previously proposed theory for extraction and show that, in spite of its theoretical exponential complexity, it is usable in practice. We discuss the data structures needed for an efficient implementation, introdu…
▽ More
Choreography extraction deals with the generation of a choreography (a global description of communication behaviour) from a set of local process behaviours. In this work, we implement a previously proposed theory for extraction and show that, in spite of its theoretical exponential complexity, it is usable in practice. We discuss the data structures needed for an efficient implementation, introduce some optimizations, and perform a systematic practical evaluation.
△ Less
Submitted 25 October, 2019;
originally announced October 2019.
-
The Quantum Version Of Classification Decision Tree Constructing Algorithm C5.0
Authors:
Kamil Khadiev,
Ilnaz Mannapov,
Liliya Safina
Abstract:
In the paper, we focus on complexity of C5.0 algorithm for constructing decision tree classifier that is the models for the classification problem from machine learning. In classical case the decision tree is constructed in $O(hd(NM+N \log N))$ running time, where $M$ is a number of classes, $N$ is the size of a training data set, $d$ is a number of attributes of each element, $h$ is a tree height…
▽ More
In the paper, we focus on complexity of C5.0 algorithm for constructing decision tree classifier that is the models for the classification problem from machine learning. In classical case the decision tree is constructed in $O(hd(NM+N \log N))$ running time, where $M$ is a number of classes, $N$ is the size of a training data set, $d$ is a number of attributes of each element, $h$ is a tree height. Firstly, we improved the classical version, the running time of the new version is $O(h\cdot d\cdot N\log N)$. Secondly, we suggest a quantum version of this algorithm, which uses quantum subroutines like the amplitude amplification and the D{ü}rr-Høyer minimum search algorithms that are based on Grover's algorithm. The running time of the quantum algorithm is $O\big(h\cdot \sqrt{d}\log d \cdot N \log N\big)$ that is better than complexity of the classical algorithm.
△ Less
Submitted 16 July, 2019;
originally announced July 2019.
-
Ephemeral Data Handling in Microservices - Technical Report
Authors:
Saverio Giallorenzo,
Fabrizio Montesi,
Larisa Safina,
Stefano Pio Zingaro
Abstract:
In modern application areas for software systems --- like eHealth, the Internet-of-Things, and Edge Computing --- data is encoded in heterogeneous, tree-shaped data-formats, it must be processed in real-time, and it must be ephemeral, i.e., not persist in the system. While it is preferable to use a query language to express complex data-handling logic, their typical execution engine, a database ex…
▽ More
In modern application areas for software systems --- like eHealth, the Internet-of-Things, and Edge Computing --- data is encoded in heterogeneous, tree-shaped data-formats, it must be processed in real-time, and it must be ephemeral, i.e., not persist in the system. While it is preferable to use a query language to express complex data-handling logic, their typical execution engine, a database external from the main application, is unfit in scenarios of ephemeral data-handling. A better option is represented by integrated query frameworks, which benefit from existing development support tools (e.g., syntax and type checkers) and execute within the application memory. In this paper, we propose one such framework that, for the first time, targets tree-shaped, document-oriented queries. We formalise an instantiation of MQuery, a sound variant of the widely-used MongoDB query language, which we implemented in the Jolie language. Jolie programs are microservices, the building blocks of modern software systems. Moreover, since Jolie supports native tree data-structures and automatic management of heterogeneous data-encodings, we can provide a uniform way to use MQuery on any data-format supported by the language. We present a non-trivial use case from eHealth, use it to concretely evaluate our model, and to illustrate our formalism.
△ Less
Submitted 25 April, 2019;
originally announced April 2019.
-
DevOps and its Philosophy : Education Matters!
Authors:
Evgeny Bobrov,
Antonio Bucchiarone,
Alfredo Capozucca,
Nicolas Guelfi,
Manuel Mazzara,
Alexandr Naumchev,
Larisa Safina
Abstract:
DevOps processes comply with principles and offer practices with main objective to support efficiently the evolution of IT systems. To be efficient a DevOps process relies on a set of integrated tools. DevOps is the first required competency together with Agile Method required by the industry. DevOps processes are sharing many aspects with microservices approaches especially the modularity and fle…
▽ More
DevOps processes comply with principles and offer practices with main objective to support efficiently the evolution of IT systems. To be efficient a DevOps process relies on a set of integrated tools. DevOps is the first required competency together with Agile Method required by the industry. DevOps processes are sharing many aspects with microservices approaches especially the modularity and flexibility which enables continuous change and delivery. As a new approach it is necessary to developp and offer to the academy and to the industry training programs to prepare our engineers in the best possible way. In this chapter we present the main aspects of the educational effort made in the recent years to educate to the concepts and values of the DevOps philosophy. This includes principles, practices, tools and architectures, primarily the Microservice architectural style. Two experiences have been made, one at academic level as a master program course and the other, as an industrial training. Based on those two experiences, we provide a comparative analysis and some proposals in order to develop and improve DevOps education for the future.
△ Less
Submitted 4 April, 2019;
originally announced April 2019.
-
Teaching DevOps in Corporate Environments: An experience report
Authors:
Manuel Mazzara,
Alexandr Naumchev,
Larisa Safina,
Alberto Sillitti,
Konstantin Urysov
Abstract:
This paper describes our experience of training a team of developers of an East-European phone service provider. The training experience was structured in two sessions of two days each conducted in different weeks with a gap of about fifteen days. The first session was dedicated to the Continuous Integration Delivery Pipeline, and the second on Agile methods. We summarize the activity, its prepara…
▽ More
This paper describes our experience of training a team of developers of an East-European phone service provider. The training experience was structured in two sessions of two days each conducted in different weeks with a gap of about fifteen days. The first session was dedicated to the Continuous Integration Delivery Pipeline, and the second on Agile methods. We summarize the activity, its preparation and delivery and draw some conclusions out of it on our mistakes and how future session should be addressed.
△ Less
Submitted 23 October, 2018; v1 submitted 4 July, 2018;
originally announced July 2018.
-
Quantum Algorithm for Dynamic Programming Approach for DAGs. Applications for Zhegalkin Polynomial Evaluation and Some Problems on DAGs
Authors:
Kamil Khadiev,
Liliya Safina
Abstract:
In this paper, we present a quantum algorithm for dynamic programming approach for problems on directed acyclic graphs (DAGs). The running time of the algorithm is $O(\sqrt{\hat{n}m}\log \hat{n})$, and the running time of the best known deterministic algorithm is $O(n+m)$, where $n$ is the number of vertices, $\hat{n}$ is the number of vertices with at least one outgoing edge; $m$ is the number of…
▽ More
In this paper, we present a quantum algorithm for dynamic programming approach for problems on directed acyclic graphs (DAGs). The running time of the algorithm is $O(\sqrt{\hat{n}m}\log \hat{n})$, and the running time of the best known deterministic algorithm is $O(n+m)$, where $n$ is the number of vertices, $\hat{n}$ is the number of vertices with at least one outgoing edge; $m$ is the number of edges. We show that we can solve problems that use OR, AND, NAND, MAX and MIN functions as the main transition steps. The approach is useful for a couple of problems. One of them is computing a Boolean formula that is represented by Zhegalkin polynomial, a Boolean circuit with shared input and non-constant depth evaluating. Another two are the single source longest paths search for weighted DAGs and the diameter search problem for unweighted DAGs.
△ Less
Submitted 20 June, 2019; v1 submitted 26 April, 2018;
originally announced April 2018.
-
Domain Objects and Microservices for Systems Development: a roadmap
Authors:
Kizilov Mikhail,
Antonio Bucchiarone,
Manuel Mazzara,
Larisa Safina,
Victor Rivera
Abstract:
This paper discusses a roadmap to investigate Domain Objects being an adequate formalism to capture the peculiarity of microservice architecture, and to support Software development since the early stages. It provides a survey of both Microservices and Domain Objects, and it discusses plans and reflections on how to investigate whether a modeling approach suited to adaptable service-based componen…
▽ More
This paper discusses a roadmap to investigate Domain Objects being an adequate formalism to capture the peculiarity of microservice architecture, and to support Software development since the early stages. It provides a survey of both Microservices and Domain Objects, and it discusses plans and reflections on how to investigate whether a modeling approach suited to adaptable service-based components can also be applied with success to the microservice scenario.
△ Less
Submitted 29 September, 2017;
originally announced September 2017.
-
Microservices Science and Engineering
Authors:
Manuel Mazzara,
Kevin Khanda,
Ruslan Mustafin,
Victor Rivera,
Larisa Safina,
Alberto Sillitti
Abstract:
In this paper we offer an overview on the topic of Microservices Science and Engineering (MSE) and we provide a collection of bibliographic references and links relevant to understand an emerging field. We try to clarify some misunderstandings related to microservices and Service-Oriented Architectures, and we also describe projects and applications our team have been working on in the recent past…
▽ More
In this paper we offer an overview on the topic of Microservices Science and Engineering (MSE) and we provide a collection of bibliographic references and links relevant to understand an emerging field. We try to clarify some misunderstandings related to microservices and Service-Oriented Architectures, and we also describe projects and applications our team have been working on in the recent past, both regarding programming languages construction and intelligent buildings.
△ Less
Submitted 22 June, 2017;
originally announced June 2017.
-
Verified type checker for Jolie programming language
Authors:
Evgenii Akentev,
Alexander Tchitchigin,
Larisa Safina,
Manuel Mazzara
Abstract:
Jolie is a service-oriented programming language which comes with the formal specification of its type system. However, there is no tool to ensure that programs in Jolie are well-typed. In this paper we provide the results of building a type checker for Jolie as a part of its syntax and semantics formal model. We express the type checker as a program with dependent types in Agda proof assistant wh…
▽ More
Jolie is a service-oriented programming language which comes with the formal specification of its type system. However, there is no tool to ensure that programs in Jolie are well-typed. In this paper we provide the results of building a type checker for Jolie as a part of its syntax and semantics formal model. We express the type checker as a program with dependent types in Agda proof assistant which helps to ascertain that the type checker is correct.
△ Less
Submitted 23 March, 2017; v1 submitted 15 March, 2017;
originally announced March 2017.
-
Microservices: How To Make Your Application Scale
Authors:
Nicola Dragoni,
Ivan Lanese,
Stephan Thordal Larsen,
Manuel Mazzara,
Ruslan Mustafin,
Larisa Safina
Abstract:
The microservice architecture is a style inspired by service-oriented computing that has recently started gaining popularity and that promises to change the way in which software is perceived, conceived and designed. In this paper, we describe the main features of microservices and highlight how these features improve scalability.
The microservice architecture is a style inspired by service-oriented computing that has recently started gaining popularity and that promises to change the way in which software is perceived, conceived and designed. In this paper, we describe the main features of microservices and highlight how these features improve scalability.
△ Less
Submitted 23 February, 2017;
originally announced February 2017.
-
Jolie Static Type Checker: a prototype
Authors:
Daniel de Carvalho,
Manuel Mazzara,
Bogdan Mingela,
Larisa Safina,
Alexander Tchitchigin,
Nikolay Troshkov
Abstract:
Static verification of a program source code correctness is an important element of software reliability. Formal verification of software programs involves proving that a program satisfies a formal specification of its behavior. Many languages use both static and dynamic type checking. With such approach, the static type checker verifies everything possible at compile time, and dynamic checks the…
▽ More
Static verification of a program source code correctness is an important element of software reliability. Formal verification of software programs involves proving that a program satisfies a formal specification of its behavior. Many languages use both static and dynamic type checking. With such approach, the static type checker verifies everything possible at compile time, and dynamic checks the remaining. The current state of the Jolie programming language includes a dynamic type system. Consequently, it allows avoidable run-time errors. A static type system for the language has been formally defined on paper but lacks an implementation yet. In this paper, we describe a prototype of Jolie Static Type Checker (JSTC), which employs a technique based on a SMT solver. We describe the theory behind and the implementation, and the process of static analysis.
△ Less
Submitted 18 October, 2017; v1 submitted 23 February, 2017;
originally announced February 2017.
-
Towards Microservices and Beyond: An incoming Paradigm Shift in Distributed Computing
Authors:
Manuel Mazzara,
Ruslan Mustafin,
Larisa Safina,
Ivan Lanese
Abstract:
The microservice architecture is a style inspired by service-oriented computing that has recently started gaining popularity and that promises to change the way in which software is perceived, conceived and designed. In this paper we offer a short overview intended as a collection of bibliographic references and links in the field of Microservices Science and Engineering (MSE).
The microservice architecture is a style inspired by service-oriented computing that has recently started gaining popularity and that promises to change the way in which software is perceived, conceived and designed. In this paper we offer a short overview intended as a collection of bibliographic references and links in the field of Microservices Science and Engineering (MSE).
△ Less
Submitted 7 October, 2016; v1 submitted 6 October, 2016;
originally announced October 2016.
-
Jolie Community on the Rise
Authors:
Alexey Bandura,
Nikita Kurilenko,
Manuel Mazzara,
Victor Rivera,
Larisa Safina,
Alexander Tchitchigin
Abstract:
Jolie is a programming language that follows the microservices paradigm. As an open source project, it has built a community of developers worldwide - both in the industry as well as in academia - taken care of the development, continuously improved its usability, and therefore broadened the adoption. In this paper, we present some of the most recent results and work in progress that has been made…
▽ More
Jolie is a programming language that follows the microservices paradigm. As an open source project, it has built a community of developers worldwide - both in the industry as well as in academia - taken care of the development, continuously improved its usability, and therefore broadened the adoption. In this paper, we present some of the most recent results and work in progress that has been made within our research team.
△ Less
Submitted 30 September, 2016;
originally announced September 2016.
-
Neuromorphic Robot Dream
Authors:
Alexander Tchitchigin,
Max Talanov,
Larisa Safina,
Manuel Mazzara
Abstract:
In this paper we present the next step in our approach to neurobiologically plausible implementation of emotional reactions and behaviors for real-time autonomous robotic systems. The working metaphor we use is the "day" and the "night" phases of mammalian life. During the "day phase" a robotic system stores the inbound information and is controlled by a light-weight rule-based system in real time…
▽ More
In this paper we present the next step in our approach to neurobiologically plausible implementation of emotional reactions and behaviors for real-time autonomous robotic systems. The working metaphor we use is the "day" and the "night" phases of mammalian life. During the "day phase" a robotic system stores the inbound information and is controlled by a light-weight rule-based system in real time. In contrast to that, during the "night phase" information that has been stored is transferred to a supercomputing system to update the realistic neural network: emotional and behavioral strategies.
△ Less
Submitted 27 July, 2016;
originally announced July 2016.
-
Microservices: yesterday, today, and tomorrow
Authors:
Nicola Dragoni,
Saverio Giallorenzo,
Alberto Lluch Lafuente,
Manuel Mazzara,
Fabrizio Montesi,
Ruslan Mustafin,
Larisa Safina
Abstract:
Microservices is an architectural style inspired by service-oriented computing that has recently started gaining popularity. Before presenting the current state-of-the-art in the field, this chapter reviews the history of software architecture, the reasons that led to the diffusion of objects and services first, and microservices later. Finally, open problems and future challenges are introduced.…
▽ More
Microservices is an architectural style inspired by service-oriented computing that has recently started gaining popularity. Before presenting the current state-of-the-art in the field, this chapter reviews the history of software architecture, the reasons that led to the diffusion of objects and services first, and microservices later. Finally, open problems and future challenges are introduced. This survey primarily addresses newcomers to the discipline, while offering an academic viewpoint on the topic. In addition, we investigate some practical issues and point out some potential solutions.
△ Less
Submitted 20 April, 2017; v1 submitted 13 June, 2016;
originally announced June 2016.
-
Robot Dream
Authors:
Alexander Tchitchigin,
Max Talanov,
Larisa Safina,
Manuel Mazzara
Abstract:
In this position paper we present a novel approach to neurobiologically plausible implementation of emotional reactions and behaviors for real-time autonomous robotic systems. The working metaphor we use is the "day" and "night" phases of mammalian life. During the "day" phase a robotic system stores the inbound information and is controlled by a light-weight rule-based system in real time. In con…
▽ More
In this position paper we present a novel approach to neurobiologically plausible implementation of emotional reactions and behaviors for real-time autonomous robotic systems. The working metaphor we use is the "day" and "night" phases of mammalian life. During the "day" phase a robotic system stores the inbound information and is controlled by a light-weight rule-based system in real time. In contrast to that, during the "night" phase the stored information is been transferred to the supercomputing system to update the realistic neural network: emotional and behavioral strategies.
△ Less
Submitted 9 March, 2016;
originally announced March 2016.
-
Refinement types in Jolie
Authors:
Alexander Tchitchigin,
Larisa Safina,
Manuel Mazzara,
Mohamed Elwakil,
Fabrizio Montesi,
Victor Rivera
Abstract:
Jolie is the first language for microservices and it is currently dynamically type checked. This paper considers the opportunity to integrate dynamic and static type checking with the introduction of refinement types, verified via SMT solver. The integration of the two aspects allows a scenario where the static verification of internal services and the dynamic verification of (potentially maliciou…
▽ More
Jolie is the first language for microservices and it is currently dynamically type checked. This paper considers the opportunity to integrate dynamic and static type checking with the introduction of refinement types, verified via SMT solver. The integration of the two aspects allows a scenario where the static verification of internal services and the dynamic verification of (potentially malicious) external services cooperates in order to reduce testing effort and enhancing security.
△ Less
Submitted 22 February, 2016;
originally announced February 2016.
-
Data-driven Workflows for Microservices
Authors:
Larisa Safina,
Manuel Mazzara,
Fabrizio Montesi
Abstract:
Microservices is an architectural style inspired by service-oriented computing that has recently started gaining popularity. Jolie is a programming language based on the microservices paradigm: the main building block of Jolie systems are services, in contrast to, e.g., functions or objects. The primitives offered by the Jolie language elicit many of the recurring patterns found in microservices,…
▽ More
Microservices is an architectural style inspired by service-oriented computing that has recently started gaining popularity. Jolie is a programming language based on the microservices paradigm: the main building block of Jolie systems are services, in contrast to, e.g., functions or objects. The primitives offered by the Jolie language elicit many of the recurring patterns found in microservices, like load balancers and structured processes. However, Jolie still lacks some useful constructs for dealing with message types and data manipulation that are present in service-oriented computing. In this paper, we focus on the possibility of expressing choices at the level of data types, a feature well represented in standards for Web Services, e.g., WSDL. We extend Jolie to support such type choices and show the impact of our implementation on some of the typical scenarios found in microservice systems. This shows how computation can move from a process-driven to a data-driven approach, and leads to the preliminary identification of recurring communication patterns that can be shaped as design patterns.
△ Less
Submitted 9 November, 2015;
originally announced November 2015.