@article {Simula.simula.1066,
	title = {Matching and Merging of Variant Feature Specifications},
	journal = {IEEE Transactions on Software Engineering},
	volume = {38},
	number = {6},
	year = {2012},
	pages = {1355-1375},
	publisher = {IEEE},
	abstract = {Model Management addresses the problem of managing an evolving collection of models, by capturing the relationships between models and providing well-defined operators to manipulate them. In this article, we describe two such operators for manipulating feature specifications described using hierarchical state machine models: Match, for finding correspondences between models, and Merge, for combining models with respect to known or hypothesized correspondences between them. Our Match operator is heuristic, making use of both static and behavioural properties of the models to improve the accuracy of matching. Our Merge operator preserves the hierarchical structure of the input models, and handles differences in behaviour through parameterization. This enables us to automatically construct merges that preserve the semantics of hierarchical state machines. We report on tool support for our Match and Merge operators, and illustrate and evaluate our work by applying these operators to a set of telecommunication features built by AT\&amp;T.},
	author = {Nejati, Shiva and Sabetzadeh, Mehrdad and Chechik, Marsha and Easterbrook, Steve and Zave, Pamela}
}
@inproceedings {Simula.approve.58,
	title = {Reasoning About Consistency in Model Merging},
	journal = {3rd Workshop on Living With Inconsistency in Software Development},
	year = {2010},
	publisher = {CEUR Workshop Proceedings},
	type = {Workshop},
	abstract = {Models undergo a variety of transformations throughout development. One of the key transformations is merge, used when developers need to combine a set of models with respect to the overlaps between them. A major question about model transformations in general, and merge in particular, is what consistency properties are preserved across the transformations and what consistency properties may need to be re-checked (and if necessary, re-established) over the result. In previous work, we developed a technique based on category-theoretic colimits for merging sets of inter-related models. The use of category theory leads to the preservation of the algebraic structure of the source models in the merge; however, this does not directly provide a characterization of the (in)consistency properties that carry over from the source models to the result, because consistency properties are predominantly expressed as logical formulas. Hence, an investigation of the connections between the {\textquoteleft}{\textquoteleft}algebraic{\textquoteright}{\textquoteright} and {\textquoteleft}{\textquoteleft}logical{\textquoteright}{\textquoteright} properties of model merging became necessary. In this paper, we undertake such an investigation and use techniques from finite model theory to show that the use of colimits indeed leads to the preservation of certain logical properties. Our results have implications beyond our merge framework in and are potentially useful for the broad range of techniques in the graph transformation and algebraic specification literature that use colimits as the basis for model manipulations.},
	isbn = {urn:nbn:de:0074-661-4},
	author = {Sabetzadeh, Mehrdad and Nejati, Shiva and Chechik, Marsha and Easterbrook, Steve},
	editor = {Egyed, A. and Lopez-Herrejon, R. and Nuseibeh, B. and Botterweck, G. and Chechik, M. and Hu, Z.}
}
@article {Simula.se.729,
	title = {Runtime Monitoring of Web Service Conversations},
	journal = {IEEE Transactions on Service Computing},
	volume = {2},
	number = {3},
	year = {2009},
	pages = {223-244},
	abstract = {For a system of distributed processes, correctness can be ensured by (statically) checking whether their composition satisfies properties of interest. However, web services are distributed processes that dynamically discover properties of other web services. Since the overall system may not be available statically and since each business process is supposed to be relatively simple, we propose to use runtime monitoring of conversations between partners as a means of checking behavioural correctness of the entire web service system. Specifically, we identify a subset of UML 2.0 Sequence Diagrams as a property specification language and show that it is sufficiently expressive for capturing safety and liveness properties. By transforming these diagrams to automata, we enable conformance checking of finite execution traces against the specification. We show how our language can be used to specify the Specification Property System (SPS). We describe an implementation of our approach as part of an industrial system. Finally, we discuss our experience of specifying and monitoring a number of properties from three existing applications.},
	author = {Simmonds, Jocelyn and Gan, Yuan and Chechik, Marsha and Nejati, Shiva and O{\textquoteright}Farrell, Bill and Litani, Elena and Waterhouse, Julie}
}
