Transcription

1 A compositional model for the formal specification of user interface software Panagiotis Markopoulos Submitted for the degree of Doctor of Philosophy March 1997

2 A compositional model for the formal specification of user interface software Panos Markopoulos Submitted for the degree of Doctor of Philosophy, March Queen Mary and Westfield College University of London. Abstract This thesis investigates abstractions for modelling user interface software, discussing their content and their formal representation. Specifically, it focuses on a class of models, called formal interactor models, that incorporate some of the structure of the user interface software. One such abstract model is put forward. This model is called the Abstraction-Display-Controller (ADC) interactor model; its definition draws from research into user interface architectures and from earlier approaches to the formal specification of user interfaces. The ADC formal interactor model is specified using a specification language called LOTOS. Several small scale examples and a sizeable specification case study demonstrate its use. A more rigorous discussion of the ADC model documents its properties as a representation scheme. The ADC interactor is compositional, meaning that as a concept and as a representation scheme it applies both to the user interface as a whole and also to its components. This property is preserved when interactors are combined to describe more complex entities or, conversely, when an interactor is decomposed into smaller scale interactors. The compositionality property is formulated in terms of some theorems which are proven. A discussion on the uses of the ADC model shows that it provides a framework for integrating existing research results in the verification of formally specified user interface software. Finally, the thesis proposes a conceptual and formal framework for relating interface models to models of users task knowledge capturing some intuitions underlying task based design approaches. 1

3 Acknowledgements I wish to acknowledge the help of all my colleagues in the Department of Computer Science at Queen Mary and Westfield College, who provided an active research environment, practical support and advice. In particular, I would like to thank Peter Johnson and Jon Rowson for their supervision. I am grateful to Stephanie Wilson and John Samuel for all their work in proof reading the thesis, but also for advising and encouraging me while I was working on it. Also, I would like to thank Eamonn O Neill for helping debug parts of the thesis. Acknowledgement is also due to INRIA (France), to UPM (Madrid) and CNR (Pisa) for providing the software tools which I have used in this research. Finally, I owe a big thank you to my parents Dimitris and Christina for caring and for supporting me morally and materially throughout my studies, and to my wife Annick who endured the long build-up to the submission of the thesis and made it a happy time. 2

6 Contents State parameters for processes ACT-ONE data types Specification styles for LOTOS Conclusion Chapter 4 The ADC interactor model Dimensions for the description of interactive components Overview of the ADC model Specification of the Abstraction-Display (AD) data type The Abstraction Display Unit The Constraints Component A simple example: The specification of a scroll bar The Controller Unit The scrollable list example: composition of two interactors Some first comments on the ADC interactor model Modelling interfaces as composition graphs Compositionality of the ADC model Summary Chapter 5 A case study in the use of the ADC interactor Motivation for the case study Simple Player : the subject of the case study Some basic concepts of QuickTime Interaction with Simple Player Scope of the specification A summary of the specification process and its product Example: The specification of volume control The approach to specifying each interactor Improvements to the ADC Model Non data-carrying actions Abstraction-Only, Display-Only and Controller Interactors Logical connectives

