2001/02 Archive

    September 2001

  • September 5
    Speaker: Nima Kaveh
    Title: Deadlock Detection in Distributed 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 oers 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.

  • September 24, 11-12
    Speaker: Nicola Harris
    Title: A system architecture based on the Java Message Service
    Abstract: This talk will present a prototype system architecture based around the Java Message Service, the standard Java API for enterprise messaging. It is based on a simplified view of a distributed system as a series of data flows and transforms, and consists of a series of clients which exchange data through a transform bridge that converts between different formats. There is a very low level of coupling between system components, as they are not tied to particular physical locations or even data formats. Components can be added, removed, or modified at runtime without affecting the functioning of other parts of the system. The routing of messages and the transformations that are performed can also be modified at runtime through a configuration interface. The initial prototype used XML messages, together with XSLT to convert between formats, but the transform bridge could easily be extended to use object-based transforms and cater for different message formats. One current area of investigation is the use of script-based transforms (e.g. Tcl), using IBM's Bean Scripting Framework to plug Java-enabled scripting engines into the system.
  • October 2001

  • October 1
    Speaker:Anthony Finkelstein
    Abstract: I will look at software systems engineering, what it is, what it might be and how we can do it. A welcome and a spirited challenge rather than an organised seminar.

  • October 8
    Speaker: Christian Nentwich
    Title:xlinkit 4.0
    Abstract: Checking the consistency of distributed and heterogeneous documents presents numerous technical challenges. We will show how to address some of these using xlinkit, a framework and logic-based language for consistency checking and link generation. We will provide some insight into the formal basis of xlinkit and then explore potential applications. xlinkit can be used to support domain-specific modeling, by providing flexibility in choosing constraints on design models. We will outline how xlinkit can support the design and development of systems based on an Enterprise JavaBeans (EJB) architecture. The remainder of the talk will focus on the problems of checking large amounts of data. In particular, we will look at how incremental checking can be used to minimise the amount of recomputation as documents change. This will be supported by evaluation data taken from checks on large UML models.

  • October 15
    Speaker: Stefanos Zachariadis
    Title:XMIDDLE, a mobile computing middleware for ad-hoc networking
    Abstract:We have recently been experiencing the high availability of mobile computing platforms such as laptops, pdas and cell phones. Such mobile devices are increasingly been equipped with some form of networking hardware, such as 802.11b compliant cards, Bluetooth, IrDA, etc. In traditional PDAs we have seen the need of users to have access to data, such as PIM information or email, both on the desktop machine and their PDA. This is achieved by replicating information and then reconciling the changes.
    XMIDDLE, a mobile computing middleware based on Java and XML, takes this to the next level. It allows applications running on any host to share information (from XML Elements to complete files) with any number of other hosts, having access to that information while being out of the reach of the owner, and reconciling any changes when the devices come in reach. XMIDDLE also supports application-driven reconciliation of data, by allowing the use of policies, allowing each application to influence the reconciliation process as to resolve any conflicts. Based entirely on UDP over any existing networking hardware, XMIDDLE offers a completely decentralised approach to sharing and reconciliation, allowing hosts to join and part ad-hoc groups, whilst offering the data-sharing and reconciliation services.
    The talk will present the architecture of XMIDDLE, scenarios of its use, current status, and future work and ideas. Finally, a demo of the current implementation will be presented.

  • October 22
    Speaker: Andrea Savigni
    Title: UWA - Ubiquitous Web Applications
    Abstract: In the near future an increasing number of Web applications will become "ubiquitous" i.e., delivered on a variety of devices and communication channels, and often targeted to inexpert users. Their quality, in terms of customised behaviour and effectiveness of their development maintenance lifecycle, may be threatened by the current inability of properly designing them. The UWA project aims at defining a set of methodologies, notations, and tools to tackle the main problems in the design of such applications: the definition of proper concepts and languages for describing their behaviour, the ability of tracking correlations among their different components, and the capability of correlating their requirements to design and implementation. The talk will focus on UCL's role within UWA i.e., the definition of a framework for requirements engineering in the area of context-aware services.

  • October 29
    Speakers: Miguel Rio, Nicola Pezzi, Luca Zanolin
    Title: PROMILE - a modular programmable routing architecture
    Abstract:In recent years the field of Active or Programmable networks has received much attention from the networking community. The goal is to Achieve flexible programmability in routers and switches. This will be particularly useful in the context of differentiated services where different functionalities may or may not be present. This project describes a novel active router architecture. It provides policies management and it is completely updateable and configurable at run-time providing the possibility of changing the packet flow inside the router without significant traffic disruption. To implement the router OS kernel, we used as a starting point the Linux kernel.

  • November 2001

  • November 12
    Speaker: Chiara Cardamone

  • November 19
    Speaker: Danila Smolko
    Title: Software Agent Architecture for Consistency Checking of Distributed Documents
    Abstract: The size and complexity of current software systems often necessitates distributed and cooperative development by numerous participants. In this talk, we consider a problem of management of consistency relations between documents in the software engineering domain, which are cooperatively developed in a distributed setting.
    We introduce a distributed architecture, which enables us to carry out consistency checks at the locations where documents are developed, rather than at a centralised server or repository. The architecture extends the xlinkit framework and uses a logic-based language for consistency checking and link generation.
    We focus on the advantages that deployment of software agency and mobility for carrying out checks in the distributed environment. In the talk, we describe the evaluation of the architecture on a state-transition model of architectural components, and demonstrate operation of an implementation prototype in a number of case studies. We also discuss the results of prototype performance and scalability testing for different configurations of a distributed system.
    Finally, we outline a number of applicaiton areas, for which the advantages of the proposed software agent architecture are relevant.

  • November 26
    Speaker: David Bush
    Title: Defending the Box, Protecting the Line
    Abstract: Much of the conventional wisdom in systems and software architectures derides the 'box and line' architecture as it is poorly defined, imprecise and incapable for rigorous formal analysis. Reporting on the results of an industrial case study addressing the validation an iterative requirements engineering approach, David will propose that, like some other ideas in the software & systems research community, this emphasis on rigorous formal analysis can result in approaches that at are unattractive to the practice community, and so unlikely to be adopted. He will present an approach to architectural modelling as part of the requirements elicitation process that can make constructive and practical use of informal architectural descriptions, and that can accommodate increasing formality as the process continues and as it becomes necessary, useful or cost effective.
  • December 2001

  • December 3
    Speaker: Licia Capra
    Title: A Micro-Economic Approach to Conflict Resolution in Mobile Computing
    Abstract: Mobile computing devices, such as palm-top computers, mobile phones, personal digital assistants and cameras 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, 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. We classify the dfferent 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. The method uses a micro-economic approach that relies on a particular type of sealed-bid auction. We present different examples to show how this approach resolves conflicts in an optimal way in each of the conflict classes that we have identifed.

  • December 10
    Speaker: Luca Zanolin
    Title: Apply model checking techniques to a dynamic router configuration
    Abstract: The capability to configure a router at run-time in order to satisfy chages in user requirements introduces problems. When the configuration of the router is dynamically changed, the new configuration must be checked to prove that it complies with properties that guarantee the correct functioning of the network. To achieve this goal, we have translated the router configuration into an automata and, using model checking techniques, we are able to prove that the router configuration satisfies a set of properties, such as liveness (i.e., the router is always able to manage new incoming packets) and safety (i.e., particular packets are managed in a priority way). We model our router using Spin - that means, the router is translated into a Promela specification and our desired properties into Linear Temporal Logic (LTL) formula. Exploiting Spin, we can determinate on-the-fly if the router configuration is correct before applying it. The seminar is divided into sections. In the first one, we give a brief introduction about Spin and some of its features. In the second part, we describe how we have applied Spin to our scenario

  • December 17
    Speaker: Rami Bahsoon
    Title: Understanding Architectural Stability
    Abstract: The informal concept of architectural stability refers to the tendency of a software architecture to retain its integrity when subject to disturbance. What disturb an architecture are the changing needs of the stakeholders and the environment in which the system works. We pause the following question: how can we systematically analyse the stability of an architecture in the face of the changing requirements? What are the quantitative and qualitative means and how they relate to stability? We adopt a Goal/Question/metric (GQM) paradigm to measurement. We propose a metrication strategy based on this paradigm. We demonstrate some examples.

  • January 2002

  • January 7
    Speaker: Michael Huth, Imperial College
    Title: Transferring assertion and consistency checkers from single to multiple viewpoints
    Abstract:Using a priority preorder on requirements or specifications, we demonstrate how to lift established model-based property-verification techniques from single to multiple viewpoints. This lift guarantees a maximal degree of autonomy and accountability to single views, automatically synthesizes single-analysis results for multiple-view consistency and assertion checking, allows the re-use of single-view technology (e.g. model checkers such as SPIN), and transforms many meta-results (e.g. soundness of abstraction) from the single-view framework to the multiple-view setting. We formulate assertion-consistency lattices, whose symmetric versions are DeMorgan lattices, as a proper denotational universe for this lift and classify them through priority preorders endowed with an order-isomorphism. We illustrate these ideas for first-order logic checking over under-specified models.

  • January 14
    Speaker: Dave Martin
    Title: BLUTO: Bulk Loading Tool for Oracle
    Abstract: At present there is no defined API that can be used for efficient bulk loading of data from a Java class to a database instance. Java programs that require this functionality have to rely upon the use of third party tools such as SQL*Loader which are specific to a particular database. The project Bluto involved the development of a Java API that can be used for the bulk loading of data from a Java class into an Oracle instance. The API was developed using the C application programming libraries provided by Oracle and the Java Native Interface. Bluto also involved a series of benchmark tests to compare the developed API against recognized methods for bulk loading of data into an Oracle instance. The project also examined the possibility of defining a generic API that can be used across multiple database platforms.

  • January 21
    Speaker: Nima Kaveh
    Title: Verification of Middleware Design
    Abstract: The topic of this seminar will be based on the design verification of object-oriented distributed systems, in particular oo-middleware systems. The complexity of the synchronization behaviour of parallel executing objects/components makes traditional methods of testing and design analysis redundant. Our approach addresses this problem by generating process algebra specification from annotated UML design models, for the purpose of rigorous verification. The verification is done against safety and liveness properties provided by the designer. Any violations of these properties are demonstrated back to the designer in UML notation. The strength of this approach is its exploitation of oo-middleware characteristics and the complete transparency of the process algebra to the designer.

  • January 28
    Speaker: Daniel Dui
    Title:Inconsistency checking of financial transactions
    Abstract:FpML (Financial Product Markup Language) is an XML standard which is being proposed as a de-facto standard for the representation of financial products. Financial institutions need to process transactions quickly, accurately, and cost efficiently. It is therefore crucial to detect and correct errors and inconsistencies. We will give an overview of some of the products that currently can be represented in FpML, of the different possible sources of inconsistencies, and of how xlinkit can be used to compare and validate trade documents.

  • February 2002

  • February 4
    Speaker: Joe Lewis-Bowen
    Title: Scientific Grid Applications
    Abstract:A world-wide Grid of shared computer resources is emerging, thanks largely to international scientific collaborations. To serve these novel applications new software systems are being developed using informal software architecture patterns based on established computing disciplines.
    The talk will introduce the Grid and its significance as a new application domain, which presents novel software engineering challenges.
    The computer science areas that Grid tools have been adapted from will be described. These areas include the OSI model and the Internet, parallel computing, and object oriented middleware. Specific examples of Grid tools, including Globus, will be used to illustrate the adaptation of these areas to the Grid.
    The talk will then describe some specific Grid science projects - drawn from particle physics, astronomy, earth science and other areas. These examples demonstrate the application of the tools and architecture described in the previous section.

  • February 18
    Speaker: Carina Alves
    Title: COTS Evaluation: A Requirements Perspective
    Abstract: The market interest in developing reliable and stable products at shorter development time and reduced cost, has led to an increasing interest in COTS-based software engineering. The success of these systems largely depends on the effective selection of components that meet stakeholders requirements. In this talk, we investigate the challenges presented by the development processes of COTS-based systems. The requirements engineering for such systems is affected by different problems from those of traditional development. We outline the main changes in the requirements process and analyse how to address them. In particular, it is necessary to perform an extensive balancing between the stakeholders needs and the available COTS products. Finally, we argue that new approaches need to be developed to explicitly support the deployment of COTS packages.

  • February 25
    Speaker: Kevin Braithwaite, LBS/Cambridge Technology Ventures
    Title: Developing New Technology Ventures
    Abstract: UK Technology companies are having an ever greater impact on the UK economy and world markets. Increasingly the role of academic research and spin-outs is a key ingredient for success. This talk will focus on issues such as:
    • The Role Of Universities In UK Innovation.
    • Commercialising Innovation.
    • Protecting Intellectual Property Rights.
    • Product Development.
    • Building Effective Teams
    The talk will also provide some brief case examples and discuss the relationship between universities and business schools in fostering innovation.

  • March 2002

  • March 4
    Speaker: Andrea Zisman
    Title: Tracing Product Families Requirements
    Abstract: The support for traceability between requirements specifications has been recognised as an important task in the development life-cycle of software systems, in particular when dealing with documentation developed for families of complex software-intensive products. In this talk we present an approach for automatic generation and maintenance of bi-directional traceability relations between commercial and functional requirements expressed in natural language, and requirement object models developed for families of complex software-intensive products. The generation of traceability relations is based on two types of traceability rules: requirements-to-object-model rules and inter-requirements rules. Our approach supports three different types of traceability relations namely overlaps, realises, and requires. The requirements artefacts and traceability rules are described in XML.

  • March 5
    Speaker: Tony Wasserman
    Title:Issues in Building Mobile Internet Applications
    Abstract: Mobile internet applications are inherently different from applications used from desktop computers. Usage patterns, user interfaces, and bandwidth are just a few of the key differences. Furthermore, different content formats are needed for different classes of devices in addition to that needed for traditional web browsers. This talk surveys the key issues of building mobile applications, and describes a general framework for the architecture of these applications, using Java and XML standards.

  • March 11
    Speaker: Andy Hughes
    Title: Requirements of a middleware for managing a large active network
    Abstract: Active networking is an increasingly popular area of research in both industry and academia. Most active network research projects seem to focus on the router architecture rather than on issues relating to the management of active networks. There are numerous research groups that have incorporated management middleware into the active network router software; however, none seem to be concerned with the effective management of a large heterogeneous active network. The requirements of such a middleware will be outlined in the seminar. There are a number of fundamental middleware principals that are addressed in the presentation: these include management paradigms, configuration delivery, scalability and transactions. Security, fault tolerance and usability are also discussed; although these are not essential parts of the middleware, they must be addressed if the active network management middleware is to be accepted by industry and adopted by other researchprojects.

  • March 18
    Speaker: Judy Cheung
    Title: Investigation into Requirements Management in the context of P2P networks.
    Abstract: Telelogic is a leading software solutions company, with products for requirements management, software development and change management. We focus on some of the issues regarding requirements management and look at some recent work carried out as part of a TCS programme, which has involved Microsoft's .Net platform. The next area of investigation is into P2P networks and in particular, a tool called Groove. We will look at some of the capabilities of Groove and how such a P2P model could be applied to requirements management.

  • April 2002

  • April 8
    Speaker: Usman Arshad
    Title: m-prescribing - An Application of Mobile Technology in Healthcare
    Abstract: This project is the focus of a TCS program being done in conjunction with Elan technologies. The aim of the project is to produce a prototype application that will allow medical professionals to prescribe medication to their patients via a mobile handheld device. The solution is to be integrated into an existing enterprise system and work alongside existing applications. This seminar will highlight the requirements of such an application and focus on how they are impacted by a healthcare environment. A proposed solution will be presented that makes use of Java, XML and mobile middleware technology. The seminar will also examine the potential role of mobile middleware (Xmiddle) in the scope of the solution.

  • April 12
    Speaker: Thomas Gschwind, Technische Universit├Ąt Wien
    Title: Composing Software Components with the Component Workbench
    Abstract: Although software components have gained importance, support for the composition of software components is limited. Worse, if components implemented for different component models need to interact with each other, the composition process becomes a nightmare. Although bridging technologies for distributed component models have been standardized, almost no implementations of these exist so far. The Component Workbench is an application builder that supports the composition of software components adhering to many different software component models such as JavaBeans, Enterprise JavaBeans, CORBA, and COM. This is achieved by using a generic component model that abstracts the functionality provided by today's component models and provides a uniform access mechanism to the components. In this talk, we will present the Component Workbench, the generic component model and future research directions that we pursue.

  • April 15
    Speaker: Carlos Perez-Arroyo and Christian Nentwich
    Title: Distributing xlinkit
    Abstract: In previous work, we have developed xlinkit, our tool for checking the consistency of distributed documents. As documents, and the number of documents grow, checking becomes expensive in terms of memory and computation time. This talk will show how we reengineered xlinkit into a supervisor-worker architecture to distribute the processing load. We will discuss the design and implementation, including vital optimisations to reduce distribution overhead. The lessons learnt in our evaluation may valuable for anyone interested in distributing XML-processing applications.

  • April 19
    Speaker 1: Engin Kirda, Technische Universit├Ąt Wien
    Title 1: Engineering device-independent Web services
    Abstract 1: Until the late 90's, the focus of Web research has been the development of tools, technologies and methodologies for the design, implementation and maintenance of HTML-based Web sites. The common assumption was that a Web site would always be accessed by a browser found on a personal computer or a laptop. Recent developments in mobile computing and mobile Web access (e.g., the Wireless Markup Language (WML) and the Wireless Access Protocol (WAP) not only have changed this view, but have also increased the importance of device-independent access to Web content. The Web of the future will not only be accessed by users using their personal computers and laptops, but by users using a wide variety of Web devices (any hardware or software that can be used to access Web content) such as telephones equipped with speech recognition software, digital televisions and Personal Digital Assistants (PDAs). Many agree that one of the next challenges faced by the research community and the World Wide Web Consortium (W3C) is the definition of standards, tools, methodologies and technologies for the ``browser-less'' and device-independent Web. In this talk, I describe the MyXML-Xenon framework we have built for engineering device-independent Web services.

    Speaker 2: Antinisca Di Marco, Universita' dell'Aquila
    Title 2: Performance Analysis of Software Architecture
    Abstract 2: Software Architectures (SA) describe software system structures at a high level of abstraction. They represent at an early stage of the development the phase in which basic choices of components and interactions among components are made. Designers are often faced with the problem of choosing among different functionally equivalent SAs. This choice is driven by non-functional factors such as performance, reliability, security constraints. Among these, performance is one of the most influential factors to be addressed. In practice, software designers do make their choices among different SAs and very often, in order to support their decisions, they use performance arguments which are made on the base of the experience, without the help of any rigorous conceptual framework. This because rigorous analysis of performance requires the designer specific acknowledgment on performance models and underlay theory, either to properly model the SA for performance analysis or to interpret the obtained results. To support the designer in their decisions during the software system development, without ask them specific acknowledgment, we want to provide them a process that allows the derivation of performance models from software architecture specification. In our approach we have chosen queuing network model as performance model since it appears to be similar to SA definition and because it makes easer the feedback of the performance analysis results upon to the SA.

  • April 22
    Speaker: Sebastian Uchitel, Imperial College
    Title: Requirement Elicitation using Implied Scenarios
    Abstract: Scenario-based specifications such as Message Sequence Charts (MSCs) are becoming increasingly popular as part of a requirement specification. Scenarios describe how system components, the environment and users working concurrently interact in order to provide system level functionality. Each scenario is a partial story which, when combined with other scenarios, should conform to provide a complete system description. We believe that scenario-based specifications can be used to facilitate the development of behaviour models. In addition, we believe that there is benefit to be gained by experimenting with and replaying analysis results from behaviour models in order to help correct, elaborate and refine scenario-based specifications. Our aim is to develop practical and effective tools for:
    i) synthesis of behaviour models from scenario specifications,
    ii) providing feedback in order to drive the development of scenario-based specifications and construction of behaviour models, iii) supporting analysis of requirements and validation of design decisions against them.

    In this seminar, we shall present our work on implied scenarios, which is a practical example of the benefit that can be gained from combining scenarios and behaviour models. Scenario-based specifications describe system decomposition and system behaviour. However, it is not always possible to build a set of components according to the specified decomposition that provides exactly the described system behaviour. Implied scenarios may appear as a result of unexpected component interaction. Implied scenarios are the result of an inconsistency between system decomposition and system behaviour. They arise from specifying the global behaviour of a system that will be implemented component-wise. Implied scenarios can be detected by building behaviour models and can be used to pose questions on stakeholders about unforeseen situations. Thus, implied scenarios can be used to drive the completion of scenario-based specifications while at the same time eliciting further requirements from stakeholders. In this talk, we shall focus on scenario-based notation that is a subset of the ITU MSC standard Z.120, which includes basic and high-level MSCs. We shall discuss implied scenarios, synthesis of minimal implementation models, implied scenario detection techniques and our ongoing efforts to provide a framework for requirement elicitation based on implied scenarios and the Labelled Transition System Analyser tool (LTSA).

  • April 29
    Speaker: Prof. Paolo Ciancarini, Universita' di Bologna
    Title: Coordination middleware for document centric applications
    Abstract: We discuss the architecture of coordination middleware for distributed applications based on active documents and XML technologies. We describe the concepts underlying active documents and XML, and identify some relations between active documents and mobile agents. We introduce a simple taxonomy to characterize coordination middleware architectures,depending on the way they exploit XML in supporting coordination. Accordingly to this taxonomy, the features of several middleware systems are analyzed and evaluated, with the help of a simple case study in the area of distributed workflow management. This is a joint work with R.Tolksdorf and F.Zambonelli.

  • May 2002

  • May 13 (Please note, this seminar will start 10:30am and finish at 12)
    Speaker: Wolfgang Emmerich
    Title: 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 the practice for the use of components in industry. 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 using component-specific extensions of the UML. We then assess the state of the art of 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 formulation of a research agenda that will lead towards the systematic engineering of distributed systems based on component technologies.

  • May 27
    Speaker: Adam Batenin, University of Bath
    Title: Aspect-Oriented Software Development: Issues in Aspect Interaction
    Abstract: Aspect-oriented programming technology has introduced the term join-point into our vocabulary. Unlike traditional components, aspects as components have the potential of interfacing in ways not envisaged by original developers. The aspect composer has the unenviable task of determining all consequences of interaction. This is a considerable task given that interaction across join-points can be much more complex than between components which use message passing. In this talk we will introduce aspect-oriented software development with Hyper/J, the notion of join-point and present some of the issues in aspect interaction.

This page was last modified on 18 Oct 2013.