Ian Warren

dblp:36/5306 · DBLP profile ↗
← Back
23ranked-venue papers
2as first author
2since 2021 · last 2021
—ORCID · conflict

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 15 · 2 first-author · 2 since 2021Artificial intelligence and machine learning · 4Computer networks · 2Human-computer interaction and ubiquitous computing · 2Applied, interdisciplinary, general and emerging computing · 2 · 1 first-author
YearPublicationVenuePosition
2021 Formal security analysis for software architecture design: An expressive framework to emerging architectural styles
Nacha Chondamrongkul, Jing Sun 0002, Ian Warren
Sci. Comput. Program.3
2021 Software Architectural Migration: An Automated Planning Approach
abstract
Software architectural designs are usually changed over time to support emerging technologies and to adhere to new principles. Architectural migration is an important activity that helps to transform the architectural styles applied during a system’s design with the result of modernising the system. If not performed correctly, this process could lead to potential system failures. This article presents an automated approach to refactoring architectural design and to planning the evolution process. With our solution, the architectural design can be refactored, ensuring that system functionality is preserved. Furthermore, the architectural migration process allows the system to be safely and incrementally transformed. We have evaluated our approach with five real-world software applications. The results prove the effectiveness of our approach and identify factors that impact the performance of architectural verification and migration planning. An interesting finding is that planning algorithms generate migration plans that differ in term of their relative efficiency.
Nacha Chondamrongkul, Jing Sun 0002, Ian Warren
ACM Trans. Softw. Eng. Methodol.3
2020 Formal Software Architectural Migration Towards Emerging Architectural Styles
Nacha Chondamrongkul, Jing Sun 0002, Ian Warren
ECSA3
2020 Automated Planning for Software Architectural Migration
abstract
Software architecture design usually needs to be migrated to new architectural styles when new technologies and principles are adopted to enhance the qualities of the software system. The architectural migration is an evolution process, which the system is gradually and incrementally changed while the functionalities are still preserved. Planning the migration towards a new design is an important and challenging task. This paper presents an automated planning approach for architectural migration by applying AI planning and model checking technique. Our approach can automatically generate migration plans that can be used to find evolution path towards the new architecture designs. We have demonstrated our approach with a real-world system and found that it works effectively.
Nacha Chondamrongkul, Jing Sun 0002, Ian Warren
ICECCS3
2020 Formal Security Analysis for Blockchain-based Software Architecture
Nacha Chondamrongkul, Jing Sun 0002, Ian Warren
SEKE3
2020 Integrated Formal Tools for Software Architecture Smell Detection
abstract
The architecture smells are the poor design practices applied to the software architecture design. The smells in software architecture design can be cascaded to cause the issues in the system implementation and significantly affect the maintainability and reliability attribute of the software system. The prevention of architecture smells at the design phase can therefore improve the overall quality of the software system. This paper presents a framework that supports the detection of architecture smells based on the formalization of architecture design. Our modeling specification supports representing both structural and behavioral aspect of software architecture design; it allows the smells to be analyzed and detected with the provided tools. Our framework has been applied to seven architecture smells that violate different design principles. The evaluation has been conducted and the result shows that our detection approach gives accurate results and performs well on different size of models. With the proposed framework, other architecture smells can be defined and detected using the process and tools presented in this paper.
Nacha Chondamrongkul, Jing Sun 0002, Ian Warren, Scott Uk-Jin Lee
Int. J. Softw. Eng. Knowl. Eng.3
2019 PAT approach to Architecture Behavioural Verification
abstract
Software architecture design plays a vital role in software development, as it gives an overview of how the software system should be constructed and executed at runtime.The verification of software architecture design is hence important but it is an error-prone task that heavily relies on knowledge and experience of the software architect, especially for a large software system that its behaviour is complex.Automated verification can be a solution to this problem, however, the specification language must be expressive enough to describe the behaviour of different design entities.This paper presents an enhancement of an architecture description language supported by PAT.The enhancement aims to improve the expressiveness of the language, in order to support the automated behaviour verification of software architecture design.With this enhancement, different behaviour of specific component and connector can be thoroughly checked and traced.The implementation of this enhancement is presented to demonstrate how the standard model checking engine such as PAT can be extended to support an architecture description language.We evaluated our approach with a case study and the result is presented.
Nacha Chondamrongkul, Jing Sun 0002, Ian Warren
SEKE3
2018 Ontology-based Software Architectural Pattern Recognition and Reasoning (S)
abstract
Designing software architecture is a knowledgeintensive task that typically involves textual and diagrammatic notation.Using these kinds of notation is often inconsistent, misleading, and ambiguous.Ontology representation is, therefore, a suitable approach, as it can semantically define architectural design model that can be automatically verified through reasoning.However, a large-scale software system is usually complex and applies more than one architectural styles with various behavioral patterns.Therefore, the scalability of automated verification for a complex software architecture design is a challenge.We propose an approach that helps to formally define complex architectural design model and automate different verifications such as consistency checking, architectural styles recognition, and behavioral sequence inference.Ontology Web Language (OWL) is used to semantically define basic architectural elements and architectural styles, while a set of rules defined in Semantic Web Rule Language (SWRL) helps to capture behavioral pattern according to style.We evaluated the scalability of our approach.The result shows that different levels of complexity in architectural design model has a minor impact on the verification performance. I.
Nacha Chondamrongkul, Jing Sun 0002, Ian Warren
SEKE3
2018 BackPocketDriver - A Mobile App to Enhance Safe Driving for Youth (S)
abstract
Young drivers are one of the highest risk groups for being involved in car accidents.BackPocketDriver (BPD) is an Android application that aims at encouraging young drivers to adopt and hone safe driving skills.Smartphone sensors are used to monitor driver behaviour, including speed, turning, acceleration and braking.The journey data is analysed for unsafe behaviour with user feedback, which includes journey review, positive reinforcement using textual messages, goal setting and points scoring.To achieve this, behavioural change techniques were studied in relation to gamification, and several features were implemented into BackPocketDriver including achievements, leader board, quizzes, friends system, etc. Evaluations in terms of functional comparisons with related tools were conducted to measure the advantages of the proposed solution.The BPD app provides effective improvements to youth driving. I.
Catherine Shanly, Michael Ieti, Ian Warren, Jing Sun 0002
SEKE3
2018 An Experience Report on a Boot-Camp Style Programming Course
abstract
Recently, there has been a strong demand for talented ICT (Information and Communication Technology) graduates in the software industry in New Zealand. To meet this demand, in 2015, the government of New Zealand provided funding for three new ICT Graduate Schools. The challenge for the schools was twofold: to provide a qualification for students transitioning into ICT and to prepare those with an ICT education for the workforce. Each of the Schools offer different programmes. We offer two postgraduate programmes for growing talent and knowledge to support the New Zealand's ICT sector. In this paper, we describe our experience with delivering one of the postgraduate programmes, the Postgraduate Certificate in Information Technology. The programme consists of two courses, Programming for Industry and Programming with Web Technologies. The courses focus on providing industry-focused education to students with non-ICT backgrounds for a career in IT. The programme has been running for 2 years and runs over one semester (12 weeks) in a "boot-camp" style, which has proved to be successful. In this paper, we provide an overview of the features of the programme, which incorporates industry-focused activities for building students' knowledge relevant to the software industry. Finally, we discuss key challenges and identify directions for improvement.
Yu-Cheng Tu 0001, Gillian Dobbie, Ian Warren, Andrew Meads, Cameron Grout
SIGCSE3
2013 Stateful Web Services - Auto Modeling and Composition
abstract
The web service community has introduced many techniques to cope with the inability of WSDL to describe a service's behavior. Those techniques range from embedding more XML tags in WSDL, to generate formal behavioral models on top of WSDL. Apart from the efficiency of these techniques, a common problem is that they require manual efforts to model the behavior of a service, and often need informal documentation from service vendors to do so. In this paper, we propose a solution for the above problem by automatically extracting a service's behavior, directly from its WSDL document. Our approach is based on the utilization of particular WSDL elements, which are usually ignored by bottom-up approaches while generating a WSDL file. We illustrate our process in steps by taking a scenario from Amazon E-commerce Web Service. We also survey the issues with extracting the behavioral models, from the WSDLs of existing web services. Finally, we tested our automatically generated models by composing them together using our service composition framework.
Syed Adeel Ali, Partha S. Roop, Ian Warren
ICWS3
2013 Design eye: an interactive learning environment based on the solo taxonomy
abstract
We describe the design of a web-based interactive learning environment that guides students' learning of visual aesthetics. With aesthetics, the whole is greater than the sum of its parts. However, initially we take an element-by-element approach that aligns well to the SOLO Taxonomy and software components. Using the colour element as an exemplar, we trialled our online learning environment with 36 undergraduate students undertaking a Human-Computer Interaction course. The results suggest that students enjoy and engage in the process, indicating the potential of our structured approach to learning visual aesthetics within Human Computer Interaction education.
Safurah Binti Abdul Jalil, Beryl Plimmer, Ian Warren, Andrew Luxton-Reilly
ITiCSE3
2010 ID scanners in the night time economy
abstract
ID scanners are quickly emerging as a new technological fix to long-standing problems of security and safety within licensed venues. Yet at this point in time detailed research of this rapidly expanding security technology is remarkably limited. To address this analytical deficit we are currently examining the uptake of ID scanners in licensed venues operating in the nighttime economy. We have found significant interest in the implementation of ID scanners in other Australian cities. However, the introduction of ID scanners in late-night licensed venues has occurred with little public awareness, no policy consideration and questionable claims concerning their effectiveness in enhancing safety and reducing crime. This article explores the factors shaping the introduction if ID scanners and the underlying beliefs concerning their utility as a crime prevention technology. The article then considers some broader implications to be explored in future analyses.
Darren Palmer, Ian Warren, Peter Miller
ISTAS2
2010 Odin: Context-Aware Middleware for Mobile Services
abstract
Abstract—Mobile devices such as smart phones are increas-ing permeating society. With strides in computational power, coupled with the ability to connect to other small devices, smart phones are able to host novel services. To address the repetitive problems associated with mobile service development, namely service reachability, scalability and availability, we have developed Odin, which is a middleware platform for mobile service provisioning. Beyond providing a provisioning solution, Odin conserves scarce resources such as network bandwidth and device power supply. However, Odin has previously lacked an ability to take into account operational context. In this paper, we present context-aware extensions to Odin that further optimise resource usage. Augmented with support for context types that include location, performance, power and network, Odin is able to propagate context information to applications and dynamic adapt the middleware’s behaviour. Novelty of the work lies in a solution whose device overhead is very low, and one that offers a coherent approach to context dis-semination and adaptation. Based on quantitative evaluation, context-aware Odin’s low overhead is demonstrated along with significant gains in resource conservation. I.
Thiranjith Weerasinghe, Ian Warren
SERVICES2
2009 Empowering intermediary-based infrastructure for mobile service provisioning
abstract
There has been growing interest recently in transforming small mobile devices from simple service consumers into service providers. The shift from consumer to provider has been made possible by hardware advances that enable small devices to host services. Combined with features like multihoming, small devices can be augmented with other devices to provide new services that exploit their inherent mobility. Intermediary-based middleware has emerged as a promising means for realising mobile services. Essentially, an intermediary is a host on a fixed network that contains a proxy for a mobile service, with clients consuming the service via the proxy. Our intermediary-based middleware ensures reachability and scalability of mobile services, and offers switching among heterogeneous network connections used to link services to their proxies. In this paper, we present further development, based on proxy migration, that enables optimisation of both device and intermediary-side resources, and which enhances mobile service availability.
Thiranjith Weerasinghe, Ian Warren
APSCC2
2009 Mobile Service Provisioning Middleware for Multihomed Devices
abstract
Recent years have witnessed growing interest in using mobile devices to host services. The move from service consumer to service provider has been enabled by advances in mobile device hardware. Many contemporary devices also come equipped with multihoming, which allows a device to connect to heterogeneous networks, such as GPRS, WiFi and Bluetooth. To help leverage these new capabilities, we have developed middleware infrastructure that allows clients to consume services hosted on mobile devices. In this paper, we describe key functions of the middleware, namely ensuring reachability of roaming services and managing device connectivity in the presence of multihoming. Novel contributions of our work include session-preserving connectivity, proactive and reactive switching between network interfaces, and independence of network technologies and communication protocols. Proactive switching allows a device to initiate a switch from one network interface to another. Reactive switching responds to the loss of connectivity on one interface by changing to another. In both cases the logical connection, including any state, is preserved. Furthermore, logical connectivity is preserved when switching between heterogeneous networks and protocols. Our current implementation includes support for Bluetooth and HTTP/WiFi connectivity. Preliminary performance evaluation reveals that the middleware imposes little and acceptable overhead at run-time.
Andrew Meads, Adam Roughton, Ian Warren, Thiranjith Weerasinghe
WiMob3
2008 Jini++: A Framework for Developing Pervasive and Wireless Distributed Applications
abstract
Applications that run on mobile devices and which communicate over wireless networks are becoming increasingly ubiquitous. Conventional technologies developed for use over wired networks are however unsuitable for wireless environments. In particular, wireless links are relatively unreliable, bandwidth-constrained and can be expensive to use. Furthermore, established technologies do not address the needs of more dynamic pervasive computing environments that are well suited to mobile devices. In this paper, we present an overview of Jini++, a framework that supports development of mobile applications and addresses challenges posed by wireless and pervasive environments. Applications built using Jini++ are context aware in that they intelligently adapt to changes in network conditions and service availability. In addition, Jini++ employs measures to conserve bandwidth and offers support for developing crash-resilient applications. Using Jini++, application developers are free to focus on application logic, thus being relieved of the complexity associated with remote communication. Based on evaluation, we have found Jini++'s simple programming model to reduce development time, and at run-time Jini++ to make more efficient and effective use of the network than current mainstream technologies.
Zhi Quan Lee, Yuan Qin Zhu, Ian Warren
ICECCS3
2008 A Scalable Approach to Multi-style Architectural Modeling and Verification
abstract
Software Architecture represents the high level description of a system in terms of components, external properties and communication. Despite its importance in the software engineering process, the lack of formal description and verification support limits the value of developing architectural models. Automated formal engineering methods can provide an effective means to precisely describe and rigorously verify intended structures and behaviors of software systems. In this paper, we present an approach to support the design and verification of software architectural models using the Alloy analyzer. Based on our earlier work, we propose a fundamental library for specifying system structures in terms of different architectural styles. We illustrate use of the architecture style library in modeling and verifying a complex system that utilizes multi-style structures. To promote scalability, we use model decomposition to parallelize the verification process. Results show that our approach enhances the performance of verifying models significantly.
Jing Sun 0002, Ian Warren, Jun Sun 0001
ICECCS3
2006 An Automated Formal Approach to Managing Dynamic Reconfiguration
abstract
Dynamic reconfiguration is the process of making changes to software at run-time. The motivation for this is typically to facilitate adaptive systems which change their behavior in response to changes in their operating environment or to allow systems with a requirement for continuous service to evolve uninterrupted. To enable development of reconfigurable applications, we have developed OpenRec, a framework which comprises a reflective component model plus an open and extensible reconfiguration management infrastructure. Recently we have extended OpenRec to verify whether an intended (re)configuration would result in an application's structural constraints being satisfied. Consequently OpenRec can automatically veto proposed changes that would violate configuration constraints. This functionality has been realized by integrating OpenRec with the ALLOY Analyzer tool via a service-oriented architecture. ALLOY is a formal modelling notation which can be used to specify systems and associated constraints. In this paper, we present an overview of the OpenRec framework. In addition, we describe the application of ALLOY to modelling re-configurable component based systems and highlight some interesting experiences with integrating OpenRec and the ALLOY Analyzer
Ian Warren, Jing Sun 0002, Sanjev Krishnamohan, Thiranjith Weerasinghe
ASE1
2004 An Open Framework for Dynamic Reconfiguration
abstract
Dynamic reconfiguration techniques appear promising for building systems that have requirements for adaptability and/or high availability. Current systems that support dynamic reconfiguration tend to use a single, fixed, reconfiguration algorithm to manage the change process. Furthermore, existing change management systems lack support for measuring the impact of reconfiguration on a running system. In this paper, we introduce OpenRec, an open framework for managing dynamic reconfiguration which addresses these drawbacks. Using OpenRec, developers can observe the costs, in terms of time and disturbance, associated with making a particular run-time change. In addition, OpenRec employs an extensible set of reconfiguration algorithms where one algorithm can be substituted for another. Developers can thus make an informed decision as to which algorithm to use based on comparative analysis. Finally, OpenRec is itself dynamically reconfigurable.
Jamie Hillman, Ian Warren
ICSE2
2004 A Framework for Developing Reflective and Dynamic P2P Networks (RaDP2P)
abstract
There has been a significant body of research conducted into various structured and unstructured overlay network protocols. Both paradigms have advantages for specific application domains and researchers are beginning to examine the benefits of using hybridized systems. We hypothesize that resource awareness and adaptation are essential to the efficient exploitation of the resources available on the diverse nodes which compose peer-to-peer networks. To support this, we propose a hybrid peer-to-peer model which uses an unstructured decentralised network layered on top of a structured overlay to provide support for multiple levels of adaptation.
Danny Hughes 0001, Geoff Coulson, Ian Warren
Peer-to-Peer Computing3
2003 AGnuS: The Altruistic Gnutella Server
abstract
The first generation of peer-to-peer file sharing systems followed the traditional client-server paradigm. However, legality and scalability issues have driven the development of decentralized file sharing protocols; the most popular of these being Gnutella. To date, such systems have been unable to match the quality of service (QoS) offered by centralized architectures. AGnuS improves QoS on Gnutella by increasing file availability, improving network friendliness and increasing file quality. This is achieved by layering caching, load balancing, content-based routing and filtering services on top of the core Gnutella protocol.
Danny Hughes 0001, Ian Warren, Geoff Coulson
Peer-to-Peer Computing2
2002 Renaissance: A Method to Support Software System Evolution
abstract
Legacy systems are often business critical and are associated with high maintenance costs. In this paper, we present an overview of a method, Renaissance, which aims to manage the process of regaining control over such systems. Renaissance supports system evolution by first recovering a stable basis using reengineering, and subsequently continuously improving the system by a stream of incremental changes. In both cases, the extent of evolution is determined by a phase which takes into account of technical, business, and organisational factors. Renaissance defines a process framework, a predefined number of evolution strategies, an information repository, and a generic set of personnel responsibilities. The method can be tailored to the needs of particular projects and organisations, and it is not prescriptive of particular tools and techniques.
Ian Warren, Jane Ransom
COMPSAC1