Anthony J. Cowling
University of Sheffield
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Anthony J. Cowling.
Behaviour & Information Technology | 2007
John Karn; Sharifah Lailee Syed-Abdullah; Anthony J. Cowling; Mike Holcombe
The aim of the research described in this paper is to gain a qualitative understanding of how cohesiveness relates to personality type, performance and adherence to a particular software engineering methodology (XP). A variety of research methods were employed including ethnographic methods, questionnaires and interviews. An online personality test based on the Myers-Briggs Type Indicator (MBTI) was used to ascertain the personality types, and questionnaires were used throughout the project to measure levels of cohesiveness. Examples of how the teams worked together throughout the project are described, and whether and how this relates to the personality types of the individual members. The results indicate that certain teams were found to work consistently well over the project due to homogeneity in personality type and others were found to be very cohesive due to a mixture of types.
Formal Aspects of Computing | 2000
Anthony J. Cowling; Horia Georgescu; Cristina Vertan
Abstract. This paper presents a new model for passing messages in communicating stream X-machine systems (CSXMS). The components are stream X-machines with ε-transitions, acting simultaneously. The states are partitioned into processing and communicating states. Passing messages between the X-machines involves only communicating states. A communication matrix is used as a common memory. It is shown that a structured way of using channels, namely via select constructs with guarded alternatives and terminate clause, may be implemented. An automatic scheme for writing concurrent programs in an Ada-like style, starting from a CSXMS, is proposed.
Empirical Software Engineering | 2007
Victor R. Basili; Marvin V. Zelkowitz; Dag I. K. Sjøberg; Philip M. Johnson; Anthony J. Cowling
If empirical software engineering is to grow as a valid scientific endeavor, the ability to acquire, use, share, and compare data collected from a variety of sources must be encouraged. This is necessary to validate the formal models being developed within computer science. However, within the empirical software engineering community this has not been easily accomplished. This paper analyses experiences from a number of projects, and defines the issues, which include the following: (1) How should data, testbeds, and artifacts be shared? (2) What limits should be placed on who can use them and how? How does one limit potential misuse? (3) What is the appropriate way to credit the organization and individual that spent the effort collecting the data, developing the testbed, and building the artifact? (4) Once shared, who owns the evolved asset? As a solution to these issues, the paper proposes a framework for an empirical software engineering artifact agreement. Such an agreement is intended to address the needs for both creator and user of such artifacts and should foster a market in making available and using such artifacts. If this framework for sharing software engineering artifacts is commonly accepted, it should encourage artifact owners to make the artifacts accessible to others (gaining credit is more likely and misuse is less likely). It may be easier for other researchers to request artifacts since there will be a well-defined protocol for how to deal with relevant matters.
Annals of Software Engineering | 1999
Anthony J. Cowling
This paper describes the development of an undergraduate degree programme in software engineering over the ten year period from 1988 to 1998. Particular emphasis is given to the fundamental principles that have been established to guide the creation and evolution of this programme during this period, and to ensure that it has been distinctively a course in software engineering rather than in any other branch of computing. To this end, the fundamental engineering characteristics of the programme are compared with those of undergraduate courses in other branches of engineering. Desirable future developments in this programme are then discussed, and finally the different principles identified in the paper are evaluated.
Journal of Systems and Software | 2005
Anthony J. Cowling
This paper argues that the concept of modelling, and particularly the modelling of software system structures, is not being given sufficient attention within current sources that describe aspects of the software engineering curriculum. The paper describes the scope of modelling as a general concept, and explains the role that the modelling of software system structures plays within it. It discusses the treatment of this role within the various sources, and compares this both with the experience of the role that such modelling plays in the undergraduate curriculum at Sheffield University, and with the practice in other branches of engineering. The idea is examined that modelling should be treated as a recurring concept within the curriculum, and it is shown that this gives rise to a matrix structure for the software engineering curriculum. The paper discusses how such a structure can be mapped into a conventional hierarchical curriculum model, and the relationships that need to be made explicit in doing so. It describes the practical implications of these results for the structures of degree programmes in software engineering.
conference on software engineering education and training | 1998
Anthony J. Cowling
A model is presented that describes the range of possible curricula for degree courses in software engineering and other areas of computing. This model allows distinctions to be made between the different aspects of computing that are related to software engineering, notably computer science, computer hardware engineering and information systems. It also classifies the various topics that need to be included in the curriculum for such degree programmes, and the relationships between these topics. As such it provides a basis for making decisions on the allocation of curriculum time between different topics, in order to match the aims for the overall focus of any specific degree course in this area.
conference on software engineering education and training | 2003
Anthony J. Cowling
This paper argues that the concept of modelling, and particularly of software system structures, is not being given sufficient attention within current sources that describe aspects of the software engineering curriculum. The paper describes the scope of modelling as a general concept, and explains the role that the modelling of software system structures plays within it. It discusses the treatment of this role within the various sources, and compares this both with the experience of the role that such modelling plays in the undergraduate curriculum at Sheffield University, and with the practice in other branches of engineering. The idea is examined that modelling should be treated as a recurring concept within the curriculum, and it is shown that this gives rise to a matrix structure for the software engineering curriculum. The paper discusses how such a structure can be mapped into a conventional hierarchical curriculum model, and the relationships that need to be made explicit in doing so. It describes the practical implications of these results for the structures of degree programmes in software engineering.
conference on software engineering education and training | 2003
Anthony J. Cowling
This paper is concerned with trying to characterise the skills that students should develop during the course of a degree programme in software engineering. It is based on a generic framework that has been developed within the UK to describe the abilities that engineering students should possess on graduation, and the paper discusses how this framework could be applied to software engineering graduates at the levels of both bachelors and masters degrees. The discussion covers the kinds of systems that graduates should be capable of developing, the process model within which this development can be described as taking place, and the levels of ability that could be expected for each of the activities within this process model.
conference on software engineering education and training | 2004
Anthony J. Cowling
We describe a form of team software development project that has been found valuable in the introductory stages of an undergraduate degree programme in software engineering. The pedagogical basis for this particular form of project is discussed, and its structure is described. Some educational aspects of the operation of this project are discussed, namely the way in which it uses scenarios to define the systems to be developed, the way in which the student teams are managed, and the way in which their work is assessed. The results from running the project are evaluated in qualitative terms.
agent and multi-agent systems: technologies and applications | 2014
Krenare Pireva; Petros Kefalas; Dimitris Dranidis; Thanos Hatziapostolou; Anthony J. Cowling
The developments of pedagogical models in e-learning together with the advances of learning technologies and cloud computing give us confidence to believe that the traditional e-learning will evolve into a process which will put the learner in the center of educational provision. This paper proposes that Cloud e-Learning, a new approach to e-learning, will open opportunities for learners, by allowing personalisation, enhancing self-motivation and collaboration. The learners should be able to choose what to learn, what sources to use, with and by whom, how and in what pace, what services and tools to use, how to be assessed, whether to get credits towards a degree etc. In such a dynamic environment, the need for Multi-Agents Systems is necessary. Actors in Cloud e-Learning would need automated facilitation in all services involved. We outline few indicative scenaria for Cloud E-Learning in which smart agents will act on behalf of the learners, teachers and institution in order to maximise the benefit of the proposed concept.