@demo {2018:icsoc:demo:restalk,
	title = {RESTalk Miner: Mining RESTful Conversations, Pattern Discovery and Matching},
	year = {2018},
	month = {November},
	publisher = {Springer},
	address = {Hangzhou, Zhejiang, China},
	abstract = {REST has become the architectural style of choice for APIs, where clients need to instantiate a potentially lengthy sequence of requests to the server in order to achieve their goal, effectively leading to a RESTful conversation between the client and the server. 
Mining the logs of such RESTful conversations can facilitate knowledge sharing among API designers regarding design best practices as well as API usage and optimization. In this demo paper, we present the RESTalk Miner, which takes logs from RESTful services as an input and uses RESTalk, a domain specific language, to visualize them. It provides interactive coloring to facilitate graph reading, as well as statistics to compare the relative frequency of conversations performed by different clients. Furthermore, it supports searching for predefined patterns as well as pattern discovery.   },
	keywords = {conversation patterns, mining, RESTalk, RESTful conversation},
	author = {Ana Ivanchikj and Cesare Pautasso}
}
@article {restalk:2016:jssm,
	title = {Visual modeling of RESTful conversations with RESTalk},
	journal = {Journal of Software \& Systems Modeling},
	volume = {17},
	year = {2018},
	month = {July},
	pages = {1031-1051},
	abstract = {The cost savings introduced by Web services through code re-use and integration opportunities have motivated many businesses to develop Web APIs, with ever increasing numbers opting for the REST architectural style. RESTful Web APIs are decomposed in multiple resources, which the client can manipulate through HTTP interactions with well defined semantics. Getting the resource in the desired state might require multiple client-server interactions, what we define as a RESTful conversation. RESTful conversations are dynamically guided by hypermedia controls, such as links. Thus, when deciding whether and how to use a given RESTful service, the client might not be aware of all the interactions which are necessary to achieve its goal. This is because existing documentation of RESTful APIs describe the static structure of the interface, exposing low-level HTTP details, while little attention has been given to conceptual, high-level, modeling of the dynamics of RESTful conversations. Low-level HTTP details can be abstracted from during the design phase of the API, or when deciding which API to use. We argue that, in these situations, visual models of the required client-server interactions might increase developers{\textquoteright} efficiency and facilitate their understanding. Thus, to capture all possible interaction sequences in a given RESTful conversation, we propose RESTalk, an extension to the BPMN Choreography diagrams to render them more concise and yet sufficiently expressive in the specific REST domain. We also report on the results obtained from an exploratory survey we have conducted to assess the maturity of the field for a domain specific language, and to obtain feedback for future improvements of RESTalk.},
	keywords = {RESTalk, RESTful conversation},
	issn = {1619-1366},
	doi = {10.1007/s10270-016-0532-2},
	url = {http://link.springer.com/article/10.1007/s10270-016-0532-2},
	author = {Ana Ivanchikj and Cesare Pautasso and Silvia Schreier}
}
@conference {restalk:2016:europlop,
	title = {A Pattern Language for RESTful Conversations},
	booktitle = {Proceedings of the 21st European Conference on Pattern Languages of Programs (EuroPLoP)},
	year = {2016},
	month = {July},
	pages = {4:1{\textendash}4:22},
	publisher = {ACM},
	organization = {ACM},
	address = {Kloster Irsee, Germany},
	abstract = {As a good user interface design is important for the success of an app, so is a good API for the success of a Web service. Within the RESTful Web services community there is a need for a systematic approach in knowledge sharing, for which patterns are particularly suitable. Using a RESTful service to achieve a certain goal often requires multiple client-server interactions, i.e., to have a conversation. While patterns of such RESTful conversations can be uncovered from existing APIs{\textquoteright} usage scenarios, or the service engineering literature, they have never been gathered in a pattern language, nor properly visualized with a Domain Specific Modeling Language (DSML). These patterns provide valuable input for API designers, as well as API consumers, by establishing a common vocabulary to describe recurring conversations. To do so, this paper uses RESTalk, a DSML, to model the basic RESTful conversation patterns structured around the life cycle of a resource (create, discover, read, edit, delete, protect) by showing the corresponding sequences of HTTP request-response interactions. We show how the resulting pattern language can be applied to individual resources, or also collections of resources.},
	keywords = {conversation composition, conversation patterns, pattern language, RESTalk, RESTful conversation, RESTful web services},
	isbn = {978-1-4503-4074-8},
	doi = {10.1145/3011784.3011788},
	url = {http://doi.acm.org/10.1145/3011784.3011788},
	author = {Cesare Pautasso and Ana Ivanchikj and Silvia Schreier}
}
@conference {rest:2015:wicsa,
	title = {A conversation based approach for modeling REST APIs},
	booktitle = {12th Working IEEE / IFIP Conference on Software Architecture (WICSA 2015)},
	year = {2015},
	month = {May},
	address = {Montreal, Canada},
	abstract = {Conversations are a well-known concept in service design to describe complex interactions between a client and one or multiple services. The REST architectural style constrains the characteristics of clients, servers and their interactions in REST architectures which consequently has an impact on conversations in such systems. The relation between conversations and REST architectures and how such RESTful conversations can be characterized has not been studied in detail yet. In this paper we discuss the characteristics of conversations in REST architectures and introduce an initial set of commonly used conversation types. Based on this, we propose to use conversations as a modeling tool for the design of REST APIs at a higher level of abstraction. We also introduce a corresponding interaction centric metamodel for REST APIs. The characterization of RESTful conversations enables a new interaction centric viewpoint on REST architectures which can be also applied for modeling REST APIs on an abstraction level that enables users to focus on the essential functionality of their REST API.},
	keywords = {conversation, model-driven engineering, REST, RESTful conversation},
	url = {http://wicsa2015.org/wicsa-sessions.html$\#$WS5},
	author = {Florian Haupt and Frank Leymann and Cesare Pautasso}
}
@inproceedings {wesoa2015,
	title = {From Choreography Diagrams to RESTful Interactions},
	year = {2015},
	month = {November},
	publisher = {Springer},
	address = {Goa, India},
	abstract = {Today, business process management is a key approach to organize work, and many companies represent their operations in business process models. Recently, choreography diagrams have been introduced to represent interactions between business processes, run by different partners. While there is considerable work on using process models during process implementation, there is little work on using choreography models to implement interactions between business processes. In this paper, a novel approach to enhance choreography diagrams by execution information is introduced. The approach is based on the REST architecture style, which is the primary way for interacting systems. Using enhanced choreography diagrams allows us to develop REST-based interactions among business partners in an efficient manner. The approach is illustrated by an example of an accommodation reservation service.},
	keywords = {BPMN Choreography, RESTful conversation},
	author = {Adriatik Nikaj and Sankalita Mandal and Cesare Pautasso and Mathias Weske}
}
@conference {ecsa2015:restcon,
	title = {Modeling RESTful Conversations with extended BPMN Choreography diagrams},
	booktitle = {9th European Conference on Software Architecture (ECSA 2015)},
	year = {2015},
	month = {September},
	publisher = {Springer},
	organization = {Springer},
	address = {Dubrovnik, Croatia},
	abstract = {RESTful Web APIs often make use of multiple basic HTTP interactions to guide clients towards their goal. For example, clients may get redirected towards related resources by means of hypermedia controls such as links. Existing modeling approaches for describing RESTful APIs expose low-level HTTP details that help developers construct individual requests and parse the corresponding responses. However, very little attention has been given to high-level modeling of RESTful conversations, which abstracts the structure of multiple HTTP interactions. To address such issue in this paper we introduce an extension of the notation used in BPMN choreography diagrams. Its purpose is to represent concisely all possible interaction sequences in a given RESTful conversation.},
	keywords = {BPMN Choreography, REST, RESTful conversation},
	author = {Cesare Pautasso and Ana Ivanchikj and Silvia Schreier}
}
