OAR@UM Collection: /library/oar/handle/123456789/13312 2025-11-06T20:25:32Z 2025-11-06T20:25:32Z Monitorability of contracts for web services /library/oar/handle/123456789/18516 2017-09-26T10:12:06Z 2016-01-01T00:00:00Z Title: Monitorability of contracts for web services Abstract: Web services typically consist of two types of components, servers and clients, which interact with each other through service interactions. A server can be seen as a collection of services that a client invokes in order to reach a successful state. A server can be described in terms of a contract, which defi nes the service interactions that it offers. Dually, a client may also be portrayed by a contract, describing sequences of interactions that it expects to conduct with a server. In a dynamic service discovery setting, where clients search for compatible services with whom to interact, a server contract may be advertised by a server as its specification. A server may inadvertently or maliciously advertise a contract which it does not implement. Although static-based techniques can be employed to verify whether a server actually implements its advertised contract or not, there are settings where static verifi cation cannot be used. Furthermore, a client may decide not to trust a server. In such cases, the client is forced to verify the behaviour of the server at runtime. This scenario may be viewed as an instance of Runtime Veri fication, where a pertinent question is whether contracts can be monitored for adequately at runtime, otherwise stated as the monitorability of contracts. In general, not all specifications can be verified in a correct manner at runtime. In this dissertation, we set up to investigate this problem. We consider a language of contracts describing both clients and servers, together with a formal notion of \agreement" amongst these two types of contracts. We then develop a formal monitoring framework where we instrument servers with our monitors. We de fine monitor properties that relate monitors to server specifications that are de fined using contracts. One such property determines whether the conclusion reached by a monitor is correct wrt. a specification contract. Another property states that a monitor must be able to reach a conclusion about the server. In other words, it must be able to tell whether the server is implementing a specification or not. These properties are then used to study the notion of monitorability of contracts by using the newly created monitor language to defi ne an automatic synthesis from contracts to monitors. By using this synthesis, we show whether our contract language can create monitors which satisfy these properties. Description: M.SC.COMPUTER SCIENCE 2016-01-01T00:00:00Z Dynamic cluster scheduling for ALICE /library/oar/handle/123456789/18514 2017-07-27T08:39:02Z 2016-01-01T00:00:00Z Title: Dynamic cluster scheduling for ALICE Abstract: With the ever-increasing growth in data processing, simulation and other computation-heavy operations, more organisations are resorting to the use of computer clusters in order to keep up with their computational demands. A Large Ion Collider Experiment (ALICE), one of the experiments at the European Organisation for Nuclear Research (CERN), clearly exemplifies this demand for computational power, with hundreds of computing centres devoted to process and analyse petabytes of data generated yearly by the Large Hadron Collider (LHC). A number of problem domains often employ the use of specialised distributed software frameworks which assume total control of cluster resources, making efficient resource utilisation difficult when running the frameworks concurrently. In this work, meta-scheduling approaches are investigated in order to mitigate the resource allocation problem present when running multiple frameworks concurrently; in par- ticular, Apache Mesos, a meta-scheduler for distributed systems, is employed and extended to improve resource allocation without resorting to static partitioning. Furthermore, this research investigates the use of network topology-aware scheduling for a number of application profiles; a novel method for automatic dynamic network topology discovery using Layer 2 devices is presented and evaluated. The results show that employing topology-aware meta-scheduling strategies can drastically improve performance for certain application profiles, demonstrating significant speed-up, while also improving resource utilisation. Description: M.SC.COMPUTER SCIENCE 2016-01-01T00:00:00Z Performance analysis and auto-tuning of batch thread schedulers /library/oar/handle/123456789/18509 2017-09-28T09:59:21Z 2016-01-01T00:00:00Z Title: Performance analysis and auto-tuning of batch thread schedulers Abstract: Threads are provided by modern operating systems as a lightweight alternative to processes which are easily manageable at the user level. In the same process, threads share information such as the address space allowing for processes to split work amongst various threads which may be spread across a machines cores in a multi-core environment. E ciency in thread scheduling is vital as the overhead of the scheduler may negate any bene ts gained through utilising threads, even in a multi-core setting. With CPU clock speeds increasing and the overhead of using memory becoming more signi cant, e cient utilisation of the cache is vital with increasing the performance of any high performance application. Therefore, cache a ne thread scheduling is crucial for providing good performance. Reducing the amount of cache misses avoids the need to access slower areas in memory. As such, thread schedulers which promote high levels of thread locality are desirable. Batching is a technique which groups ne grained threads into coarser grained entities termed batches, in order to promote repeated cache use amongst grouped threads whilst still sharing work over all available cores in multi-core machines. Machine learning is commonly used to optimise algorithms and recently work has been done to apply machine learning methods to enhance thread scheduling algorithms. This project discusses the results of implementing a batch based scheduler on modern hardware and proposes a method to utilize optimisation methods in order to auto-tune the batch parameters for any given application. Description: M.SC.COMPUTER SCIENCE 2016-01-01T00:00:00Z Predicting spatial relationships for image descriptions /library/oar/handle/123456789/18507 2017-10-02T07:22:49Z 2016-01-01T00:00:00Z Title: Predicting spatial relationships for image descriptions Abstract: This dissertation studies and demonstrates how machine generated spatial relationships between image objects can improve the accuracy in retrieval-based image caption generation systems. To this end, a Random Forest Tree based spatial preposition predictive model is developed. This model outperforms current best preposition prediction accuracy rates. The main contribution of this dissertation lies on a proposed image description framework that casts the generation of image descriptions as a combination of generation-retrieval process. In contrast to all current retrieval-based methods, the suggested novel approach is designed to extract image descriptions from the endless multimedia content found on the Web. The system is evaluated by both human and computational methods. Results show that the proposed image description system is highly competitive to current state-of-art retrieval-based image description algorithms. Good results were achieved when describing images containing two image objects with object labels connected by spatial prepositions, while the web-retrieval based approach was notably effective when describing single-object images. Description: M.SC.COMPUTER SCIENCE 2016-01-01T00:00:00Z