XES Software Communication Extension

Similar documents
Insulin acutely upregulates protein expression of the fatty acid transporter CD36 in human skeletal muscle in vivo

The multi-perspective process explorer

Document Version Publisher s PDF, also known as Version of Record (includes final page, issue and volume numbers)

Syddansk Universitet. Værktøj til videndeling og interaktion. Dai, Zheng. Published in: inform. Publication date: 2009

Getting state-space models from FEM simulations

Visual support for work assignment in YAWL

Building petabit/s data center network with submicroseconds latency by using fast optical switches Miao, W.; Yan, F.; Dorren, H.J.S.; Calabretta, N.

Eventpad : a visual analytics approach to network intrusion detection and reverse engineering Cappers, B.C.M.; van Wijk, J.J.; Etalle, S.

Features of the architecture of decision support systems

Efficient realization of the block frequency domain adaptive filter Schobben, D.W.E.; Egelmeers, G.P.M.; Sommen, P.C.W.

Mapping real-life applications on run-time reconfigurable NoC-based MPSoC on FPGA. Singh, A.K.; Kumar, A.; Srikanthan, Th.; Ha, Y.

MoviCompile : An LLVM based compiler for heterogeneous SIMD code generation Diken, E.; Jordans, R.; O'Riordan, M.

Three-dimensional analytical field calculation of pyramidal-frustum shaped permanent magnets Janssen, J.L.G.; Paulides, J.J.H.; Lomonova, E.A.

Locally unique labeling of model elements for state-based model differences

Isointense infant brain MRI segmentation with a dilated convolutional neural network Moeskops, P.; Pluim, J.P.W.

Tilburg University. The use of canonical analysis Kuylen, A.A.A.; Verhallen, T.M.M. Published in: Journal of Economic Psychology

Suitability of thick-core plastic optical fibers to broadband in-home communication Forni, F.; Shi, Y.; Tangdiongga, E.; Koonen, A.M.J.

Simulation of BSDF's generated with Window6 and TracePro prelimenary results

Robot programming by demonstration

van Gool, L.C.M.; Jonkers, H.B.M.; Luit, E.J.; Kuiper, R.; Roubtsov, S.

Quality improving techniques in DIBR for free-viewpoint video Do, Q.L.; Zinger, S.; Morvan, Y.; de With, P.H.N.

Pattern-based evaluation of Oracle-BPEL

De nauwkeurigheid van de krachtopnemer

Evaluation strategies in CT scanning

Reduction in Power Consumption of Packet Counter on VIRTEX-6 FPGA by Frequency Scaling. Pandey, Nisha; Pandey, Bishwajeet; Hussain, Dil muhammed Akbar

Online Conformance Checking for Petri Nets and Event Streams

Modelling of Wind Turbine Blades with ABAQUS

Multibody Model for Planetary Gearbox of 500 kw Wind Turbine

Ideas to help making your research visible

Single Wake Meandering, Advection and Expansion - An analysis using an adapted Pulsed Lidar and CFD LES-ACL simulations

Edinburgh Research Explorer

Using the generalized Radon transform for detection of curves in noisy images

Performance analysis and modelling of an OSA gateway

WoPeD - A "Proof-of-Concept" Platform for Experimental BPM Research Projects

MMI reflectors with free selection of reflection to transmission ratio Kleijn, E.; Vries, de, T.; Ambrosius, H.P.M.M.; Smit, M.K.; Leijtens, X.J.M.

Institutional Repository - Research Portal Dépôt Institutionnel - Portail de la Recherche

Energy-Efficient Routing in GMPLS Network

Toevallige afwijkingen bij het meten van eigenschappen van random signalen van Heck, J.G.A.M.

DNP Communication Function with RTDS GTNET-DNP& ASE Interface Test Results

IP lookup with low memory requirement and fast update

Exercise in Configurable Products using Creo parametric

Aalborg Universitet. Published in: Proceedings of the 19th Nordic Seminar on Computational Mechanics. Publication date: 2006

Usage statistics and usage patterns on the NorduGrid: Analyzing the logging information collected on one of the largest production Grids of the world

Proposal for tutorial: Resilience in carrier Ethernet transport

Monotonicity of the throughput in single server production and assembly networks with respect to the buffer sizes Adan, I.J.B.F.; van der Wal, J.

Tilburg University. European architect law van Gulijk, Stéphanie. Publication date: Link to publication

Rotor Performance Enhancement Using Slats on the Inner Part of a 10MW Rotor

