Xiwei Xu
Commonwealth Scientific and Industrial Research Organisation
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Xiwei Xu.
asia-pacific software engineering conference | 2008
Xiwei Xu; Liming Zhu; Yan Liu; Mark Staples
REpresentational State Transfer (REST) is the set of design principles behind the World Wide Web (WWW). REST treats all entities in the world as link-connected resources, and supports a resource-oriented architecture (ROA) for the design of applications. REST and ROA are responsible for many of the desirable quality attributes achieved in the WWW, such as loose-coupling (better adaptability) and interoperability. However, many exiting Web-based or service-oriented applications (WSDL/SOAP-based) only use WWW/HTTP as a tunneling protocol or abuse URL and POX (Plain Old XML) by encoding method semantics in them. These applications use fine-grained remote procedure calls (RPC), breaking REST/ROA principles. We observe two kinds of challenges: 1) conceptually modelling process-intensive applications using a ROA promoted by the REST principles; and 2) practically decomposing a workflow-based business process into distributed, dynamic and RESTful process fragments. In this paper, we propose a ROA for business processes following the RESTful principles. We evaluate our approach by comparing it with current SOAP/WSDL/BPEL-driven approaches in terms of feasibility, process visibility, interoperability, and adaptability.
working ieee/ifip conference on software architecture | 2016
Xiwei Xu; Cesare Pautasso; Liming Zhu; Vincent Gramoli; Alexander Ponomarev; An Binh Tran; Shiping Chen
Blockchain is an emerging technology for decentralized and transactional data sharing across a large network of untrusted participants. It enables new forms of distributed software architectures, where components can find agreements on their shared states without trusting a central integration point or any particular participating components. Considering the blockchain as a software connector helps make explicitly important architectural considerations on the resulting performance and quality attributes (for example, security, privacy, scalability and sustainability) of the system. Based on our experience in several projects using blockchain, in this paper we provide rationales to support the architectural decision on whether to employ a decentralized blockchain as opposed to other software solutions, like traditional shared data storage. Additionally, we explore specific implications of using the blockchain as a software connector including design trade-offs regarding quality attributes.
business process management | 2016
Ingo Weber; Xiwei Xu; Régis Riveret; Guido Governatori; Alexander Ponomarev; Jan Mendling
The integration of business processes across organizations is typically beneficial for all involved parties. However, the lack of trust is often a roadblock. Blockchain is an emerging technology for decentralized and transactional data sharing across a network of untrusted participants. It can be used to find agreement about the shared state of collaborating parties without trusting a central authority or any particular participant. Some blockchain networks also provide a computational infrastructure to run autonomous programs called smart contracts. In this paper, we address the fundamental problem of trust in collaborative process execution using blockchain. We develop a technique to integrate blockchain into the choreography of processes in such a way that no central authority is needed, but trust maintained. Our solution comprises the combination of an intricate set of components, which allow monitoring or coordination of business processes. We implemented our solution and demonstrate its feasibility by applying it to three use case processes. Our evaluation includes the creation of more than 500 smart contracts and the execution over 8,000 blockchain transactions.
2017 IEEE International Conference on Software Architecture (ICSA) | 2017
Xiwei Xu; Ingo Weber; Mark Staples; Liming Zhu; Jan Bosch; Len Bass; Cesare Pautasso; Paul Rimba
Blockchain is an emerging technology for decentralised and transactional data sharing across a large network of untrusted participants. It enables new forms of distributed software architectures, where agreement on shared states can be established without trusting a central integration point. A major difficulty for architects designing applications based on blockchain is that thetechnology has many configurations and variants. Since blockchains are at an early stage, there is little product data or reliable technology evaluation available to compare different blockchains. In this paper, we propose how to classify and compare blockchains and blockchain-based systems to assist with the design and assessment of their impact on software architectures. Our taxonomy captures major architectural characteristics of blockchains and the impact of their principal design decisions. This taxonomy is intended to help with important architectural considerations about the performance and quality attributes of blockchain-based systems.
acm transactions on management information systems | 2018
Jan Mendling; Ingo Weber; Wil M. P. van der Aalst; Jan vom Brocke; Cristina Cabanillas; Florian Daniel; Søren Debois; Claudio Di Ciccio; Marlon Dumas; Schahram Dustdar; Avigdor Gal; Luciano García-Bañuelos; Guido Governatori; Richard Hull; Marcello La Rosa; Henrik Leopold; Frank Leymann; Jan Recker; Manfred Reichert; Hajo A. Reijers; Stefanie Rinderle-Ma; Andreas Solti; Michael Rosemann; Stefan Schulte; Munindar P. Singh; Tijs Slaats; Mark Staples; Barbara Weber; Matthias Weidlich; Mathias Weske
Blockchain technology offers a sizable promise to rethink the way interorganizational business processes are managed because of its potential to realize execution without a central party serving as a single point of trust (and failure). To stimulate research on this promise and the limits thereof, in this article, we outline the challenges and opportunities of blockchain for business process management (BPM). We first reflect how blockchains could be used in the context of the established BPM lifecycle and second how they might become relevant beyond. We conclude our discourse with a summary of seven research directions for investigating the application of blockchain technology in the context of BPM.
web information systems engineering | 2010
Xiwei Xu; Liming Zhu; Udo Kannengiesser; Yan Liu
REpresentational State Transfer (REST) is the architecture style behind the World Wide Web (WWW), allowing for many desirable quality attributes such as adaptability and interoperability. However, as many process-intensive Web information systems do not make use of REST, they often do not achieve these qualities. This paper addresses this issue by proposing RESTful Business Processes (RESTfulBP), an architectural style that adapts REST principles to Web-based business processes. RESTfulBP views processes and activities as transferrable resources by representing them as process fragments associated with a set of standard operations. Distributed process fragments interoperate by adhering to these operations and exchanging process information. The process information contains basic workflow patterns that are used for dynamic process coordination at runtime. We validate our approach through an industry case study.
next generation internet | 2013
Xiwei Xu; Ingo Weber; Len Bass; Liming Zhu; Hiroshi Wada; Fei Teng
In this paper, we demonstrate the feasibility of annotating a process model with assertions to detect errors in cloud provisioning in near real time. Our proposed workflow is: a) construct a process model of the desired provisioning activities using log data, b) use the process model to determine appropriate annotation triggers and annotate the process model with assertions, c) use the process model to monitor the deployment logs as they are generated, d) trigger the assertion checking based on process activities and log entries, and e) check the assertions to determine errors. For a production deployment tool, Asgard, we have implemented the steps involving constructing a process model, using the model to determine appropriate annotation triggers, triggering the annotation checking based on Asgard log files, and detecting errors. Our prototype has detected errors that cross deployment tool boundaries and go undetected by Asgard; it further has detected other errors substantially more quickly than Asgard would have.
IEEE Software | 2016
Dongyao Wu; Liming Zhu; Xiwei Xu; Sherif Sakr; Daniel Sun; Qinghua Lu
Many real-world data analysis scenarios require pipelining and integration of multiple (big) data-processing and data-analytics jobs, which often execute in heterogeneous environments, such as MapReduce; Spark; or R, Python, or Bash scripts. Such a pipeline requires much glue code to get data across environments. Maintaining and evolving these pipelines are difficult. Pipeline frameworks that try to solve such problems are usually built on top of a single environment. They might require rewriting the original job to take into account a new API or paradigm. The Pipeline61 framework supports the building of data pipelines involving heterogeneous execution environments. It reuses the existing code of the deployed jobs in different environments and provides version control and dependency management that deals with typical software engineering issues. A real-world case study shows its effectiveness. This article is part of a special issue on Software Engineering for Big Data Systems.
international conference on cloud computing | 2013
Qinghua Lu; Xiwei Xu; Liming Zhu; Len Bass; Zhanwen Li; Sherif Sakr; Paul L. Bannerman; Anna Liu
Cloud consumers have a variety of deployment related techniques, such as auto-scaling policies and recovery strategies, for dealing with the uncertainties in the cloud. Uncertainties can be characterized as stochastic (such as failures, disasters, and workload spikes) and subjective (such as choice among various deployment options). Cloud consumers must consider both stochastic and subjective uncertainties. Analytic support for consumers in selecting appropriate techniques and setting the required parameters in the face of different types of uncertainty is currently limited. In this paper, we propose a set of application availability analysis models that capture subjective uncertainties in addition to stochastic uncertainties. We built and validated the models by using industry best practices on deployment, and actual commercial products for disaster recovery and live migration. Our results show that the models permit more informed and quantitative availability analysis than industry best practices under a wide range of scenarios.
2017 IEEE International Conference on Software Architecture (ICSA) | 2017
Paul Rimba; An Binh Tran; Ingo Weber; Mark Staples; Alexander Ponomarev; Xiwei Xu
Blockchain is of rising importance as a technology for engineering applications in cross-organizational settings, avoiding reliance on central trusted third-parties. The use of blockchain, instead of traditional databases or services, is an architectural choice in the development of a software system. The costs of execution and storage are important non-functional qualities, but as yet very little has been done to study them for blockchain-based systems. We investigate the cost of using blockchain using business process execution as a lens. Specifically, we compare the cost for computation and storage of business process execution on blockchain vs. a popular cloud service. First, we capture the cost models for both alternatives. Second, we implemented and measured the cost of business process execution on blockchain and cloud services for an example business process model from the literature. We observe two orders of magnitude difference in this cost.
Collaboration
Dive into the Xiwei Xu's collaboration.
Commonwealth Scientific and Industrial Research Organisation
View shared research outputsCommonwealth Scientific and Industrial Research Organisation
View shared research outputs