7 Contents Chapter Temporal Constraints Assessment of the study: lessons drawn and limitations Conclusions Synthesis, Decomposition, and Abstract Views Rigorous definition of the ADC interactor Topology of interactor gates The set of possible interactions The syntactic structure of ADC interactors The AD data type specification Elementary ADU A well formed ADU The controller unit (CU) Conclusion Synthesis Synchronous Composition of Interactors Correctness of the synthesis transformation for synchronous compositions Correctness of the composition with [] (choice) Correctness of the composition with [> (disable) Example Discussion Abstract Views of Interactors Decomposition Decomposition of an elementary ADU Decomposition of a well formed ADU Parameterised behaviours Synthesis and the SSRRA behaviours Decomposition of the CU Dialogue Modelling Conclusions

8 Contents Chapter 7 Use of the ADC model Predictability and observability properties Example: Predictability of the scrolling list Validity of predictability and observability formalisations Verification of predictability and observability properties Dialogue analysis Informal description of dialogue properties Formal specification of dialogue properties Constructive specification of properties with LOTOS Conclusion Top-down interface design and the ADC interactor model Relating interactor specifications with a task model Some elements of the TKS theory Formal representation of the temporal structure of a task Task based design and the property of task conformance Relating task and interface representations A formal definition of task conformance Example: Testing for task conformance Related work Discussion Conclusions Chapter 8 Conclusions Summary of the thesis Discussion and Future Work Contributions References Appendix A.1 Equivalence and pre-orders of processes A.2 Graphical Composition Theorem for Parallel and Hiding Operators

12 List of Tables Table 3.1 Some notation for describing an LTS 58 Table 3.2 LOTOS syntax and semantics 65 Table 3.3 Types of interaction between synchronised LOTOS processes 67 Table 5.1 Logical connectives, their structure and their visual representation 112 Table 6.1 Each row shows a combination of transitions and the condition put on the label sets of the components and G, G1, G2 for it to be possible for both DF and CF 132 Table 7.1 Expressions of predictability and observability properties 166 Table 7.2 The conjunction of the static and dynamic expressions of predictability and observability properties 168 Table 7.3 Predictability of a sequence of user-input s 168 Table 7.4 A state-based scheme for the classification of dialogue properties 175 Table 7.5 The meaning of LOTOS operators in the context of task modelling

13 Chapter 1 Introduction This chapter introduces the main themes of the thesis: Human-Computer Interaction, Formal Methods in Software Engineering and, more specifically, the application of Formal Methods to the design and development of user interface software. The user interface is a component of the software and hardware implementing an interactive system, which mediates between the computer and its human user. Methods and tools are needed to support the engineering of user interfaces [15, 87] and Formal Methods are discussed in this light. This chapter raises the central question: What are the appropriate abstractions for modelling and engineering user interface software? The thesis discusses properties of such abstractions and proposes an appropriate formal model. This chapter concludes with an overview of the thesis. 1.1 Human Computer Interaction Human-Computer Interaction (HCI) is a multi disciplinary field that concerns the use of interactive computer systems by humans. Diverse scientific disciplines, such as psychology, ergonomics and sociology, may help provide theories and models for the explanation of the phenomena pertaining to the interaction of humans and computers. Graphic and industrial design may help improve the presentation of interactive systems. Computer science and engineering are necessary to build these systems. The central problem for HCI is an engineering one, that of developing systems that will satisfy the needs of their users. Arguably, the major portion of this engineering effort is in developing the software for the user interface [139]. The user interface mediates between two participants in interaction: a human operator and the computer hardware and software that implement the interactive system. The development of the user interface is inherently difficult [138]. Current practice in user interface design relies largely upon the talent of individual designers and in this sense it may be considered as a craft, if not an art [51]. Much is to be gained if the study of human-computer interaction 12

14 Chapter 1 Introduction can provide guidance in terms of engineering principles, tools and methods specific to the problem of designing and developing user interface software. The research presented in this thesis adopts this software engineering view of HCI. This should not suggest that the importance of the other contributing disciplines is not recognised. On the contrary, it is a definitive aim of research in software engineering methods in HCI to provide the practical means by which such bodies of knowledge may feed into the development of computer systems. This thesis does not provide a theory of what is a usable system or of how the productivity and the creativity of the user of a system may be assisted. It is concerned with the development of theoretical models that describe human-computer interfaces and the study of their use so that they assist the engineering of user interfaces. In particular, it examines how a class of software engineering methods, known as formal methods, can contribute to this task. 1.2 Formal methods of software engineering Formal methods are mathematically based techniques used in system development. They provide a framework for systematically specifying, developing, and analysing systems. A formal method is associated with a formal specification language, which has a formal syntax and a formal semantics, and is based upon a logical inference system [190]. The latter is a way of characterising which objects in the semantic domain satisfy a specification. It is important to maintain the distinction between the specification and the object it describes. The term specificand [190] is used to refer to the latter. In this thesis the specificand is the user interface software or some part of it. A specification is a model of the specificand. In other words, the specification can be seen as a representation from which predictions are derived regarding the object it represents. Predictions may be made directly using the logical inference system that underlies the formal method or indirectly via tool support that is based on this inference system. Formal specifications are an attractive representation technique for the software engineer because they are economical and they are unambiguous. They are economical because they can abstract away from detail that is not relevant for the predictions they aim to make [38]. By means of abstraction a formal specification describes a class of objects that adhere to the same abstract description. There may be numerous abstractions of the same specificand, e.g. in terms of rules pertaining to its behaviour, the timing of its behaviour, or even stochastic aspects [176]. A specification may address various abstraction levels, e.g. for graphical output they may concern pixels, windows, etc. A formal specification is unambiguous because it has only one meaning: it should always be clear whether a particular object of the semantic domain belongs to the class of objects described by the specification. This is the main difference from informal specifications which different readers may interpret differently or even the same person might interpret in different ways at different times. Finally, a minimal requirement from any formal specification is that it be consistent, in that no two contradictory statements can be inferred from the specification. 13

15 Chapter 1 Introduction But when is a formal specification a useful engineering tool? Clearly, the set of predictions made with the formal method should be relevant to the task for which they are used. To apply formal methods to a particular problem domain, the general characteristics of the objects of this domain have to be captured in a generic model [192]. The success of such a model depends on its potential to produce valid and useful predictions about the problems of the particular domain. The validity of the model can be refuted but it cannot be proved [38]. However, confidence that the model is an appropriate representation for the objects of the problem domain that it represents increases with each successful application of the model. The practical application of the model also seems to be the only definitive testimony of how useful it may be. As Gaudel [73] points out, a formal model tailored for a specific problem domain should mask, as far as possible, the underlying mathematical concepts. This will make it more accessible to the persons involved in the software development. Another important issue in the application of formal methods is the need to structure specifications in order to master their size and complexity. Finding an appropriate structure for formal specifications is a key problem for scaling up the use of formal methods to industrial scale problems [179]. Methods for structuring specifications are dependent on the application area, so this thesis will examine such methods in the context of specifying user interface software. Another dimension for characterising a formal model is its expressive power, i.e. the range of the objects in the represented world that are successfully described by the model. The quality of the predictions made depends on the analytical power of the model. In turn, this depends on the underlying specification language and its expressive power. Usually, the weaker the expressive power, the stronger the analytical power will be [38]. This suggests that special purpose models of interface software that have a modest expressive power may be preferred over general abstractions or more powerful formal models. The specification is subject to several manipulations that are used in the development process. These manipulations, or transformations, are essential tools in the development of any system [38]. They must be guaranteed to be property-preserving. For example, a specification may be broken down to smaller modules, it may be used to construct higher level specifications, or it may be refined to a more detailed description of a behaviour that satisfies it [158]. The specification may be used as the basis for testing an implemented system or for verifying a system formally. The real test for formal methods is the pragmatic issue of whether they aid system development. The utility and the acceptance of a formal method depends on the efficiency with which it is applied, how its use affects the quality of the software produced, and the potential of scaling up its use to problems of realistic size. It is an old and on-going debate whether or not formal methods benefit software development. Some of the most controversial issues are discussed in [24, 80]. The role that formal methods should play in software development is an issue of a strong debate even among some of their most staunch supporters. The reader is referred to [166] for a discussion 14

16 Chapter 1 Introduction on the role of formal methods, by some of their most outstanding proponents and sceptics. Currently no scientific assessment has been undertaken, concerning the impact formal methods have on the processes and products of the computer industry [26, 74]. The state of the technology in the area is changing constantly and a verdict on the benefits of formal methods, in a particular problem domain, can only be ephemeral. It seems a more pragmatic and fruitful research venture to try to understand the limitations of current methods, with respect to a particular problem domain, and to investigate how improvements can be achieved. 1.3 The application of formal methods to HCI It is a widespread view in the software engineering community that formal methods are not applicable in the development of user interfaces, e.g. [25]. However, the application of formal methods to the study of HCI has a history of more than ten years. Formal languages, i.e. languages with a formal syntax, have been adopted by HCI researchers as notations to specify and communicate models of users, systems and interaction, e.g. [78, 86]. A strand of research closer to the traditions of software engineering has been concerned with developing abstract models of interactive systems, which are used to predict the usability consequences of design decisions. This has resulted in the generic mathematical formulation of properties that are related to the usability of a specified system [84, 85, 49]. The verification of interaction properties using formal models may provide greater assurance of software usability earlier in the design process. Research into abstract models of interactive systems can been criticised on, at least, two accounts. One is the validity of the predictions, which is an empirical question [49, pp. 77]. Another is the difficulty of applying abstract models to the construction and concrete detail which reflects how the system is actually built [49, pp. 336]. This thesis focuses on a class of formal models that aim to improve on the latter account. These models incorporate characteristics particular to the software architecture of user interfaces, so they are referred to as formal architectural models. Numerous formal architectural models have been proposed. Recently, the term interactor models has been adopted to refer to them collectively, e.g. [54, 62, 150]. The term is given a concrete definition in later chapters. Interactor models are very similar to their predecessors, the abstract models of user interfaces. An argument put forward in this thesis is that their evolution should reflect on developments in less formally defined models of the interface software architecture. Existing interactor models have diverse origins and are defined using various formal specification languages. The diversity between formal interactor models can be traced back to their different purposes, different formal frameworks, and different historical origins. However, they demonstrate a strong convergence in their essential elements [54]. At the very least, this convergence shows a consensus among researchers, concerning the essential elements of interface software that should be captured by an 15

17 Chapter 1 Introduction architectural model. This search for the right abstraction is characteristic of research into applying formal methods to the development of human computer interfaces. 1.4 The thesis and the research method The thesis put forward is that the practical application of formal methods to the design and development of user interface software can be assisted by a class of formal models called interactor models. In particular, the thesis proposes an interactor model which is called Abstraction-Display-Controller (ADC) after its main components. It is suggested that this model is an appropriate abstraction for modelling user interface software because it captures essential and general characteristics of user interface software and it maintains a close relation to software architectures. As a formal model the ADC interactor model is equipped with some properties that are essential for its use as a design representation in the development and analysis of a user interface. Finally, it is suggested that it provides a conceptual and formal framework for integrating diverse approaches to modelling and analysing user interface software. Considering the multi disciplinary nature of HCI, this thesis is biased towards computer science. This has its consequences for the nature of the research reported. The requirements set for the ADC interactor model have emerged from a comparison of user interface architectures and existing formal models. The formal method used for its specification was adopted after assessing earlier research approaches in this field. Formal methods differ with respect to their applicability for specifying user interface software, the available tool support, and how widespread their use may be. The thesis discusses the choice among the candidate formal methods and the trade-off between the expressive power of the notation and the feasibility of manipulating and using the formal specifications in practice. An important consideration throughout is to facilitate the practical application of formal methods as aids in the design and development of user interface software. The thesis argues that for an interactor model to be useful as an engineering and conceptual tool it should be possible to specify the user interface as a composition of interactors. The compositions formed ought to be interactors themselves. This property, called the compositionality of the model, is consistent with informal abstractions of user interface software, and enables the recursive application of the model at various abstraction levels. Conversely it should be possible to decompose interactors into smaller scale interactors. Further, it should be possible to infer salient properties of a designed interface from its specification. In the body of this thesis these propositions are discussed in a formal framework and the ADC model is defined to support them. The ADC model was tested with a reverse-engineered formal specification of a simple, but real, multi media application. This case study prompted improvements to the model, which are discussed. Further, the case study is testimony to the validity of the model. Some of the engineering properties that were set as requirements for the model have been proved as theorems. On the basis of these theorems, formal transformations of the 16

18 Chapter 1 Introduction interactor specifications are defined. Where necessary an algorithmic solution to the transformation problem is proposed. The analytical use of the model is discussed. The ADC model provides a formal and conceptual framework that enables the integration of earlier results regarding the specification and verification of usability related properties of a user interface. The contribution of the thesis is two-fold. From a computer science point of view it shows the application of formal methods to a broad and interesting problem domain, namely, the design and development of user interface software. Within this particular problem domain, the ADC interactor model can help one to write and to understand complex formal specifications. For example, the case study discussed is an interesting problem simply from a specification point of view. The application was modelled to such detail and complexity that the specification tested the limits of the tool support used. The ADC model provides a framework for identifying and combining reusable specification components for user interface software. More importantly, a formal model, such as the ADC interactor, provides a bridge between the world of the mathematical concepts of formal methods and the domain of user interface software. As has been argued in section 1.3, this is a necessary prerequisite for applying formal models to any application domain. A formal architectural model like ADC fills the gap between more abstract models of interface software and the architectural design of actual software. From an HCI point of view, the thesis aspires to provide the interface designers or developers with a formal modelling scheme appropriate for their tasks. The model embodies essential elements of interface software architectures, it can help establish usability related properties and the correctness of the interface software. Finally, it contributes towards a long-standing aim of research in applying formal methods in HCI. This aim is to provide a representation scheme that helps express and apply requirements derived from a human-centred study of the work supported by the computer. This scheme, it is argued, is neutral with respect to theories of human cognition and behaviour, but can provide the expressive means for relating such theories to representations of user interface design. 1.5 Overview of the thesis This chapter has posed a two-fold question that this thesis tries to answer: What are the right abstractions for modelling user interface software? and, what is a suitable representation scheme for them?. In the body of this thesis, the ADC interactor model is put forward as the appropriate answer to these questions, and its formal specification is discussed. A substantial part of the thesis is concerned with documenting the properties and demonstrating the use of this model. Chapters 2 and 3 prepare the ground for the introduction of the ADC model, surveying two different streams of research. These reflect the diverse influences on the development of the ADC interactor model. The quest for the right abstraction has much in common with the endeavours of research into user interface software architectures. Chapter 2 reviews this research. 17

19 Chapter 1 Introduction Software architectures are assessed in terms of the practical benefits they offer to the user interface developer. The aim of this review is to identify, and in subsequent chapters to inject into the formal model, some of the practical merits of software architectures and some of their morphological characteristics. This approach should make the model more relevant to the problems of the user interface designer and a more useful engineering tool. The review of software architectures for user interfaces in chapter 2 plays a bootstrapping role for the thesis. It summarises some standard terminology and it defines user interface software, its role, scope, and ontology. It offers an insight into the nature of the specificand, the user interface software, which is the first step in the application of a formal method. The second major influence on the development of the ADC interactor model is the research tradition in formal methods in HCI. Chapter 3 presents a very selective view of the developments in the field, in order to demonstrate the current trend towards interactor models. It first discusses the ad hoc application of general purpose formal specification languages to specify user interfaces. Then it discusses abstract models of interaction. Abstract models are a class of models that afford expressions of properties of interactive systems with minimal reference to their internal structure. These properties capture design intuitions that pertain to the usability of an interactive system. An important motivation throughout the development of the ADC model was to attain formulations of these properties at a more concrete level of description. In chapter 3 those elements that make interactors a valid abstraction for interface software are highlighted. Further, their qualities as engineering tools are discussed. The derived requirements prompt the definition of the interactor model of the following chapter. Finally, chapter 3 discusses LOTOS [100] which is the formal method adopted for the specification of user interfaces in the thesis. This choice involves some conscious tradeoffs which are flagged. Chapter 4 introduces the ADC interactor model, informally first by defining its components and their properties, and then as a formal specification template in the LOTOS language. Some simple examples are discussed. The ADC model is compared briefly with other architectural models both formal and informal. Chapter 5 presents the application of the ADC model to specify a multimedia application for the Macintosh computer. The specification is quite large and, therefore, it represents a real test for the modelling scheme and the tool support used. This case study resulted in several developments to the ADC model which are summarised at the end of the chapter. Chapter 6 revolves around the theme of the compositionality of the ADC interactor model. In this thesis, the term compositionality denotes the ability to compose instances of a model to obtain a new instance of the model. Further, this instance of the model should be used for further manipulations with minimal reference to its constituent parts [38, 73]. Chapter 6 gives a rigorous definition of the requirement for compositionality. In order to show that the ADC model does indeed posses this property, the model is defined in a manner more rigorous than in chapter 4. This enables the definition of two 18

20 Chapter 1 Introduction syntactical transformations of interface specifications: the synthesis and the decomposition of ADC interactors. For the first, and, where possible, for the second, the meaning of the specification is preserved up to the strongest possible level, that of strong bisimulation equivalence [133]. The synthesis transformation has been presented partly in [125] and an early discussion of the decomposition transformation has been outlined in [126]. These concepts are discussed thoroughly with their theoretical foundation and a reflection on their practical implications. Chapter 7 discusses the use of the ADC model. Formulations of properties related to the usability of a system previously expressed in terms of abstract models, are discussed in the framework of the ADC model, updating an early discussion on the topic in [123]. The verification of properties of the dialogue supported by an interface is examined. Dialogue pertains to the syntactic regularities of the temporal structure of the interaction between human and computer. Its study has been a traditional concern for human computer interface design notations, e.g. [77, 88]. On a practical note, chapter 7 discusses the automatic verification of user interface properties, reflecting on the currently available tool support and its limitations in supporting the analytical use of the ADC model. In the latter half of chapter 7 the discussion extends to some broader topics. The use of the ADC model within a traditional top-down software engineering approach is demonstrated and, also, its use in the context of a more psychologically informed approach to design. Note that the historical origins of the ADC model have been an attempt to support a model based design of user interfaces with formal specification techniques, see [187]. The ADC model is discussed in conjunction with a formal representation of user tasks. This formalisation gives a novel insight into task based design. Further chapter 7 proposes a framework that helps relate the formal representations discussed in the thesis to more informal and practical techniques for the design and evaluation of human computer interfaces. The final chapter summarises the thesis, it provides an assessment of its contribution and it discusses a series of emerging issues for future research. 19

www.capspace.org (01/17/2015) Software Engineering Transfer Degree This program of study is designed for associate-degree students intending to transfer into baccalaureate programs awarding software engineering

* ** Today s organization increasingly prompted to integrate their business processes and to automate the largest portion possible of them. A common term used to reflect the automation of these processes

Module 2 Software Life Cycle Model Lesson 4 Prototyping and Spiral Life Cycle Models Specific Instructional Objectives At the end of this lesson the student will be able to: Explain what a prototype is.

Software Engineering Architectural Design 1 Software architecture The design process for identifying the sub-systems making up a system and the framework for sub-system control and communication is architectural

School of Computing FACULTY OF ENGINEERING MEng, BSc Computer Science with Artificial Intelligence Year 1 COMP1212 Computer Processor Effective programming depends on understanding not only how to give

School of Computing FACULTY OF ENGINEERING MEng, BSc Applied Computer Science Year 1 COMP1212 Computer Processor Effective programming depends on understanding not only how to give a machine instructions

A comparison of the OpenGIS TM Abstract Specification with the CIDOC CRM 3.2 Draft Martin Doerr ICS-FORTH, Heraklion, Crete Oct 4, 2001 1 Introduction This Mapping has the purpose to identify, if the OpenGIS

Günter Böckle Klaus Pohl Frank van der Linden 2 A Framework for Software Product Line Engineering In this chapter you will learn: o The principles of software product line subsumed by our software product

1 CHAPTER 1 INTRODUCTION Exploration is a process of discovery. In the database exploration process, an analyst executes a sequence of transformations over a collection of data structures to discover useful

PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main

Quotes from Object-Oriented Software Construction Bertrand Meyer Prentice-Hall, 1988 Preface, p. xiv We study the object-oriented approach as a set of principles, methods and tools which can be instrumental

Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements

What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each

LOUGHBOROUGH UNIVERSITY Programme Specification Computer Science Please note: This specification provides a concise summary of the main features of the programme and the learning outcomes that a typical

Conclusions and Further Work Page 245 CHAPTER EIGHT Conclusions and Further Work This final chapter brings the thesis to a close by returning to the agenda which was established in chapter 1. It summarises

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL This chapter is to introduce the client-server model and its role in the development of distributed network systems. The chapter

A Methodology for the Development of New Telecommunications Services DIONISIS X. ADAMOPOULOS Centre for Communication Systems Research School of Elec. Eng., IT and Mathematics University of Surrey Guildford

Component Based Development in Software Engineering Amandeep Bakshi, Rupinder Singh Abstract--In today s world, Component Based development is an active research area for more than a decade in software

Introduction Software Development around a Millisecond Geoffrey Fox In this column we consider software development methodologies with some emphasis on those relevant for large scale scientific computing.

University of Dayton Department of Computer Science Undergraduate Programs Assessment Plan DRAFT September 14, 2011 Department Mission The Department of Computer Science in the College of Arts and Sciences

Functional Decomposition Top-Down Development The top-down approach builds a system by stepwise refinement, starting with a definition of its abstract function. You start the process by expressing a topmost

MODELING OF SERVICE ORIENTED ARCHITECTURE: FROM BUSINESS PROCESS TO SERVICE REALISATION Marek Rychlý and Petr Weiss Faculty of Information Technology, Brno University of Technology, Czech Republic, rychly@fit.vutbr.cz,

Ontological Representations of Software Patterns Jean-Marc Rosengard and Marian F. Ursu University of London http://w2.syronex.com/jmr/ Abstract. This paper 1 is based on and advocates the trend in software

codekingdoms Code Kingdoms Learning: What, where, when and how for kids, with kids, by kids. Resources overview We have produced a number of resources designed to help people use Code Kingdoms. There are

Appendix B Data Quality Dimensions Purpose Dimensions of data quality are fundamental to understanding how to improve data. This appendix summarizes, in chronological order of publication, three foundational

Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development ARBI GHAZARIAN University of Toronto Department of Computer Science 10 King s College Road, Toronto,

Simulating the Structural Evolution of Software Benjamin Stopford 1, Steve Counsell 2 1 School of Computer Science and Information Systems, Birkbeck, University of London 2 School of Information Systems,

Engineering Process We need to understand the steps that take us from an idea to a product. What do we do? In what order do we do it? How do we know when we re finished each step? Production process Typical

Axiomatic design of software systems N.P. Suh (1), S.H. Do Abstract Software is playing an increasingly important role in manufacturing. Many manufacturing firms have problems with software development.

How to Write a Good Paper? (www.cse.iitb.ac.in/ uday) Department of Computer Science and Engineering, Indian Institute of Technology, Bombay October 2009 CSI Convention 09 Research: Outline 1/26 Outline

DEGREE PLAN INSTRUCTIONS FOR COMPUTER ENGINEERING Fall 2000 The instructions contained in this packet are to be used as a guide in preparing the Departmental Computer Science Degree Plan Form for the Bachelor's

Professional Diploma in Marketing Project Management in Marketing Senior Examiner Assessment Report March 2013 The Chartered Institute of Marketing 2013 Contents This report contains the following information:

Module 1 Introduction to Software Engineering Lesson 2 Structured Programming Specific Instructional Objectives At the end of this lesson the student will be able to: Identify the important features of

A Structured Methodology For Spreadsheet Modelling ABSTRACT Brian Knight, David Chadwick, Kamalesen Rajalingham University of Greenwich, Information Integrity Research Centre, School of Computing and Mathematics,

1 Doctor of Education - Higher Education The University of Liverpool s Doctor of Education - Higher Education (EdD) is a professional doctoral programme focused on the latest practice, research, and leadership

The Role of Programming in Informatics Curricula A. J. Cowling Department of Computer Science University of Sheffield Structure of Presentation Introduction The problem, and the key concepts. Dimensions

Infrastructures for Digital Business Ecosystems : the wrong question? Maurizio De Cecco http://maurizio.dececco.name/ http://www.linkedin.com/in/mauriziodececco As an independent expert working for the