Radiochemical analysis of important radionuclides in Nordic nuclear industry

Visualisation of ergonomic guidelines

Streaming Multimedia via Overlay Networks using Wi-Fi Peer-to-Peer Connections

Mobile network architecture of the long-range WindScanner system

Tracking Human Mobility Using WiFi Signals

Framework for Optimizing Cluster Selection using Geo-assisted Movement Prediction

Integrating decision management with UML modeling concepts and tools

Developing Mobile Systems using PalCom -- A Data Collection Example

Improving design processes through structured reflection : a prototype software tool Reymen, I.M.M.J.; Melby, E.

2.5D far-field diffraction tomography inversion scheme for GPR that takes into account the planar air-soil interface

Predictive models for accidents on urban links - A focus on vulnerable road users

Performance auto-tuning of rectangular matrix-vector multiplication: how to outperform CUBLAS

Towards Grading Gleason Score using Generically Trained Deep convolutional Neural Networks

Aalborg Universitet. Just-In-Place Information for Mobile Device Interfaces Kjeldskov, Jesper. Published in: Paterno, F. (ed.)

History Matching: Towards Geologically Reasonable Models

Published in: Mobile Wireless Middleware, Operating Systems, and Applications - Workshops

Navigation and Tree Mapping in Orchards

Multi-Agent Programming Contest The Python-DTU Team

A GPU-based High-Performance Library with Application to Nonlinear Water Waves

Teaching hypertext and hypermedia through the web

Conversion of free-viewpoint 3D multi-view video for stereoscopic displays Do, Q.L.; Zinger, S.; de With, P.H.N.

Controller Synthesis for Hardware Accelerator Design

Published in: Proceedings of the 3rd International Symposium on Environment-Friendly Energies and Applications (EFEA 2014)

Visualizing traceability in model transformation compositions van Amstel, M.F.; Serebrenik, A.; van den Brand, M.G.J.

How to deposit your accepted paper in ORA through Symplectic

Analysis of IP-based Real-Time In-Car Networks with Network Calculus Revsbech, Kasper; Nielsen, Jimmy Jessen; Harritsø, Kevin; Steffen, Rainer

Neural Network modeling of forward and inverse behavior of rotary MR damper

Published in: Proceedings of the 3rd International Symposium on Environment-Friendly Energies and Applications (EFEA 2014)

Analysis of Information Quality in event triggered Smart Grid Control Kristensen, Thomas le Fevre; Olsen, Rasmus Løvenstein; Rasmussen, Jakob Gulddahl

Determination of Angle of Attack (AOA) for Rotating Blades

Citation for published version (APA): Bhanderi, D. (2001). ACS Rømer Algorithms Verification and Validation. RØMER.

How to deposit your accepted paper in ORA through Symplectic

Tilburg University. Authoritative re-ranking of search results Bogers, A.M.; van den Bosch, A. Published in: Advances in Information Retrieval

Efficient Resource Allocation on a Dynamic Simultaneous Multithreaded Architecture Ortiz-Arroyo, Daniel

Published in: 11th International Conference on Advanced Communication Technology, ICACT 2009

Towards a Framework for Modelling and Verification of Relay Interlocking Systems

Protection coordination: Determination of break point set

Developing Seamless Discovery of Scholarly and Trade Journal Resources Via OAI and RSS Chumbe, Santiago Segundo; MacLeod, Roddy

Smart Grid Communication Comparison Distributed Control Middleware and Serialization Comparison for the Internet of Things

Published in: Proceedings of Conference on Architectural Research and Information Technology, 2001, Aarhus School of Architecture

Edinburgh Research Explorer

CrossRef tools for small publishers

Aalborg Universitet. Mobile Phone Antenna Performance 2013 Pedersen, Gert F. Publication date: 2013

VEHIL - HIL testing of advanced driver assistance systems Ploeg, J.

A Replicated Study on Duplicate Detection: Using Apache Lucene to Search Among Android Defects

Citation for published version (APA): Berthing, H. H. (2014). Vision for IT Audit Abstract from Nordic ISACA Conference 2014, Oslo, Norway.

Published in: Proceedings of the 18th Annual Symposium of the IEEE Photonics Benelux Chapter, November 2013, Technische Universiteit Eindhoven

Find, Evaluate and Cite Articles for Research Using EBSCO multi-search

How to deposit your accepted paper in ORA through Symplectic

Analysis of Timing Requirements for Data Aggregation and Control in Smart Grids

