Service-oriented computing, Software Adaptation, Formal methods, Cloud computing
|Voice||+39 050 221 3135|
|Address||Dipartimento di Informatica, UniversitÓ di Pisa, Largo B. Pontecorvo 3, 56127 Pisa, Italy|
Teaching assistant @ Software Service Engineering
MSc in Computer Science and Networking, University Of Pisa, a.y. 2016/2017.
Modelling, analysing and reusing composite cloud applications (UniversitÓ di Pisa, 2017)
Abstract. How to deploy and flexibly manage complex composite applications across heterogeneous cloud platforms is one of the main concerns in enterprise IT. Vendor-agnostic models to specify the structure and management of composite cloud applications, as well as techniques for the analysis of specified applications, would permit verifying the accuracy of the design of such applications. Furthermore, the availability of techniques for reusing composite cloud applications would free developers from the need of designing and developing multiple times recurring application components.
The objective of this thesis is to propose a suitable representation for composite cloud applications, and to develop analysis and reuse techniques based upon, but not limited to, such representation. By relying on TOSCA (Topology and Orchestration Specification for Cloud Applications) as the reference language for syntactically describing composite cloud applications, we propose a simple modelling that permits specifying the behaviour of the management operations of an application's components. We show how their management behaviour can be modelled by management protocols}, specified as finite state machines whose states and transitions are associated with conditions constraining the consistency of states and the executability of operations. We illustrate how to derive the management behaviour of a composite cloud application by composing the protocols of its components, and how this permits automating various analyses concerning the management of a cloud application. Last, but not least, we show how management protocols can be easily extended to take also into account the potential occurrence of faults while managing composite cloud applications.
Additionally, to enact the reuse of existing solutions, we illustrate how to syntactically matchmake (fragments of) TOSCA-based applications with respect to desired components, and how to adapt matching applications to concretely implement such components. We define two different notions of simulation between management protocols, and we exploit such notions to extend the proposed matchmaking and adaptation approaches by including the behaviour information in management protocols.
Matching cloud services with TOSCA, and generating adapters if needed (UniversitÓ di Pisa, 2013)
Abstract. The OASIS TOSCA specification aims at enhancing the portability of cloud-based applications by defining a language to describe and manage service orchestrations across heterogeneous clouds. A service template is defined as an orchestration of typed nodes, which can be instantiated by matching other service templates. In this thesis, after defining the notion of exact matching between TOSCA service templates and node types, we define three other types of matching (plug-in, flexible and white-box), each permitting to ignore larger sets of non-relevant syntactic differences when type-checking service templates with respect to node types. We also describe how service templates that plug-in, flexibly or white-box match node types can be suitably adapted so as to exactly match them.
TCP Buffering in BSD (UniversitÓ di Pisa, 2011)
Abstract. I meccanismi di buffering, controllo di flusso e controllo di congestione del protocollo TCP vengono comunemente introdotti astraendo da dettagli implementativi. L'obiettivo di questo documento Ŕ cercare di illustrare sinteticamente il modo in cui tali meccanismi sono effettivamente realizzati in una delle pi¨ note implementazioni di TCP (BSD), evidenziando alcune delle differenze rispetto alla descrizione di TCP fornita in uno dei testi di introduzione alle reti attualmente pi¨ diffusi.