EDBT 2026 Demo / reviewers in the wild / expert
Wolfgang Emmerich
dblp:57/4166
· DBLP profile ↗
56ranked-venue papers
16as first author
0since 2021 · last 2017
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 46 · 14 first-authorSystems, architecture and hardware · 4 · 1 first-authorArtificial intelligence and machine learning · 2 · 1 first-authorComputer networks · 2Applied, interdisciplinary, general and emerging computing · 2Databases, data management, data science and information retrieval · 1 · 1 first-author
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
27 papers |
Requirements engineering and software design · 40% Services computing and microservices · 26% Programming languages and type systems · 14% | |
| Computer architecture, parallel and distributed computing, and storage systems
15 papers |
Cloud and datacenter computing · 50% Distributed systems · 42% Parallel and multicore computing · 4% | |
| Theoretical computer science
2 papers |
Automata and formal languages · 57% Automated reasoning and model checking · 22% Distributed computing theory · 22% |
Topics — the 30 heaviest of 52, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems
domain-specific languages |
0.3 | 1 | 2017 | Software engineering research results in industrial practice: a tale of two projects (invited talk) · ESEC/SIGSOFT FSE 2017 |
Requirements engineering and software design
software product lines |
0.3 | 1 | 2017 | Software engineering research results in industrial practice: a tale of two projects (invited talk) · ESEC/SIGSOFT FSE 2017 |
Services computing and microservices
service level agreement |
0.2 | 3 | 2010 | Service-Level Agreements for Electronic Services · IEEE Trans. Software Eng. 2010 Efficient online monitoring of web-service SLAs · SIGSOFT FSE 2008 Precise Service Level Agreements · ICSE 2004 |
Requirements engineering and software design
software architecture |
0.2 | 6 | 2006 | The SATIN Component System-A Metamodel for Engineering Adaptable Mobile Systems · IEEE Trans. Software Eng. 2006 A Model-Driven Approach to Non-Functional Analysis of Software Architectures · ASE 2003 TIGRA - An Architectural Style for Enterprise Application Integration · ICSE 2001 |
Requirements engineering and software design
model-driven engineering |
0.2 | 4 | 2004 | Panel MDA in Practice · ICSE 2004 A Model-Driven Approach to Non-Functional Analysis of Software Architectures · ASE 2003 Consistency Management with Repair Actions · ICSE 2003 |
Cloud and datacenter computing › resource allocation
cloud resource allocation |
0.1 | 1 | 2010 | Software architecture definition for on-demand cloud provisioning · HPDC 2010 |
Cloud and datacenter computing › resource provisioning
on-demand resource provisioning |
0.1 | 1 | 2010 | Software architecture definition for on-demand cloud provisioning · HPDC 2010 |
Empirical software engineering › software engineering practice
industrial practice |
0.1 | 1 | 2017 | Software engineering research results in industrial practice: a tale of two projects (invited talk) · ESEC/SIGSOFT FSE 2017 |
Services computing and microservices
service orchestration |
0.1 | 2 | 2007 | Web service orchestration with BPEL · ICSE 2006 Model checking service compositions under resource constraints · ESEC/SIGSOFT FSE 2007 |
Program analysis
data flow analysis |
0.1 | 1 | 2008 | Impact analysis of database schema changes · ICSE 2008 |
Program analysis
static analysis |
0.1 | 1 | 2008 | Impact analysis of database schema changes · ICSE 2008 |
Automata and formal languages
timed automata |
0.1 | 1 | 2008 | Efficient online monitoring of web-service SLAs · SIGSOFT FSE 2008 |
Requirements engineering and software design › inconsistency management
consistency checking |
0.1 | 2 | 2003 | Flexible consistency checking · ACM Trans. Softw. Eng. Methodol. 2003 Static Consistency Checking for Distributed Specifications · ASE 2001 |
Services computing and microservices
middleware |
0.1 | 1 | 2007 | The impact of research on the development of middleware technology · ACM Trans. Softw. Eng. Methodol. 2007 |
Program verification
model checking |
0.1 | 1 | 2007 | Model checking service compositions under resource constraints · ESEC/SIGSOFT FSE 2007 |
Requirements engineering and software design › software architecture › component-based software engineering
component-based development |
0.1 | 2 | 2002 | Component technologies: Java beans, COM, CORBA, RMI, EJB and the CORBA component model · ICSE 2002 Component technologies: Java Beans, COM, CORBA, RMI, EJB and the CORBA Component Model · ESEC / SIGSOFT FSE 2001 |
Ubiquitous computing and smart environments
mobile computing |
0.1 | 1 | 2006 | The SATIN Component System-A Metamodel for Engineering Adaptable Mobile Systems · IEEE Trans. Software Eng. 2006 |
Services computing and microservices › service orchestration
BPEL |
0.1 | 1 | 2006 | Web service orchestration with BPEL · ICSE 2006 |
Requirements engineering and software design › software architecture
architectural style |
0.1 | 2 | 2001 | TIGRA - An Architectural Style for Enterprise Application Integration · ICSE 2001 An Architectural Style for Multiple Real-Time Data Feeds · ICSE 1999 |
Distributed systems
distributed object systems |
0.1 | 2 | 2001 | Deadlock detection in distribution object systems · ESEC / SIGSOFT FSE 2001 Engineering Distributed Objects (EDO 99) Workshop Summary · ICSE 1999 |
Distributed systems › middleware
mobile computing middleware |
0.1 | 2 | 2003 | CARISMA: Context-Aware Reflective mIddleware System for Mobile Applications · IEEE Trans. Software Eng. 2003 XMIDDLE: information sharing middleware for a mobile environment · ICSE 2002 |
Requirements engineering and software design › model-driven engineering
UML |
0.1 | 2 | 2003 | Consistency Management with Repair Actions · ICSE 2003 Deadlock detection in distribution object systems · ESEC / SIGSOFT FSE 2001 |
Software maintenance and evolution › software configuration management
consistency management |
0.0 | 1 | 2003 | Consistency Management with Repair Actions · ICSE 2003 |
Software maintenance and evolution
incremental consistency checking |
0.0 | 1 | 2003 | Flexible consistency checking · ACM Trans. Softw. Eng. Methodol. 2003 |
Requirements engineering and software design
non-functional property analysis |
0.0 | 1 | 2003 | A Model-Driven Approach to Non-Functional Analysis of Software Architectures · ASE 2003 |
Software maintenance and evolution
software evolution |
0.0 | 1 | 2003 | Flexible consistency checking · ACM Trans. Softw. Eng. Methodol. 2003 |
Services computing and microservices › middleware
distributed object middleware |
0.0 | 2 | 2002 | Distributed Objects · ICSE 1999 Component technologies: Java beans, COM, CORBA, RMI, EJB and the CORBA component model · ICSE 2002 |
Distributed systems › service-oriented architecture
service composition |
0.0 | 1 | 2010 | Service-Level Agreements for Electronic Services · IEEE Trans. Software Eng. 2010 |
Distributed systems
middleware |
0.0 | 2 | 2007 | The impact of research on the development of middleware technology · ACM Trans. Softw. Eng. Methodol. 2007 A micro-economic approach to conflict resolution in mobile computing · SIGSOFT FSE 2002 |
Distributed systems › concurrency control
deadlock detection |
0.0 | 1 | 2001 | Deadlock detection in distribution object systems · ESEC / SIGSOFT FSE 2001 |
Methods — techniques the papers use, named apart from their topics
timed automata · 0.2runtime verification · 0.2domain-specific language design · 0.2program slicing · 0.2context-sensitive analysis · 0.2model checking · 0.1historical analysis · 0.1case study · 0.1model denotational approach · 0.1sealed-bid auction · 0.1UML modeling · 0.0OCL constraints · 0.0meta-model constraints · 0.0domain-specific language · 0.0process algebra · 0.0UML stereotypes · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2017 | Software engineering research results in industrial practice: a tale of two projects (invited talk)abstractIn this talk, I will discuss the use of software engineering research results in industrial practice, based on two projects I have been involved with. The first project addressed the challenge that manipulation of financial market data had to be expressed precisely for a large number of different financial markets. The challenge was addressed by defining a functional Domain Specific Language (DSL) that was geared towards expressing these manipulations at a high level of abstraction. An environment that implements the DSL was built using the Eclipse platform together with a compiler that generates a Java-based reference implementation of these manipulations. The implementation is used as a test oracle to generate test cases, which are in turn used to validate a soft real-time system that implements these manipulations. In another project that is still ongoing, I have proposed the use of software product line research to engineer a family of mobile banking applications. I will reflect on the experience of integrating software product line principles and modern Agile development practices. I will then discuss a few areas of software engineering research, that I have personally been involved in, that I have found not to be very useful in practice. I will conclude by outlining some topics where novel research results would be very beneficial from an industrial point of view. Wolfgang Emmerich |
ESEC/SIGSOFT FSE | 1 |
| 2011 | Monere: Monitoring of Service Compositions for Failure Diagnosis
Bruno Wassermann, Wolfgang Emmerich |
ICSOC | 2 |
| 2010 | Software architecture definition for on-demand cloud provisioningabstractCloud computing [23] is a promising paradigm for the provisioning of IT services. Cloud computing infrastructures, such as those offered by the RESERVOIR project, aim to facilitate the deployment, management and execution of services across multiple physical locations in a seamless manner. In order for service providers to meet their quality of service objectives, it is important to examine how software architectures can be described to take full advantage of the capabilities introduced by such platforms. When dealing with software systems involving numerous loosely coupled components, architectural constraints need to be made explicit to ensure continuous operation when allocating and migrating services from one host in the Cloud to another. In addition, the need for optimising resources and minimising over-provisioning requires service providers to control the dynamic adjustment of capacity throughout the entire service lifecycle. We discuss the implications for software architecture definitions of distributed applications that are to be deployed on Clouds. In particular, we identify novel primitives to support service elasticity, co-location and other requirements, propose language abstractions for these primitives and define their behavioural semantics precisely by establishing constraints on the relationship between architecture definitions and Cloud management infrastructures using a model denotational approach in order to derive appropriate service management cycles. Clovis Chapman, Wolfgang Emmerich, Fermín Galán Márquez, Stuart Clayman, Alex Galis |
HPDC | 2 |
| 2010 | Special Issue on Software Architecture and Mobility
Rami Bahsoon, Licia Capra, Wolfgang Emmerich, Mohamed Fayad |
J. Syst. Softw. | 3 |
| 2010 | Service-Level Agreements for Electronic ServicesabstractThe potential of communication networks and middleware to enable the composition of services across organizational boundaries remains incompletely realized. In this paper, we argue that this is in part due to outsourcing risks and describe the possible contribution of Service-Level Agreements (SLAs) to mitigating these risks. For SLAs to be effective, it should be difficult to disregard their original provisions in the event of a dispute between the parties. Properties of understandability, precision, and monitorability ensure that the original intent of an SLA can be recovered and compared to trustworthy accounts of service behavior to resolve disputes fairly and without ambiguity. We describe the design and evaluation of a domain-specific language for SLAs that tend to exhibit these properties and discuss the impact of monitorability requirements on service-provision practices. James Skene, Franco Raimondi, Wolfgang Emmerich |
IEEE Trans. Software Eng. | 3 |
| 2009 | Pattern-based e-service modelling for virtual service enterprises
Christian Zirpins, Wolfgang Emmerich |
Serv. Oriented Comput. Appl. | 2 |
| 2008 | Impact analysis of database schema changesabstractWe propose static program analysis techniques for identifying the impact of relational database schema changes upon object-oriented applications. We use dataflow analysis to extract all possible database interactions that an application may make. We then use this information to predict the effects of schema change. We evaluate our approach with a case-study of a commercially available content management system, where we investigated 62 versions of between 70k-127k LoC and a schema size of up to 101 tables and 568 stored procedures. We demonstrate that the program analysis must be more precise, in terms of context-sensitivity than related work. However, increasing the precision of this analysis increases the computational cost. We use program slicing to reduce the size of the program that needs to be analyzed. Using this approach, we are able to analyse the case study in under 2 minutes on a standard desktop machine, with no false negatives and a low level of false positives. Andy Maule, Wolfgang Emmerich, David S. Rosenblum |
ICSE | 2 |
| 2008 | An Example on Economics-driven Software Mining
Rami Bahsoon, Wolfgang Emmerich |
SEKE | 2 |
| 2008 | Efficient online monitoring of web-service SLAsabstractIf an organization depends on the service quality provided by another organization it often enters into a bilateral service level agreement (SLA), which mitigates outsourcing risks by associating penalty payments with poor service quality. Once these agreements are entered into, it becomes necessary to monitor their conditions, which will commonly relate to timeliness, reliability and request throughput, at runtime. We show how these conditions can be translated into timed automata. Acceptance of a timed word by a timed automaton can be decided in quadratic time and because the timed automata can operate while messages are exchanged at runtime there is effectively only a linear run-time overhead. We present an implementation to derive on-line monitors for web services automatically from SLAs using an Eclipse plugin. We evaluate the efficiency and scalability of this approach using a large-scale case study in a service-oriented computational grid. Franco Raimondi, James Skene, Wolfgang Emmerich |
SIGSOFT FSE | 3 |
| 2008 | An Economics-Driven Approach for Valuing Scalability in Distributed ArchitecturesabstractDrawing on a case study that adequately represents a medium-size component-based distributed architecture, the contribution of this paper shows how existing performance repositories could be mined to value the ranges in which a given software architecture can scale to support likely changes in load. The mining is based on a financial analogy, where we utilize the concept of twin asset in financial engineering to justify mining relevant repositories. The mining process in then complemented with real options analysis for predicting the values resulted from the ranges in which an architecture can scale under uncertainty, where uncertainty is attributed to the unpredicted change in load. As the exact method for analyzing scalability is subject to debate, we focus the analysis on throughput as a way for measuring scalability. Using options analysis, we report on how ranges in which an architecture can scale, can inform the selection of distributed components technology and subsequently the selection of application server products. Rami Bahsoon, Wolfgang Emmerich |
WICSA | 2 |
| 2008 | A reference model of virtual service production networks
Christian Zirpins, Wolfgang Emmerich |
Serv. Oriented Comput. Appl. | 2 |
| 2007 | Predictive Resource Scheduling in Computational GridsabstractThe integration of clusters of computers into computational grids has recently gained the attention of many computational scientists. While considerable progress has been made in building middleware and workflow tools that facilitate the sharing of compute resources, little attention has been paid to grid scheduling and load balancing techniques to reduce job waiting time. Based on a detailed analysis of usage characteristics of an existing grid that involves a large CPU cluster, we observe that grid scheduling decisions can be significantly improved if the characteristics of current usage patterns are understood and extrapolated into the future. The paper describes an architecture and an implementation for a predictive grid scheduling framework which relies on Kalman filter theory to predict future CPU resource utilisation. By way of replicated experiments we demonstrate that the prediction achieves a precision within 15-20% of the utilisation later observed and can significantly improve scheduling quality, compared to approaches that only take into account current load indicators. Clovis Chapman, Mirco Musolesi, Wolfgang Emmerich, Cecilia Mascolo |
IPDPS | 3 |
| 2007 | Model checking service compositions under resource constraintsabstractWhen enacting a web service orchestration defined using the Business Process Execution Language (BPEL) we observed various safety property violations. This surprised us considerably as we had previously established that the orchestration was free of such property violations using existing BPEL model checking techniques. In this paper, we describe the origins of these violations. They result from a combination of design and deployment decisions, which include the distribution of services across hosts, the choice of synchronisation primitives in the process and the threading configuration of the servlet container that hosts the orchestrated web services. This leads us to conclude that model checking approaches that ignore resource constraints of the deployment environment are insufficient to establish safety and liveness properties of service orchestrations specifically, and distributed systems more generally. We show how model checking can take execution resource constraints into account. We evaluate the approach by applying it to the above application and are able to demonstrate that a change in allocation of services to hosts is indeed safe, a result that we are able to confirm experimentally in the deployed system. The approach is supported by a tool suite, known as WS-Engineer, providing automated process translation, architecture and model-checking views. Howard Foster, Wolfgang Emmerich, Jeff Kramer, Jeff Magee, David S. Rosenblum, Sebastián Uchitel |
ESEC/SIGSOFT FSE | 2 |
| 2007 | The impact of research on the development of middleware technologyabstractThe middleware market represents a sizable segment of the overall Information and Communication Technology market. In 2005, the annual middleware license revenue was reported by Gartner to be in the region of $8.5 billion. In this article we address the question whether research had any involvement in the creation of the technology that is being sold in this market? We attempt a scholarly discourse. We present the research method that we have applied to answer this question. We then present a brief introduction into the key middleware concepts that provide the foundation for this market. It would not be feasible to investigate any possible impact that research might have had. Instead we select a few very successful technologies that are representative for the middleware market as a whole and show the existence of impact of research results in the creation of these technologies. We investigate the origins of Web services middleware, distributed transaction processing middleware, message-oriented middleware, distributed object middleware and remote procedure call systems. For each of these technologies we are able to show ample influence of research and conclude that without the research conducted by PhD students and researchers in university computer science labs at Brown, CMU, Cambridge, Newcastle, MIT, Vrije, and University of Washington as well as research in industrial labs at APM, AT&T Bell Labs, DEC Systems Research, HP Labs, IBM Research, and Xerox PARC we would not have middleware technology in its current form. We summarise the article by distilling lessons that can be learnt from this evidenced impact for future technology transfer undertakings. Wolfgang Emmerich, Mikio Aoyama, Joseph S. Sventek |
ACM Trans. Softw. Eng. Methodol. | 1 |
| 2006 | Requirements for Evaluating Architectural Stabilityabstractarchitectural stability. We outline the requirements for evaluating architectural stability when need to be addressed from an economics-driven software engineering perspective. The bene- fit derived from having an evaluation approach, which addresses these requirements, is that it provides the analyst/architect with insights into architectural stability and investment decisions related to the evolution of software architectures. Such an ap- proach demonstrates that with value-based reasoning we can improve our ability to evaluate for architectural stability and develop software systems that need to adapt to the inevitable evolving requirements. We highlight our work in progress, which addresses the outlined requirements. Rami Bahsoon, Wolfgang Emmerich |
AICCSA | 2 |
| 2006 | Computational Grids for Mid-Sized Collaborative Projects: The eMinerals ExperienceabstractGrid computing has the potential to revolutionise how small groups of simulation scientists work together to tackle new science problems. In this paper we report how the eMinerals project has developed a small scale integrated compute and data grid infrastructure - the eMinerals minigrid - and developed generic job submission tools that exploit this infrastructure and which enable the science users to also access other grid systems. Martin T. Dove, Toby O. H. White, Andrew M. Walker, Richard Paul Bruin, Kat F. Austen, Emilio Artacho, L. A. Sullivan, Mark Calleja, Matthew G. Tucker, Rik P. Tyer, Philip A. Couch, Kerstin Kleese van Dam, R. J. Allan, Ilian T. Todorov, Clovis Chapman, Wolfgang Emmerich, Arnaud Marmier, Steve C. Parker, M. O. Blanchard, C. Richard A. Catlow, Z. Du, N. de Leeuw, Gareth J. Lewis, Vassil Alexandrov 0001, M. Alfredsson, J. P. Brodholt, Peter Murray-Rust |
e-Science | 16 |
| 2006 | Web service orchestration with BPELabstractNo abstract available. Bruno Wassermann, Wolfgang Emmerich, Howard Foster |
ICSE | 3 |
| 2006 | Two Ways to Grid: The Contribution of Open Grid Services Architecture (OGSA) Mechanisms to Service-Centric and Resource-Centric Lifecycles
Paul Brebner, Wolfgang Emmerich |
J. Grid Comput. | 2 |
| 2006 | The SATIN Component System-A Metamodel for Engineering Adaptable Mobile SystemsabstractMobile computing devices, such as personal digital assistants and mobile phones, are becoming increasingly popular, smaller, and more capable. We argue that mobile systems should be able to adapt to changing requirements and execution environments. Adaptation requires the ability-to reconfigure the deployed code base on a mobile device. Such reconfiguration is considerably simplified if mobile applications are component-oriented rather than monolithic blocks of code. We present the SATIN (system adaptation targeting integrated networks) component metamodel, a lightweight local component metamodel that offers the flexible use of logical mobility primitives to reconfigure the software system by dynamically transferring code. The metamodel is implemented in the SATIN middleware system, a component-based mobile computing middleware that uses the mobility primitives defined in the metamodel to reconfigure both itself and applications that it hosts. We demonstrate the suitability of SATIN in terms of lightweightedness, flexibility, and reusability for the creation of adaptable mobile systems by using it to implement, port, and evaluate a number of existing and new applications, including an active network platform developed for satellite communication at the European space agency. These applications exhibit different aspects of adaptation and demonstrate the flexibility of the approach and the advantages gained Stefanos Zachariadis, Cecilia Mascolo, Wolfgang Emmerich |
IEEE Trans. Software Eng. | 3 |
| 2005 | Introduction
Wolfgang Emmerich, David S. Wile |
Autom. Softw. Eng. | 1 |
| 2005 | Introduction
Wolfgang Emmerich, David S. Wile |
Autom. Softw. Eng. | 1 |
| 2005 | Grid Service Orchestration Using the Business Process Execution Language (BPEL)
Wolfgang Emmerich, Ben Butchart, Bruno Wassermann, Sarah L. Price |
J. Grid Comput. | 1 |
| 2004 | Panel MDA in Practice
Jean-Marc Jézéquel, Wolfgang Emmerich |
ICSE | 2 |
| 2004 | Precise Service Level AgreementsabstractSLAng is an XML language for defining service level agreements, the part of a contract between the client and provider of an Internet service that describes the quality attributes that the service is required to possess. We define the semantics of SLAng precisely by modelling the syntax of the language in UML, then relating the language model to a model that describes the structure and behaviour of services. The presence of SLAng elements imposes behavioural constraints on service elements, and the precise definition of these constraints using OCL constitutes the semantic description of the language. We use the semantics to define a notion of SLA compatibility, and an extension to UML that enables the modelling of service situations as a precursor to analysis, implementation and provisioning activities. James Skene, D. Davide Lamanna, Wolfgang Emmerich |
ICSE | 3 |
| 2004 | Evaluating Architectural Stability with Real Options TheoryabstractArchitectural stability refers to the extent to which a software architecture is flexible enough to respond to changes in stakeholders' requirements and the environment. We contribute to a model that exploits options theory to evaluate architectural stability. We describe how we have derived the model: the analogy and assumptions made; its formulation and possible interpretations. We use a refactoring case study to empirically evaluate the model. The results show that the model can provide insights into architectural stability and investment decisions related to the evolution of software systems. Rami Bahsoon, Wolfgang Emmerich |
ICSM | 2 |
| 2003 | Consistency Management with Repair ActionsabstractComprehensive consistency management requires a strong mechanism for repair once inconsistencies have been detected In this paper we present a repair framework for inconsistent distributed documents. The core piece of the framework is a new method for generating interactive repairs from full first order logic formulae that constrain these documents. We present a full implementation of the components in our repair framework, as well as their application to the UML and related heterogeneous documents such as EJB deployment descriptors. We describe how our approach can be used as an infrastructure for building higher-level, domain specific frameworks and provide an overview of related work in the database and software development environment community. Christian Nentwich, Wolfgang Emmerich, Anthony Finkelstein |
ICSE | 2 |
| 2003 | A Model-Driven Architecture for Electronic Service Management Systems
Giacomo Piccinelli, Wolfgang Emmerich, Scott Lane Williams, Mary Stearns |
ICSOC | 2 |
| 2003 | A Model-Driven Approach to Non-Functional Analysis of Software ArchitecturesabstractWe present an approach to managing formal models using model driven architecture (MDA) technologies that deliver analysis techniques through integration with the design tools and repositories that practitioners use. Expert modeling knowledge is captured in domain-specific languages and meta-model constraints. These are represented using UML (Unified Modeling Language) and collocated with designs and analysis models, providing a flexible and visible approach to managing semantic associations. The approach relies on standards to permit deployment in multiple tools. We demonstrate our approach with an example in which queuing-network models are associated with UML design models to predict average case performance. James Skene, Wolfgang Emmerich |
ASE | 2 |
| 2003 | Guest Editorial: XML and Software Engineering
Cecilia Mascolo, Wolfgang Emmerich, Anthony Finkelstein |
Autom. Softw. Eng. | 2 |
| 2003 | Flexible consistency checkingabstractThe problem of managing the consistency of heterogeneous, distributed software engineering documents is central to the development of large and complex systems. We show how this problem can be addressed using xlinkit, a lightweight framework for consistency checking that leverages standard Internet technologies. xlinkit provides flexibility, strong diagnostics, and support for distribution and document heterogeneity. We use xlinkit in a comprehensive case study that demonstrates how design, implementation and deployment information of an Enterprise JavaBeans system can be checked for consistency, and rechecked incrementally when changes are made. Christian Nentwich, Wolfgang Emmerich, Anthony Finkelstein, Ernst Ellmer |
ACM Trans. Softw. Eng. Methodol. | 2 |
| 2003 | CARISMA: Context-Aware Reflective mIddleware System for Mobile ApplicationsabstractMobile devices, such as mobile phones and personal digital assistants, have gained wide-spread popularity. These devices will increasingly be networked, thus enabling the construction of distributed applications that have to adapt to changes in context, such as variations in network bandwidth, battery power, connectivity, reachability of services and hosts, etc. In this paper, we describe CARISMA, a mobile computing middleware which exploits the principle of reflection to enhance the construction of adaptive and context-aware mobile applications. The middleware provides software engineers with primitives to describe how context changes should be handled using policies. These policies may conflict. We classify the different types of conflicts that may arise in mobile computing and argue that conflicts cannot be resolved statically at the time applications are designed, but, rather, need to be resolved at execution time. We demonstrate a method by which policy conflicts can be handled; this method uses a microeconomic approach that relies on a particular type of sealed-bid auction. We describe how this method is implemented in the CARISMA middleware architecture and sketch a distributed context-aware application for mobile devices to illustrate how the method works in practice. We show, by way of a systematic performance evaluation, that conflict resolution does not imply undue overheads, before comparing our research to related work and concluding the paper. Licia Capra, Wolfgang Emmerich, Cecilia Mascolo |
IEEE Trans. Software Eng. | 2 |
| 2002 | Web Service Interfaces for Inter-Organisational Business Processes: An Infrastructure for Automated ReconciliationabstractFor the majority of front-end e-business systems, the assumption of a coherent and homogeneous set of interfaces is highly unrealistic. Problems start in the back-end, with systems characterised by a heterogeneous mix of applications and business processes. Integration can be complex and expensive, as systems evolve more in accordance with business needs than with technical architectures. E-business systems are faced with the challenge to give a coherent image of a diversified reality. Web services make business interfaces more efficient, but effectiveness is a business requirement of at least comparable importance. We propose a technique for automatic reconciliation of the Web service interfaces involved in inter-organisational business processes. The working assumption is that the Web service front-end of each company is represented by a set of WSDL and WSCL interfaces. The result of our reconciliation method is a common interface that all the parties can effectively enforce. Indications are also given on ways to adapt individual interfaces to the common one. The technique was embodied in a prototype that we also present. Giacomo Piccinelli, Wolfgang Emmerich, Christian Zirpins, Kevin Schütt |
EDOC | 2 |
| 2002 | Distributed component technologies and their software engineering implicationsabstractIn this state of the art report, we review advances in distributed component technologies, such as the Enterprise Java Beans specification and the CORBA Component Model. We assess the state of industrial practice in the use of distributed components. We show several architectural styles for whose implementation distributed components have been used successfully. We review the use of iterative and incremental development processes and the notion of model driven architecture. We then assess the state of the art in research into novel software engineering methods and tools for the modelling, reasoning and deployment of distributed components. The open problems identified during this review result in the formulation of a research agenda that will contribute to the systematic engineering of distributed systems based on component technologies. Wolfgang Emmerich |
ICSE | 1 |
| 2002 | Component technologies: Java beans, COM, CORBA, RMI, EJB and the CORBA component modelabstractThis one-day tutorial is aimed at software engineering practitioners and researchers, who are familiar with object-oriented analysis, design and programming and want to obtain an overview of the technologies that are enabling component-based development. We introduce the idea of component-based development by defining the concept and providing its economic rationale. We describe how object-oriented programming evolved into local component models, such as Java Beans and distributed object technologies, such as the Common Object Request Broker Architecture (CORBA), Java Remote Method Invocation (RMI) and the Component Object Model (COM). We then address how these technologies matured into distributed component models, in partiuclar Enterprise Java Beans (EJB) and the CORBA Component Model (CCM). We give an assessment of the maturity of each of these technologies and sketch how they are used to build distributed architectures. Wolfgang Emmerich, Nima Kaveh |
ICSE | 1 |
| 2002 | XMIDDLE: information sharing middleware for a mobile environmentabstractNo abstract available. Stefanos Zachariadis, Licia Capra, Cecilia Mascolo, Wolfgang Emmerich |
ICSE | 4 |
| 2002 | A micro-economic approach to conflict resolution in mobile computingabstractMobile devices, such as mobile phones and personal digital assistants, have gained wide-spread popularity. These devices will increasingly be networked, thus enabling the construction of distributed mobile applications. These have to adapt to changes in context, such as variations in network bandwidth, exhaustion of battery power or reachability of services on other devices. We show how the construction of adaptive and context-aware mobile applications can be supported using a reflective middleware. The middleware provides software engineers with primitives to describe how context changes are handled using policies. These policies may conflict. In this paper, we classify the different types of conflicts that may arise in mobile computing. We argue that conflicts cannot be resolved statically at the time applications are designed, but, rather, need to be resolved at execution time. We demonstrate a method by which these policy conflicts can be treated. This method uses a micro-economic approach that relies on a particular type of sealed-bid auction. Licia Capra, Wolfgang Emmerich, Cecilia Mascolo |
SIGSOFT FSE | 2 |
| 2002 | XMILE: An XML Based Approach for Incremental Code Mobility and Update
Cecilia Mascolo, Luca Zanolin, Wolfgang Emmerich |
Autom. Softw. Eng. | 3 |
| 2002 | xlinkit: a consistency checking and smart link generation serviceabstractxlinkit is a lightweight application service that provides rule-based link generation and checks the consistency of distributed Web content. It leverages standard Internet technologies, notably XML, XPath, and XLink. xlinkit can be used as part of a consistency management scheme or in applications that require smart link generation, including portal construction and management of large document repositories. In this article we show how consistency constraints can be expressed and checked. We describe a novel semantics for first-order logic that produces links instead of truth values and give an account of our content management strategy. We present the architecture of our service and the results of two substantial case studies that use xlinkit for checking course syllabus information and for validating UML models supplied by industrial partners. Christian Nentwich, Licia Capra, Wolfgang Emmerich, Anthony Finkelstein |
ACM Trans. Internet Techn. | 3 |
| 2001 | Mapping Service Components to EJB Business ObjectsabstractThe emerging trends for e-business engineering revolve around specialisation and cooperation. Successful companies focus on their core competencies and rely on a network of business partners for the support services required to compose a comprehensive offer for their customers. Modularity is crucial for a flexible e-business infrastructure, but related requirements seldom reflect on the design and operational models of business information systems. Software components are widely used for the implementation of e-business applications, with proven benefits in terms of system development and maintenance. We propose a service-oriented componentisation of e-business systems as a way to close the gap with the business models they support. Blurring the distinction between external services and internal capabilities, we propose a homogeneous model for the definition of e-business applications components and present a process-based technique for component modelling. We finally present an Enterprise Java Beans extension that implements the model. Giacomo Piccinelli, Wolfgang Emmerich, Anthony Finkelstein |
EDOC | 2 |
| 2001 | Middleware for Mobile Computing: Awareness vs. TransparencyabstractSummary form only given. Middleware solutions for wired distributed systems cannot be used in a mobile setting, as mobile applications impose new requirements that run counter to the principle of transparency on which current middleware systems have been built. We propose the use of reflection capabilities and meta-data to pave the way for a new generation of middleware platforms designed to support mobility. Licia Capra, Wolfgang Emmerich, Cecilia Mascolo |
HotOS | 2 |
| 2001 | TIGRA - An Architectural Style for Enterprise Application Integration
Wolfgang Emmerich, Ernst Ellmer, Henry Fieglein |
ICSE | 1 |
| 2001 | XML Technologies and Software Engineering
Cecilia Mascolo, Wolfgang Emmerich, Anthony Finkelstein |
ICSE | 2 |
| 2001 | Static Consistency Checking for Distributed SpecificationsabstractSoftware engineers building a complex system make use of a number of informal and semi-formal notations. We describe a framework, xlinkit, for managing the consistency of development artifacts expressed in such notations. xlinkit supports distributed software engineering by providing a distribution-transparent language for expressing constraints between specifications. It specifies a semantics for those constraints that permits the generation of hyperlinks between inconsistent elements. We give a formal semantics for link generation, and show how we expressed the rules of the UML foundation/core modules in our language. We outline how we implemented xlinkit as a light-weight web service using open standard technology and present the results of an evaluation against several sizeable UML models provided by industrial partners. Christian Nentwich, Wolfgang Emmerich, Anthony Finkelstein |
ASE | 2 |
| 2001 | An XML-based Middleware for Peer-to-Peer computingabstractAn increasing number of distributed applications will be written for mobile hosts, such as laptop computers, third generation mobile phones, personal digital assistants, watches and the like, with focus on peer-to-peer collaboration. Application engineers have to deal with a new set of problems caused by mobility, such as low bandwidth, context changes or loss of connectivity. During disconnection, independently from each others, users will typically update local replicas of shared data, possibly generated by peers. The resulting inconsistent replicas need to be reconciled upon re-connection. To support building mobile applications that use both replication and reconciliation over ad-hoc networks, we have designed XMIDDLE, a peer-to-peer middleware that targets mobile computing settings. In this paper we describe XMIDDLE and show how reflection capabilities are used to allow application engineers to influence replication and reconciliation techniques. XMIDDLE enables the transparent sharing of XML documents across heterogeneous mobile peers, allowing online and off-line access to data. Cecilia Mascolo, Licia Capra, Wolfgang Emmerich |
Peer-to-Peer Computing | 3 |
| 2001 | Component technologies: Java Beans, COM, CORBA, RMI, EJB and the CORBA Component ModelabstractThis one-day tutorial is aimed at software engineering practitioners and researchers, who are familiar with object-oriented analysis, design and programming and want to obtain an overview of the technologies that are enabling component-based development. We introduce the idea of component-based development by defining the concept and providing its economic rationale. We describe how object-oriented programming evolved into local component models, such as Java Beans and distributed object technologies, such as the Common Object Request Broker Architecture (CORBA), Java Remote Method Invocation (RMI) and the Component Object Model (COM). We then address how these technologies matured into distributed component models, in particular Enterprise Java Beans (EJB) and the CORBA Component Model (CCM). We give an assessment of the maturity of each of these technologies and sketch how they are used to build distributed architectures. Wolfgang Emmerich, Nima Kaveh |
ESEC / SIGSOFT FSE | 1 |
| 2001 | Deadlock detection in distribution object systemsabstractThe behaviour of a distributed system is largely determined by the use of synchronization primitives and threading policies of the underlying middleware. The inherent parallel nature of distributed systems may cause liveness problems, such as deadlocks and livelocks. An increasing number of distributed systems is built using object middleware. We exploit the fact that modern object middleware offers only a few built-in synchronization and threading primitives by suggesting UML stereotypes to represent each of these primitives in distributed object design. We define the semantics of the stereotypes using a process algebra. We use that semantics to translate UML diagrams into behaviourally equivalent process algebra representations and can then use model checking techniques to find potential deadlocks. The paper also shows how the model checking results can be related back to the original UML diagrams. Nima Kaveh, Wolfgang Emmerich |
ESEC / SIGSOFT FSE | 2 |
| 2000 | Implementing incremental code migration with XMLabstractWe demonstrate how XML and related technologies can be used for code mobility at any granularity, thus overcoming the restrictions of existing approaches. By not fixing a particular granularity for mobile code, we enable complete programs as well as individual lines of code to be sent across the network. We define the concept of incremental code mobility as the ability to migrate and add, remove, or replace code fragments (i.e., increments) in a remote program. The combination of fine-grained and incremental migration achieves a previously unavailable degree of flexibility. We examine the application of incremental and fine-grained code migration to a variety of domains, including user interface management, application management on mobile thin clients, for example PDAs, and management of distributed documents. Wolfgang Emmerich, Cecilia Mascolo, Anthony Finkelstein |
ICSE | 1 |
| 2000 | System development using application services over the Net (tutorial session)abstractNo abstract available. Kenji Takahashi, Wolfgang Emmerich, Anthony Finkelstein, Sofia Guerra |
ICSE | 2 |
| 2000 | BOX: Browsing objects in XMLabstractThe latest Internet markup languages support the representation of structured information and vector graphics. In this paper we describe how these languages can be used to publish software engineering diagrams on the Internet. We introduce BOX, a portable, distributed and interoperable approach to browsing UML models with off-the-shelf technology. Our approach to browsing UML models leverages XML and related specifications, such as the Document Object Model (DOM), the XML Metadata Interchange (XMI) and the Vector Markup Language (VML). BOX translates a UML model that is represented in XMI into VML. VML can be directly displayed in Internet browsers, such as Microsoft's Internet Explorer 5. BOX enables software engineers to access and review UML models without the need to purchase licenses of tools that produced the models. BOX has been successfully evaluated in two industrial case studies. The case studies used BOX to make extensive domain and enterprise object models available to a large number of stakeholders over corporate intranets and the Internet. We show how XML and the BOX architecture can be applied to other software engineering notations. We also argue that the approach taken in BOX can be applied to other domains that have already started to adopt XML and have a need for graphic representation of XML information. These include browsing gene sequences, chemical molecule structures and conceptual knowledge representations. Copyright © 2000 John Wiley & Sons, Ltd. Christian Nentwich, Wolfgang Emmerich, Anthony Finkelstein, Andrea Zisman |
Softw. Pract. Exp. | 2 |
| 1999 | Engineering Distributed Objects (EDO 99) Workshop SummaryabstractNo abstract available. Wolfgang Emmerich, Volker Gruhn |
ICSE | 1 |
| 1999 | Distributed ObjectsabstractThis tutorial motivates the need for, and discusses the principles of object-oriented distribution middleware. We will give an overview how these principles are supported by the major incarnations of object-oriented middleware, the Object Management Group's Common Object Request Broker Architecture (CORBA), Microsoft's Distributed Component Object Model (DCOM) and Java's Remote Method Invocation (RMI). We will discuss common design problems that occur when building applications using distributed objects and present techniques for their solution. Wolfgang Emmerich, Neil Roodyn |
ICSE | 1 |
| 1999 | An Architectural Style for Multiple Real-Time Data FeedsabstractArticle Free Access Share on An architectural style for multiple real-time data feeds Authors: Neil Roodyn Cognitech Ltd., City Cloisters, 188-194 Old Street, London EC1V 9FR, UK Cognitech Ltd., City Cloisters, 188-194 Old Street, London EC1V 9FR, UKView Profile , Wolfgang Emmerich Dept. of Computer Science, University College London, London WC1E 6BT, UK Dept. of Computer Science, University College London, London WC1E 6BT, UKView Profile Authors Info & Claims ICSE '99: Proceedings of the 21st international conference on Software engineeringMay 1999 Pages 564–572https://doi.org/10.1145/302405.302695Published:16 May 1999Publication History 10citation465DownloadsMetricsTotal Citations10Total Downloads465Last 12 Months7Last 6 weeks2 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF Neil Roodyn, Wolfgang Emmerich |
ICSE | 2 |
| 1999 | Managing Standards ComplianceabstractSoftware engineering standards determine practices that "compliant" software processes shall follow. Standards generally define practices in terms of constraints that must hold for documents. The document types identified by standards include typical development products, such as user requirements, and also process-oriented documents, such as progress reviews and management reports. The degree of standards compliance can be established by checking these documents against the constraints. It is neither practical nor desirable to enforce compliance at all points in the development process. Thus, compliance must be managed rather than imposed. We outline a model of standards and compliance and illustrate it with some examples. We give a brief account of the notations and method we have developed to support the use of the model and describe a support environment we have constructed. The principal contributions of our work are: the identification of the issue of standards compliance; the development of a model of standards and support for compliance management; the development of a formal model of product state with associated notation; a powerful policy scheme that triggers checks; and a flexible and scalable compliance management view. Wolfgang Emmerich, Anthony Finkelstein, Carlo Montangero, Stefano Antonelli, Stephen Armitage, Richard Stevens |
IEEE Trans. Software Eng. | 1 |
| 1998 | Guest editorial
Wolfgang Emmerich, Peter Sawyer |
Requir. Eng. | 1 |
| 1997 | An Introduction to OMG/CORBA (Tutorial)abstractNo abstract available. Wolfgang Emmerich |
ICSE | 1 |
| 1993 | Object-oriented Database Management Systems for Construction of CASE Environments
Wolfgang Emmerich, Petr Kroha, Wilhelm Schäfer |
DEXA | 1 |