Ecma International Policy on Submission, Inclusion and Licensing of Software

Archive Legislation: archiving in the United Kingdom. The key laws that affect your business

One-to-one point set matchings for grid map layout

Transcription:

XES Software Communication Extension Leemans, M.; Liu, C. Published: 20/11/2017 Document Version Accepted manuscript including changes made at the peer-review stage Please check the document version of this publication: A submitted manuscript is the author's version of the article upon submission and before peer-review. There can be important differences between the submitted version and the official published version of record. People interested in the research are advised to contact the author for the final version of the publication, or visit the DOI to the publisher's website. The final author version and the galley proof are versions of the publication after peer review. The final published version features the final layout of the paper including the volume, issue and page numbers. Link to publication Citation for published version (APA): Leemans, M., & Liu, C. (2017). XES Software Communication Extension. s.l.: XES Working Group. General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. Users may download and print one copy of any publication from the public portal for the purpose of private study or research. You may not further distribute the material or use it for any profit-making activity or commercial gain You may freely distribute the URL identifying the publication in the public portal? Take down policy If you believe that this document breaches copyright please contact us providing details, and we will remove access to the work immediately and investigate your claim. Download date: 04. Jan. 2018

XES Software Communication Extension M. Leemans C. Liu June 22, 2017 Documents: XES Software Communication Extension Authors: M. Leemans, C. Liu Email: m.leemans@tue.nl Date: June 22, 2017 Version: 5.2 1 Introduction and Background During the execution of software, execution data can be recorded. With the development of process mining techniques on the one hand, and the growing availability of software execution data on the other hand, a new form of software analytics comes into reach. That is, applying process mining techniques to analyze software execution data. To enable process mining for software, event logs should be capable of capturing software-specific data. In the context of multi-process and distributed software, there are multiple software applications interacting and communicating with each other. The Software Communication extension supports recording IP-based communication for relating events across software applications. Extension definition Name: Prefix: URI: XML: Software Communication swcomm http://www.xes-standard.org/swcomm.xesext <extension name="software Communication" prefix="swcomm" uri="http://www.xes-standard.org/swcomm.xesext"/> The remainder of this extension is organized as follows. In Section 2 we explain some basic terminology. In Section 3 we detail how communication is recorded. Section 4 provides an example, and the XES Extension definition is given in Section 4.1. Finally, in Section 5 provides a reference glossary. 1

2 Terminology In this extension, we will use some software-specific terminology. We provided a reference glossary in Section 5. For this extension, we will assume the use of the IP protocol. In a multi-process or distributed software application, multiple programs are collaborating. Whenever a program A is collaborating with program B, for example, to request a service, they use a communication channel. Such a communication channel is identified by two endpoints: a local and a remote endpoint. Each endpoint is described by a combination of a host and a port. For example, suppose program A runs on host 127.0.0.1 at port 9000, and program B runs on host 127.0.0.1 at port 9021. Then, when A sends some data to B, we can record two events: 1) the sending of data with local endpoint 127.0.0.1:9000 and remote endpoint 127.0.0.1:9021, and 2) the receiving of data with local endpoint 127.0.0.1:9021 and remote endpoint 127.0.0.1:9000. Observe that events can be related across applications through matching endpoints. 3 Communication Information At runtime, whenever an application communicates with another program, it does so over a communication channel. Such a communication channel is identified by two endpoints: a local and a remote endpoint. Each endpoint is described by a combination of a host and a port. Typical candidate locations for evens with communication information are sockets and other network or communication layer software code. Level Key Type Description event localhost string The local host name for the local endpoint. event localport int The local port for the local endpoint. event remotehost string The remote host name for the remote endpoint. event remoteport int The remote port for the remote endpoint. 4 Example In Listing 1 an example XES trace is given for a simple client-server application. In Figure 1, a message sequence diagram is given as a visual aid. We assume a setup with three applications: ClientA at 127.0.0.1:9000, ClientB at 127.0.0.1:9001 and Server at 127.0.0.1:9021. In this example, first ClientA, and then ClientB, performs a requestservice. At the Server, first the request from ClientB arrives, and after that the request from ClientA. Using the communication information, we can track these requests and event correlations. This example log consists of 1 trace with 8 events. 2

