Wolfgang Emmerich

dblp:57/4166 · DBLP profile ↗
← Back
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

TopicWeightPapersLastEvidence papers
Programming languages and type systems
domain-specific languages
0.312017
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.312017
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.232010
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.262006
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.242004
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.112010
Software architecture definition for on-demand cloud provisioning · HPDC 2010
Cloud and datacenter computing › resource provisioning
on-demand resource provisioning
0.112010
Software architecture definition for on-demand cloud provisioning · HPDC 2010
Empirical software engineering › software engineering practice
industrial practice
0.112017
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.122007
Web service orchestration with BPEL · ICSE 2006
Model checking service compositions under resource constraints · ESEC/SIGSOFT FSE 2007
Program analysis
data flow analysis
0.112008
Impact analysis of database schema changes · ICSE 2008
Program analysis
static analysis
0.112008
Impact analysis of database schema changes · ICSE 2008
Automata and formal languages
timed automata
0.112008
Efficient online monitoring of web-service SLAs · SIGSOFT FSE 2008
Requirements engineering and software design › inconsistency management
consistency checking
0.122003
Flexible consistency checking · ACM Trans. Softw. Eng. Methodol. 2003
Static Consistency Checking for Distributed Specifications · ASE 2001
Services computing and microservices
middleware
0.112007
The impact of research on the development of middleware technology · ACM Trans. Softw. Eng. Methodol. 2007
Program verification
model checking
0.112007
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.122002
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.112006
The SATIN Component System-A Metamodel for Engineering Adaptable Mobile Systems · IEEE Trans. Software Eng. 2006
Services computing and microservices › service orchestration
BPEL
0.112006
Web service orchestration with BPEL · ICSE 2006
Requirements engineering and software design › software architecture
architectural style
0.122001
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.122001
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.122003
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.122003
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.012003
Consistency Management with Repair Actions · ICSE 2003
Software maintenance and evolution
incremental consistency checking
0.012003
Flexible consistency checking · ACM Trans. Softw. Eng. Methodol. 2003
Requirements engineering and software design
non-functional property analysis
0.012003
A Model-Driven Approach to Non-Functional Analysis of Software Architectures · ASE 2003
Software maintenance and evolution
software evolution
0.012003
Flexible consistency checking · ACM Trans. Softw. Eng. Methodol. 2003
Services computing and microservices › middleware
distributed object middleware
0.022002
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.012010
Service-Level Agreements for Electronic Services · IEEE Trans. Software Eng. 2010
Distributed systems
middleware
0.022007
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.012001
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
YearPublicationVenuePosition
2017 Software engineering research results in industrial practice: a tale of two projects (invited talk)
abstract
In 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 FSE1
2011 Monere: Monitoring of Service Compositions for Failure Diagnosis
Bruno Wassermann, Wolfgang Emmerich
ICSOC2
2010 Software architecture definition for on-demand cloud provisioning
abstract
Cloud 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
HPDC2
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 Services
abstract
The 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 changes
abstract
We 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
ICSE2
2008 An Example on Economics-driven Software Mining
Rami Bahsoon, Wolfgang Emmerich
SEKE2
2008 Efficient online monitoring of web-service SLAs
abstract
If 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 FSE3
2008 An Economics-Driven Approach for Valuing Scalability in Distributed Architectures
abstract
Drawing 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
WICSA2
2008 A reference model of virtual service production networks
Christian Zirpins, Wolfgang Emmerich
Serv. Oriented Comput. Appl.2
2007 Predictive Resource Scheduling in Computational Grids
abstract
The 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
IPDPS3
2007 Model checking service compositions under resource constraints
abstract
When 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 FSE2
2007 The impact of research on the development of middleware technology
abstract
The 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 Stability
abstract
architectural 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
AICCSA2
2006 Computational Grids for Mid-Sized Collaborative Projects: The eMinerals Experience
abstract
Grid 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-Science16
2006 Web service orchestration with BPEL
abstract
No abstract available.
Bruno Wassermann, Wolfgang Emmerich, Howard Foster
ICSE3
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 Systems
abstract
Mobile 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
ICSE2
2004 Precise Service Level Agreements
abstract
SLAng 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
ICSE3
2004 Evaluating Architectural Stability with Real Options Theory
abstract
Architectural 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
ICSM2
2003 Consistency Management with Repair Actions
abstract
Comprehensive 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
ICSE2
2003 A Model-Driven Architecture for Electronic Service Management Systems
Giacomo Piccinelli, Wolfgang Emmerich, Scott Lane Williams, Mary Stearns
ICSOC2
2003 A Model-Driven Approach to Non-Functional Analysis of Software Architectures
abstract
We 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
ASE2
2003 Guest Editorial: XML and Software Engineering
Cecilia Mascolo, Wolfgang Emmerich, Anthony Finkelstein
Autom. Softw. Eng.2
2003 Flexible consistency checking
abstract
The 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 Applications
abstract
Mobile 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 Reconciliation
abstract
For 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
EDOC2
2002 Distributed component technologies and their software engineering implications
abstract
In 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
ICSE1
2002 Component technologies: Java beans, COM, CORBA, RMI, EJB and the CORBA component model
abstract
This 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
ICSE1
2002 XMIDDLE: information sharing middleware for a mobile environment
abstract
No abstract available.
Stefanos Zachariadis, Licia Capra, Cecilia Mascolo, Wolfgang Emmerich
ICSE4
2002 A micro-economic approach to conflict resolution in mobile computing
abstract
Mobile 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 FSE2
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 service
abstract
xlinkit 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 Objects
abstract
The 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
EDOC2
2001 Middleware for Mobile Computing: Awareness vs. Transparency
abstract
Summary 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
HotOS2
2001 TIGRA - An Architectural Style for Enterprise Application Integration
Wolfgang Emmerich, Ernst Ellmer, Henry Fieglein
ICSE1
2001 XML Technologies and Software Engineering
Cecilia Mascolo, Wolfgang Emmerich, Anthony Finkelstein
ICSE2
2001 Static Consistency Checking for Distributed Specifications
abstract
Software 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
ASE2
2001 An XML-based Middleware for Peer-to-Peer computing
abstract
An 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 Computing3
2001 Component technologies: Java Beans, COM, CORBA, RMI, EJB and the CORBA Component Model
abstract
This 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 FSE1
2001 Deadlock detection in distribution object systems
abstract
The 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 FSE2
2000 Implementing incremental code migration with XML
abstract
We 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
ICSE1
2000 System development using application services over the Net (tutorial session)
abstract
No abstract available.
Kenji Takahashi, Wolfgang Emmerich, Anthony Finkelstein, Sofia Guerra
ICSE2
2000 BOX: Browsing objects in XML
abstract
The 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 Summary
abstract
No abstract available.
Wolfgang Emmerich, Volker Gruhn
ICSE1
1999 Distributed Objects
abstract
This 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
ICSE1
1999 An Architectural Style for Multiple Real-Time Data Feeds
abstract
Article 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
ICSE2
1999 Managing Standards Compliance
abstract
Software 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)
abstract
No abstract available.
Wolfgang Emmerich
ICSE1
1993 Object-oriented Database Management Systems for Construction of CASE Environments
Wolfgang Emmerich, Petr Kroha, Wilhelm Schäfer
DEXA1