Tutorials
Six tutorials will be held on Monday and Tuesday. Tutorials are offered by leading experts in Requirements Engineering and provide in depth knowledge in the topic area.
The following tutorial has been cancelled: T8: "RE in a Software Platform Group for Multiple Product Families".
T1: Empirical Research Methods in RE
T2: withdrawn
T3: Aspect Oriented RE with Scenarios
T4: System Requirements Reuse Based on Variability Management
T5: A Better Requirements Process
T6: Engineering Safety- and Security-Related Requirements for Software-Intensive Systems
T7: Requirements Traceability for Globally Distributed Teams
T8: RE in a Software Platform Group for Multiple Product Families
(cancelled!)
Tutorial fees are $ 200 (US dollars) for IEEE members, $ 250 for non members. This includes tutorial notes, coffee and lunch.
Abstracts and Presenter Bios
Tutorial 1: Empirical Research Methods in RE
Steve Easterbrook, University of Toronto
Abstract
This aim of this tutorial is to introduce the range of empirical methods used in RE research, to explain how to choose appropriate methods for particular research projects, and how to ensure the methods are used with a high level of scientific rigour. Using a blend of lecture, discussion, and practical exercises, the tutorial will provide RE researchers and practitioners with a foundation for planning, conducting and reviewing and empirical studies. The tutorial will cover all of the principal methods applicable to RE: controlled experiments, quasi-experiments, case studies, survey research, ethnographies, and action research and will relate these methods to relevant meta-theories in the philosophy and sociology of science. Special emphasis will be given to the challenges of investigating the social and cognitive processes that occur when people analyze human activities in order to understand and manage complex, evolving requirements. The tutorial will cover techniques applicable to each of the steps of a research project, including formulating research questions, theory building, data analysis (using both qualitative and quantitative methods), building evidence, assessing validity, and publishing. The tutorial is relevant for researchers, who will be able to conduct and write more credible empirical studies; for reviewers who will be able to provide qualified judgments of papers; and for practitioners, who will be able to more effectively interpret published results within the context of their own organizations.
Presenter Biography
Steve Easterbrook is a Professor of Computer Science at University of Toronto. He received his PhD in 1991 from Imperial College, London. He joined the faculty in the School of Cognitive Science at the University of Sussex, where he pioneered new degree programs in human-centered software design. From 1995 to 1999, he led the research team at NASA’s Independent Verification and Validation (IV&V) Facility in West Virginia. During this time he investigated techniques and processes for software verification on the independent assessment and IV&V contracts for the Space Shuttle Flight Software, the International Space Station, the Earth Observation System, as well as several planetary probes. In 1999 he joined the faculty at U of T, where he continues his research and teaching in software verification, requirements and systems analysis and software engineering. He has published over 60 peer- reviewed papers in software engineering. He served as general chair for RE’01, and program chair for ASE’06 and has served on the program committee for many conferences and workshops in Requirements Engineering and Software Engineering. For the past two years, he has taught a graduate level course on Empirical Research Methods in Software Engineering at the University of Toronto.
Tutorial 3: Aspect Oriented RE with Scenarios
Joao Araujo, Universidade Nova de Lisboa
Ana Moreira, Universidade Nova de Lisboa
Jon Whittle, George Mason University
Abstract
Requirements should be specified and structured in such a way that their inherent changes must be coped with efficiently. However, requirements that cut across other requirements may result in tangled representations. Consequently, the reaction to requirements change is more difficult, since the impact of the change is more complicated to handle and more costly to rectify. Hence, it is necessary at the requirements stage to have both a means of modelling crosscutting concerns independently but also a means of composing crosscutting concerns (aspects) with other requirements in a way that will allow the entire set of requirements to be validated.
In this tutorial, we consider aspects at the requirements level. In particular, we concentrate on scenario-based requirements. A scenario is an example trace of desired or existing system behavior. Scenarios are commonly used in requirements engineering because they are easily understood by all stakeholders. Among other applications, we can use scenario-based aspect-oriented requirements engineering to model volatile requirements. A rapidly changing market leads to software systems with highly volatile requirements. These must be managed in a way that reduces the time and costs associated with updating a system to meet these new requirements. By externalizing volatile concerns, we can build a stepping-stone for future management of unanticipated requirements change. The key insight is that aspect-oriented techniques can be applied to modularize volatility and to weave volatile concerns into the base software artefacts.
Presenter Biographies
Dr. Joao Araujo holds a PhD in Computer Science from Lancaster University, United Kingdom, in the area of Requirements Engineering. Currently his main research interest is in aspect-oriented requirements engineering, having several papers on this topic in international conferences, workshops and journals. He has been a co-organizer of the Early Aspects workshop at AOSD, OOPSLA, SPL and ICSE conferences since 2002. Additionally, he served on the organization committees as Tutorials and Publicity Chair of ACM/IEEE MoDELS conferences. He was also a PC co-chair of WER 2005 (Workshop on Requirements Engineering). Currently he is a guest editor of the Special issue on Early Aspects at Transactions on Aspect-Oriented Software Development journal.
Dr. Ana Moreira is an Assistant Professor in the Computing Science Department at Universidade Nova de Lisboa, Portugal.She holds a PhD in computer science. Her main research areas are aspect-oriented requirements engineering and architecture design. Currently she is interested in investigating how model-driven development and aspect-orientation can be used to develop an holistic approach for Software Product Lines. Also, she is studying how to address trade-offs arising from requirements volatility when choosing possible variants in Systems of Systems. She is a member of the editorial board of the journals “Transactions on AOSD” and “Software and Systems Modeling”. She is a member of the Steering Committee for MODELS and AOSD. She has been involved, both as organiser and programme committee member, in several conferences, such as ECOOP, CAiSE, UML, MODELS and AOSD. She has co-organised the various editions of the Early Aspects workshop (www.early-aspect.net). She publishes regularly in international events relevant to her research topics.
Dr. Jon Whittle is an Associate Professor at George Mason University in Fairfax, VA. Prior to joining GMU, Jon worked for six years at NASA Ames Research Center. Jon serves on the Editorial Board of the Journal of Software and Systems Modeling and is Chair of the Steering Committee of the International Conference on Model-Driven Engineering Languages and Systems (MODELS). Dr. Whittle has published over 50 peer-reviewed articles in the areas of software modeling, domain-specific methods, and aspect-oriented software development. His paper “Scenario Modeling with Aspects,” co-authored with Joao Araujo, won the IEE Proceedings Software Premium Award. His work on scenarios has also received Best Paper awards at the 3rd World Congress on Software Quality, 2005, and the Workshop on Use Case Modeling at MODELS 2005. Jon is excited to be giving this tutorial in India where he lived for one year, working as a Visiting Professor at IISc Bangalore and IIT Kanpur.
Tutorial 4: System Requirements Reuse Based on Variability Management
Michael Mannion, Glasgow Caledonian University
Abstract
Mass Customization is the customization and personalization of products and services for individual customers at a mass production price. From an engineering perspective mass customization means to develop a product line which can be easily repeated but which is flexible enough to be tailored to meet individual customer demands effectively and efficiently. Successful mass customization implies the efficient management of the variability between products across the product line lifecycle i.e. requirements, design, build, test. This tutorial discusses techniques, experiences and open issues about managing the variability of product line requirements which for complex, highly reliable products must be well-structured, understandable, complete, consistent, and controlled.
One approach to managing these problems is to establish a pool of reusable requirements and to construct the requirements for a new product by making a selection from the pool. A concern of this approach is the efficient and clean selection of a consistent combination of requirements. A consistent combination is one in which the requirements selected satisfy any constraints imposed by the pool of reusable requirements. Critical issues are the management of requirements variability across different products and the management of inter-dependencies between selection decisions from the pool. We address these concerns, present results of using these techniques for real-world applications, and describe some software tools that can be used to support them.
Presenter Biography
Prof Michael Mannion is Professor and Dean of School of Computing and Mathematical Sciences, Glasgow Caledonian University, Glasgow, Scotland, UK. He has a BSc in Computer Science from Brunel University and a PhD in Artificial Intelligence from Bristol University. He has several years’ software engineering industrial experience, is a former Chairman of the British Computer Society Special Interest Group in Software Reuse, served as a member of the British National Space Centre’s Software Steering Group. His research interests include product-line engineering, software engineering and engineering education. He has published more than 50 papers.
Tutorial 5: A Better Requirements Process
Ian Alexander
Alistair Mavin, Rolls-Royce
Abstract
If you want to know how to get started with practical requirements for your project, this tutorial is for you. The basic elements of working out what you want, and writing them down clearly, are simple and straightforward. In this one-day tutorial, participants learn how to begin with requirements. The tutorial takes you through a simple process to create better requirements: setting mission & scope, identifying stakeholders and their goals, resolving goal conflicts, discovering what the stakeholders want with scenarios, formalising the requirements, documenting the reasons why the requirements are felt to be needed, setting priorities, and validating the requirements thus produced. Using the minimum of theory, you will learn how to apply practical techniques for each stage of the process. These are illustrated with diagrams and examples from industry. Participants will take away a basic understanding of how to organise the requirements process; templates for stakeholder analysis and requirement types; a glossary; and a book list. The tutorial is designed for people relatively new to requirements work. It is also a suitable introduction to requirements for professionals in other areas such as testing, quality assurance, configuration management and project management who would like to gain a practical insight into requirements engineering. No prior knowledge of requirements is assumed, but experience on development projects is a definite advantage.
Presenter Biographies
Ian Alexander is an independent consultant specialising in Requirements. He has advised organisations in sectors including automotive, aerospace, transport, telecommunications, broadcasting, defence, and public service. He is an experienced instructor and has written several training courses, as well as numerous technical papers and popular articles. He was the lead editor of the book Scenarios, Stories, Use Cases (John Wiley 2004) and lead author of Writing Better Requirements (Addison-Wesley 2002). He edits the newsletter of the BCS Requirements Engineering Specialist Group and heads the requirements section of the IET Technical & Professional Network for Systems Engineers. He is a Chartered Engineer.
Alistair Mavin is currently working as a control systems engineer at Rolls-Royce in Derby. Prior to joining Rolls-Royce he carried out requirements engineering projects in a range of industries including defence, aerospace, rail, automotive and local government. He has experience in the development and delivery of requirements engineering training. Alistair has published papers on requirements engineering and contributed a case study chapter to "Scenarios, Stories, Use Cases" (I. Alexander and N. Maiden) (John Wiley 2004). He is a committee member of the British Computer Society's Requirements Engineering Specialist Group.
Tutorial 6: Engineering Safety- and Security-Related Requirements for Software-Intensive Systems
Donald Firesmith, Software Engineering Institute
Abstract
Many software-intensive systems have significant safety and security ramifications and need to have their associated safety- and security-related requirements properly engineered. It has been observed by several consultants, researchers, and authors that inadequate requirements are a major cause of accidents involving software-intensive systems, and poor security requirements prevent the early incorporation of security concerns into the architecture. Yet in practice, there is very little interaction between the requirements, safety, and security disciplines and little collaboration between their respective communities. Most requirements engineers, safety engineers, and security engineers know little about their respective disciplines. Also, safety and security engineering typically concentrates on architectures and designs rather than requirements because hazard and threat analysis typically depends on the identification of hardware and software components, the failure of which can cause accidents and vulnerabilities in which can enable attacks. This leads to safety- and security-related requirements that are often ambiguous, incomplete, and even missing. The tutorial begins with a single common realistic example of a safety and security critical system that will be used throughout to provide good examples of safety- and security-related requirements. The tutorial provides a consistent ontology of safety, security, and requirements concepts, provides clear definitions and descriptions of the different kinds of safety- and security-related requirements and finishes with a practical process for producing them.
Presenter Biography
Donald Firesmith is a senior member of the technical staff at the SEI, working in the acquisition support program where he helps the US Department of Defense acquire large complex software-intensive systems. He has a regular column on requirements engineering in the Journal of Object Technology (JOT). He has published dozens of articles, spoken at numerous conferences, and has been the program chair or on the program committee of several conferences. He has taught several hundred courses in industry and the following tutorials at conferences. With over 25 years of industry experience, he has published 5 software engineering books, primarily in the areas of process and object orientation. He is currently finishing the manuscript of a book, on which this course is built. He is the founding chair of the OPEN Process Framework (OPF) Repository organization, which provides the world’s largest free open-source website documenting over 1,100 reusable method components.
Tutorial 7: Requirements Traceability for Globally Distributed Teams
Brian Berenbach, Siemens
Dr. Jane Cleland-Huang, DePaul University
Abstract
Although requirements traceability returns numerous benefits it can be arduous and challenging to implement successfully in practice. The effort required to create traces back to legacy material or to create sufficient traces to comply to legal constraints or process improvement initiatives can overwhelm an organization. As projects increase in complexity, the number of required traces can increase exponentially making tasks such as impact analysis, release planning, and other activities that rely on accurate traces very difficult to accomplish. These problems are only exacerbated in a globally distributed environment where traceable work products are distributed across organizational and geographical boundaries. This workshop introduces participants to concepts in traceability, and discusses best practices and proven techniques to manage tracing in complex and distributed projects. Emerging techniques such as dynamic and rich traces will be presented in the context of industrial day-to-day project execution.
Presenter Biographies
Brian Berenbach is the program manager for requirements engineering at Siemens Corporate Technology. He has been working in the field of requirements engineering for over 15 years, first as a consultant, and then as a senior member of the technical staff at Siemens Corporate Research in Princeton. Recently at Siemens his program has been involved with requirements definition for such diverse products as medical systems, baggage handling, mail sorting, automated warehouses, and embedded automotive systems.
Dr. Jane Cleland-Huang is Assistant Professor at DePaul University's School of Computer Science, Telecommunications, and Information Systems. Her research interests include requirements traceability, and the interplay of quality (non-functional) requirements with software architecture. She has published several papers on requirements traceability in leading research journals, as well as book “Software by the Numbers”. Her research group has developed a traceability tool named Poirot for supporting globally distributed traceability of heterogeneous software artifacts. She holds a Ph.D. from the University of Illinois at Chicago.
(cancelled!) Tutorial 8: RE in a Software Platform Group for Multiple Product Families
J. Vijayananda, Philips Medical Systems
K.R. Shivakumar, Philips Medical Systems
Abstract
The goal of this tutorial is to share our experience with the participants in the following areas:
- Requirements engineering from a product perspective as compared to a platform perspective. We consider the differences of requirements engineering for a platform (that promotes domain based software reuse) as compared to gathering requirements for a single product.
- Requirements engineering for a platform poses a number of interesting challenges. These challenges are diverse particularly in our attempt to enrich the platform to be used in newer products while at the same time sustaining it for already deployed systems in the field.
- Verification and validation of requirements for a platform. A platform is potentially used across multiple product lines. This lends itself to the fact that platform components are used in multiple ways having to meet a diverse set of non-functional and functional requirements. This adds considerably to the complexity of verifying and validating the requirements met by the platform components.
- Provide the participants with some practical experience with a hand’s on exercise. We will build a scenario that simulates a challenging situation from a requirements standpoint exposing them to the issues and trade-offs associated with managing requirements for a platform.
- A concluding ‘open discussion’ that will throw up issues that the industry would like addressed.
Presenter Biographies
J. Vijayananda is an Electronics and Communication Engineer. He started his career with Siemens in 1995. At Siemens, he worked primarily on backend applications for Siemens telecommunication switch with focus on reusable libraries. He joined Philips Innovation centre in the year 1998, in the Medical Systems division. At first he worked in the Magnetic Resonance group responsible for creating applications in and around the medical image storage. He later moved to the Medical imaging platform group responsible for architecting reusable components to be used in different product groups. His current interests include reusable component development, Object oriented system design, Database design, Medical Image Handling and Distributed systems. He has authored several papers published in leading IEEE international conferences in these areas.
K.R. Shivakumar received the Bachelor Degree in Electrical Engineering in 1990. He spent the first six years of his professional pursuit in developing simulation software. He then moved on to develop multi-media software for NEC Japan. He has been working with the Philips Medical Systems-Software Competency Centre (PMS-SCC) since. He is presently Lead Architect of Philips Medical Systems, Bangalore. His topics of interest include Medical imaging, component-based software, distributed systems, software architecture and software product engineering.
More Information
For more information contact Tutorials Chair: Pete Sawyer.
The original call for tutorial proposals is accessible here.