1) sending from ClientA to Server 3) receiving from ClientB at Server ClientA ClientB Server 1) 127.0.0.1:9000 2) 3) 127.0.0.1:9001 6) 4) 5) 127.0.0.1:9021 8) 7) Figure 1: Message sequence diagram for the events in Listing 1. The numbers 1) to 8) refer to the actual events in Listing 1. Listing 1: Example XES log for a simple client-server application. 1 <log> 2 <extension name="concept" prefix="concept" 3 uri="http://www.xes-standard.org/concept.xesext"/> 4 <extension name="software Communication" prefix="swcomm" 5 uri="http://www.xes-standard.org/swcomm.xesext"/> 6 <trace> 7 <event> 1) sending data from ClientA to Server 8 <string key="concept:name" value="requestservice" /> 9 <string key="swcomm:localhost" value="127.0.0.1" /> 10 <int key="swcomm:localport" value="9000" /> 11 <string key="swcomm:remotehost" value="127.0.0.1" /> 12 <int key="swcomm:remoteport" value="9021" /> 13 </event> 14 <event> 2) sending data from ClientB to Server 15 <string key="concept:name" value="requestservice" /> 16 <string key="swcomm:localhost" value="127.0.0.1" /> 17 <int key="swcomm:localport" value="9001" /> 18 <string key="swcomm:remotehost" value="127.0.0.1" /> 19 <int key="swcomm:remoteport" value="9021" /> 20 </event> 21 <event> 3) receiving data from ClientB at Server 22 <string key="concept:name" value="receiverequest" /> 23 <string key="swcomm:localhost" value="127.0.0.1" /> 24 <int key="swcomm:localport" value="9021" /> 25 <string key="swcomm:remotehost" value="127.0.0.1" /> 26 <int key="swcomm:remoteport" value="9001" /> 27 </event> 28 <event> 4) receiving data from ClientA at Server 29 <string key="concept:name" value="receiverequest" /> 30 <string key="swcomm:localhost" value="127.0.0.1" /> 31 <int key="swcomm:localport" value="9021" /> 32 <string key="swcomm:remotehost" value="127.0.0.1" /> 33 <int key="swcomm:remoteport" value="9000" /> 34 </event> 35 <event> 5) sending data from Server to ClientB 36 <string key="concept:name" value="handlerequest" /> 37 <string key="swcomm:localhost" value="127.0.0.1" /> 38 <int key="swcomm:localport" value="9021" /> 39 <string key="swcomm:remotehost" value="127.0.0.1" /> 40 <int key="swcomm:remoteport" value="9001" /> 41 </event> 3

42 <event> 6) receiving data from Server at ClientB 43 <string key="concept:name" value="receiveresponse" /> 44 <string key="swcomm:localhost" value="127.0.0.1" /> 45 <int key="swcomm:localport" value="9001" /> 46 <string key="swcomm:remotehost" value="127.0.0.1" /> 47 <int key="swcomm:remoteport" value="9021" /> 48 </event> 49 <event> 7) sending data from Server to ClientA 50 <string key="concept:name" value="handlerequest" /> 51 <string key="swcomm:localhost" value="127.0.0.1" /> 52 <int key="swcomm:localport" value="9021" /> 53 <string key="swcomm:remotehost" value="127.0.0.1" /> 54 <int key="swcomm:remoteport" value="9000" /> 55 </event> 56 <event> 8) receiving data from Server at ClientA 57 <string key="concept:name" value="receiveresponse" /> 58 <string key="swcomm:localhost" value="127.0.0.1" /> 59 <int key="swcomm:localport" value="9000" /> 60 <string key="swcomm:remotehost" value="127.0.0.1" /> 61 <int key="swcomm:remoteport" value="9021" /> 62 </event> 63 </trace> 64 </log> 4.1 XES Extension Listing 2: XES Extension - Software Communication. 1 <extension name="software Communication" prefix="swcomm" 2 uri="http://www.xes-standard.org/swcomm.xesext"/> 3 <event> 4 <string key="localhost"> 5 <alias mapping="en" name="local endpoint - host name"/> 6 </string> 7 <int key="localport"> 8 <alias mapping="en" name="local endpoint - port"/> 9 </int> 10 <string key="remotehost"> 11 <alias mapping="en" name="remote endpoint - host name"/> 12 </string> 13 <int key="remoteport"> 14 <alias mapping="en" name="remote endpoint - port"/> 15 </int> 16 </event> 17 </extension> 5 Glossary local The local endpoint is the current application. remote The remote endpoint is the destination application to which is communicated. host The host address identifies a machine or node. port The port is a communication endpoint, identifying a service on a host machine. 4