Contributions Towards Dynamic Intelligent Software Systems

Reference

Degree Grantor

The University of Auckland

Abstract

The rapid advance in computing technology opens new opportunities in allowing the development of more complex distributed systems. In case of distributed systems with particular requirements like industrial manufacturing systems, concurrent software behaviours govern industrial machines (to give a certain level of intelligence) and need to dynamically change and reconfigure during runtime to satisfy manufacturing or operational requirements. These distributed systems that are governed by intelligent software behaviours and may dynamically change during runtime can be referred to as dynamic intelligent software systems (DISS). The programming of these systems may become more difficult and challenging for programmers as they grow in scale. To identify the design and programming requirements of DISS, a motivating example of DISS is presented. The identified design and programming requirements of DISS are used to assess the capability of the state of the art programming approaches for DISS in satisfying these requirements. Based on the assessment, none of the state of the art is capable of completely satisfying the design and programming requirements of DISS. This thesis proposes a novel programming paradigm called Service Oriented SystemJ (SOSJ) which combines both the service oriented architecture (SOA) paradigm and a formal model of computation (MoC)-based programming language SystemJ to better satisfy the design and programming requirements of DISS. The integration introduces new features, which consist of Beacon, Advertisement, Request for Advertisement, Discovery, Discovery Reply, and Notify, to achieve the SOA protocol in SOSJ. The integration of SOA paradigm introduces the concepts of service provider (software behaviour/entity which provides services) and service consumer (software behaviour/entity which uses services) into SystemJ. SOSJ uses centralized service registry to store the service description of services provided by service providers, where service consumer can perform service discovery on to obtain the list of services. The capability of SOSJ in satisfying the design and programming requirements is further strengthened with functionalities for programmers to easily handle dynamic behaviour (i.e. dynamic creation, suspension, resumption, termination, and migration) of clock domains (mutually asynchronous software behaviours individually composed of reactions). In line of the dynamic creation, suspension, resumption, termination, and migration handling functionalities, SOSJ clock domain (CD) macro-states are introduced, in which CD macro states may transition from one to another, forming the SOSJ CD life cycle. Based on the proposed programming paradigm, SOSJ framework is developed by extending the original SystemJ RTS (which is programmed entirely in Java) to realize the proposed SOA protocol and dynamic behaviour handling functionalities. The capability of SOSJ is compared against two different state of the art programming approaches in satisfying the design and programming requirements of DISS. Based on the comparison, it is shown that SOSJ is capable of better supporting the design and programming requirements of DISS that go beyond those in state of the art approaches. Also, SOSJ shows better overall performance in dynamic creation, suspension, resumption, and migration handling functionalities.

Description

DOI

Related Link

Keywords

ANZSRC 2020 Field of Research Codes

Collections