
Cristina Gacek- Head of Faculty at City, University of London
Cristina Gacek
- Head of Faculty at City, University of London
About
60
Publications
21,422
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
3,436
Citations
Introduction
Skills and Expertise
Current institution
Publications
Publications (60)
Dependability is an important characteristic that a trustworthy computer
system should have. It is a measure of Availability, Reliability,
Maintainability, Safety and Security. The focus of our research is on security
of web services. Web services enable the composition of independent services
with complementary functionalities to produce value-add...
The end of the tunnel is actually here! Now is the time to start the next stage, and I would like to do so by first recognizing the people that made the difference throughout my Ph.D. study years. First and foremost I must thank Nauro, my better half, for always being there, making it all possible and worthwhile. This whole process has brought us e...
This workshop will continue the initiative, which started four years ago, of bringing together the international communities of dependability and software architectures. The first workshop on Architecting Dependable Systems was organised during the International Conference on Software Engineering 2002 (ICSE), and since then five workshops were orga...
The goal of this roadmap paper is to summarize the state-of-the-art and to identify critical challenges for the systematic
software engineering of self-adaptive systems. The paper is partitioned into four parts, one for each of the identified essential
views of self-adaptation: modelling dimensions, requirements, engineering, and assurances. For ea...
To deal with the increasing complexity of software systems and uncertainty of their environments, software engineers have
turned to self-adaptivity. Self-adaptive systems are capable of dealing with a continuously changing environment and emerging
requirements that may be unknown at design-time. However, building such systems cost-effectively and i...
To deal with the increasing complexity of software systems and uncertainty of their environments, software engineers have turned to self-adaptivity. Self-adaptive systems are capable of dealing with a continuously changing environment and emerging requirements that may be unknown at design-time. However, building such systems cost-effectively and i...
This workshop summary gives a brief overview of the workshop on ldquoArchitecting Dependable Systemsrdquo held in conjunction with DSN 2008. The main aim of this workshop is to promote cross-fertilization between the software architecture and dependability communities. We believe that both of them will benefit from clarifying approaches that have b...
Self-Adaptation as a vision promises to enable software systems which can autonomously adapt to changes of their context and requirements. Thus, it facilitates the autonomous evolution of the software without manual intervention. However, in practice we cannot expect that all systems with self-adaptation are developed anew and that all their behavi...
Architectural mismatches are a recognized obstacle to successful software reuse. An ar- chitectural mismatch occurs when two or more software components are connected to form a system and those components make diering and incompatible assumptions about their interactions or the environment in which they exist. Mismatch detection and avoidance has b...
This workshop summary gives a brief overview of the workshop on "Architecting Dependable Systems" held in conjunction with DSN 2007. The main aim of this workshop is to promote cross-fertilization between the software architecture and dependability communities. We believe that both of them will benefit from clarifying approaches that have been prev...
In order to accommodate the current market pressure, the process of building software systems has been changing from the one based on developing bespoke products, to the one in which new software systems are built by integrating existing components. Hence, the need to build them in a way that supports and imposes the required dependability through...
This book collects the latest research on computer-based system structure of computer scientists, sociologists, psychologists and combines statistical and become a picture that can be read from recent work on dependable computer-based systems. Stakeholders and system designers as well as the scientific community now agrees that the issues of human...
This summary gives a brief overview of a one-day Workshop on Architecting Dependable Systems (WADS) held in conjunction with ICSE 2004. It was organised as a twin workshop with a Workshop held in conjunction with the International Conference on Dependable Systems and Network (DSN 2004).
It is not uncommon to see the term open source software (OSS) being discussed as if it was just another manifestation of standards. The underlying assumption is that OSS is derived in a very similar manner as that of standards. A superficial analysis may indicate that there is some truth to this assumption, but a more thorough investigation quickly...
Many software development methodologies are called "open source." However simply stating that a project is open source doesn't precisely describe the approach used to support the project. A multidisciplinary viewpoint can help determine those characteristics that are common to open source projects and those that vary among projects. These character...
This workshop summary gives a brief overview on the workshop on "Architecting Dependable Systems" held in conjunction with ICSE 2004. It is organised as a twin workshop to another to be held in conjunction with the International Conference on Dependable Systems and Network (DSN 2004). This is an ambitious project that aims to promote cross-fertiliz...
Open Source Software (OSS) development needs to be considered during software development as to whether to develop an OSS packages, and/or whether to develop with OSS. In this paper we briefly summarize the various characteristics that can be used to describe an OSS project and then explore the possible relationships between OSS products/projects a...
This workshop summary gives a brief overview of a one-day workshop on "Software Architectures for Dependable Systems" held in conjunctions with ICSE 2003.
This paper is concerned with understanding the character of open source (OSS) project work. Using data from interviews, email communications and the code itself we describe how the orderliness of such projects is achieved in contrast, perhaps, to stereotypical views of 'hacker'projects. We use this data to explicate the ways in which OSS projects a...
Software architectures have been playing a central role in software engineering research for some years now. They are considered of pivotal importance in the success of complex software systems development. However, with the emergence of Open Source Software (OSS) development, a new opportunity for studying architectural issues arises. In this pape...
The integrity of complex software systems built from existing components is becoming more dependent on the integrity of the mechanisms used to interconnect these components, in particular, on the ability of these mechanisms to cope with architectural mismatches that might exist between components. This paper is based on the assumption that architec...
This paper presents issues raised by the articles, presentations, and discussions concerning Open Source Software, Trustworthiness, and Dependability at the Open Source Development Workshop held in Newcastle upon Tyne, UK, on the 25th & 26th of February 2002.
This paper is concerned with understanding the character of open source (OSS) project work. Using data from interviews, email communications and the code itself we describe how the orderliness of such projects is achieved in contrast, perhaps, to stereotypical views of 'hacker'projects. We use this data to explicate the ways in which OSS projects a...
The integrity of complex software systems built from existing components is becoming more dependent on the integrity of the mechanisms used to interconnect these components and, in particular, on the ability of these mechanisms to cope with architectural mismatches that might exist between components. There is a need to detect and handle (i.e. to t...
The term "open source" is widely applied to describe some software development methodologies. This paper does not provide a judgment on the open source approach, but exposes the fact that simply stating that a project is open source does not provide a precise description of the approach used to support the project. By taking a multi- disciplinary p...
The term Open Source is widely applied to describe some software development methodologies. This paper does not provide a judgment on the open source approach, but exposes the fact that simply stating that a project is open source does not provide a precise description of the approach used to support the project. By taking a multidisciplinary point...
Software product lines have numerous members. Thus, a product line infrastructure must cover various systems. This is the significant difference to usual software systems and the reason for additional requirements on the various assets present during software product line engineering. It is imperative that they support the description of the produc...
Often product line engineering is treated similar to the waterfall model in traditional software engineering, i.e., the different phases (scoping, analysis, architecting, implementation) are treated as if they could be clearly separated and would follow each other in an ordered fashion. However, in practice strong interactions between the individua...
Although several definitions of "software architecture" have been presented, none of them to date enable a reviewer confronted with a complex of diagrams and symbols to determine whether it is an architecture for a system or not. We present a definition of "software system architecture" which provides a set of criteria for making this determination...
Acknowledgments The end of the tunnel is actually here! Now is the time to start the next stage, and I would like to do so by first recognizing the people that made the difference through- out my Ph.D. study years. First and foremost I must thank Nauro, my better half, for always being there, making,it all possible and worthwhile. This whole proces...
A major emphasis in software development is placed on identifying and reconciling architectural and design mismatches. Those mismatches happen during software development on two levels: while composing system components (e.g. COTS or in-house developed) and while reconciling view perspectives. Composing components into a system and 'composing' view...
The creation and validation of product line software architectures are inherently more complex than those of software architectures for single systems. This paper compares a process for creating and evaluating a traditional, one-of- a-kind software architecture with one for a reference software architecture. The comparison is done in the context of...
Existing approaches to modelling software systems all too often
neglect the issue of component-mismatch identification and resolution.
The traditional view of software development overemphasises synthesis at
the expense of analysis; the latter frequently being seen as problem
which only needs to be dealt with during the integration stage towards
th...
Reusing assets during application engineering promises to improve the efficiency of systems development. However in order to benefit from reusable assets, application engineering processes must incorporate when and how to use the reusable assets during single system development. However, when and how to use a reusable asset depends on what types of...
A major emphasis in software development is placed on identifying
and reconciling architectural and design mismatches. These mismatches
happen during software development on two levels: while composing system
components (e.g. COTS or in-house developed) and while reconciling view
perspectives. Composing components into a system and `composing' view...
lected a different data structure the options available would be extremely better for him/her. Thus, a KBSE tool developed to address this software construction approach should be able to assist the software engineer in selecting the available software components that fulfill his/her needs, after having decided on the data structure, as well as in...
Although several definitions of "software architecture" have been presented, none of them to date enable a reviewer confronted with a complex of diagrams and symbols to determine whether it is an architecture for a system or not. We present a definition of "software system architecture" which provides a set of criteria for making this determination...
This paper provides motivation ~owards the use of domain specific repositories and DSSA 's. It shows many of the positive side-effects this usage brings about. An extension to the faceted approach to components classi~cation (Prieto-Diaz and Freeman 1987) is introduced. Our extension sug- gests a natural way of further benefiting from the use of do...
ion, selection, specialization, and integration of artifacts 128 s University of Southern California Center for Software Engineering October 15, 1994 Notes: . Software reuse is using existing software artifacts when building a new software system. The artifacts involved include not only source code, but also design, architecture (system and softwar...
Syntax Tree 6 s University of Southern California Center for Software Engineering March 5, 1995 Notes: . As an example of the different views, I am going to use a compiler project of a class I took last semester. . The figure above shows one way of organizing the code in subsystems. These subsystems should then be further specified 6 n University o...
This paper is organized around the general topics that will be covered by the workshop discussion groups, therefore serving as a thought triggering mechanism.
Software's ability to adapt at run-time to changing user needs, system intrusions or faults, changing operational en-vironment, and resource variability has been proposed as a means to cope with the complexity of today's software-intensive systems. Such self-adaptive systems can config-ure and reconfigure themselves, augment their functionality, co...
This project activity was worked on by 3 DIRC sites, City University, Lancaster University and the University of Newcastle. The main aim of this project was to determine whether a full project activity in the area of development of systems by open source approaches would be worthwhile in the DIRC project. In order to be able to make such a recommen...
Explicitly considering software architectural information at all times is now a recognized means for addressing software system dependability. In this paper we propose the basic ideas for AA, an architecture aware environment to improve software system dependability. It builds on ideas from architecting dependable systems, control engineering, and...
Megaprogramming [3], the practice of software construction in a component-oriented fashion heavily based on software components' reuse, has long been recognized as an important solution for the software crisis [11]. It is a powerful means of not only reducing software development costs in the long run, but also reducing the risk of project failure,...
Software's ability to adapt at run-time to changing user needs, system intrusions or faults, changing operational environment, and resource variability has been proposed as a means to cope with the complexity of today's software-intensive systems. Such self-adaptive systems can configure and reconfigure themselves, augment their functionality, cont...