30 research outputs found
Foundations of Empirical Software Engineering: The Legacy of Victor R. Basili
This book captures the main scientific contributions of Victor R. Basili, who has significantly shaped the field of empirical software engineering from its very start. He was the first to claim that software engineering needed to follow the model of other physical sciences and develop an experimental paradigm. By working on this postulate, he developed concepts that today are well known and widely used, including the Goal-Question-Metric method, the Quality-Improvement paradigm, and the Experience Factory. He is one of the few software pioneers who can aver that their research results are not just scientifically acclaimed but are also used as industry standards. On the occasion of his 65th birthday, celebrated with a symposium in his honor at the International Conference on Software Engineering in St. Louis, MO, USA in May 2005, Barry Boehm, Hans Dieter Rombach, and Marvin V. Zelkowitz, each a long-time collaborator of Victor R. Basili, selected the 20 most important research papers of their friend, and arranged these according to subject field. They then invited renowned researchers to write topical introductions. The result is this commented collection of timeless cornerstones of software engineering, hitherto available only in scattered publications
Achieving Autonomic Web Service Compositions with Models at Runtime
Over the last years, Web services have become increasingly popular. It is because they allow businesses to share data and business process (BP) logic through a programmatic interface across networks. In order to reach the full potential of
Web services, they can be combined to achieve specifi c functionalities.
Web services run in complex contexts where arising events may compromise the quality of the system (e.g. a sudden security attack). As a result, it is desirable to count on mechanisms to adapt Web service compositions (or simply
called service compositions) according to problematic events in the context. Since critical systems may require prompt responses, manual adaptations are unfeasible in large and intricate service compositions. Thus, it is suitable to
have autonomic mechanisms to guide their self-adaptation. One way to achieve this is by implementing variability constructs at the language level. However, this approach may become tedious, difficult to manage, and error-prone as the number of con figurations for the service composition grows.
The goal of this thesis is to provide a model-driven framework to guide autonomic adjustments of context-aware service compositions. This framework spans over design time and runtime to face arising known and unknown context events (i.e., foreseen and unforeseen at design time) in the close and open worlds respectively.
At design time, we propose a methodology for creating the models that guide autonomic changes. Since Service-Oriented Architecture (SOA) lacks support for systematic reuse of service operations, we represent service operations as Software Product Line (SPL) features in a variability model. As a result, our approach can support the construction of service composition families in mass production-environments. In order to reach optimum adaptations, the variability model and its possible con figurations are verifi ed at design time using Constraint Programming (CP).
At runtime, when problematic events arise in the context, the variability model is leveraged for guiding autonomic changes of the service composition. The activation and deactivation of features in the variability model result in changes in a composition model that abstracts the underlying service composition. Changes in the variability model are refl ected into the service composition by adding or removing fragments of Business Process Execution Language (WS-BPEL)
code, which are deployed at runtime. Model-driven strategies guide the safe migration of running service composition instances. Under the closed-world assumption, the possible context events are fully known at design time. These
events will eventually trigger the dynamic adaptation of the service composition. Nevertheless, it is diffi cult to foresee all the possible situations arising in uncertain contexts where service compositions run. Therefore, we extend our
framework to cover the dynamic evolution of service compositions to deal with unexpected events in the open world. If model adaptations cannot solve uncertainty, the supporting models self-evolve according to abstract tactics that
preserve expected requirements.Alférez Salinas, GH. (2013). Achieving Autonomic Web Service Compositions with Models at Runtime [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/34672TESI
Quality Evaluation of Requirements Models: The Case of Goal Models and Scenarios
Context: Requirements Engineering approaches provide expressive model techniques
for requirements elicitation and analysis. Yet, these approaches struggle to manage the
quality of their models, causing difficulties in understanding requirements, and increase
development costs. The models’ quality should be a permanent concern. Objectives: We
propose a mixed-method process for the quantitative evaluation of the quality of requirements
models and their modelling activities. We applied the process to goal-oriented (i*
1.0 and iStar 2.0) and scenario-based (ARNE and ALCO use case templates) models, to
evaluate their usability in terms of appropriateness recognisability and learnability. We
defined (bio)metrics about the models and the way stakeholders interact with them, with
the GQM approach. Methods: The (bio)metrics were evaluated through a family of 16
quasi-experiments with a total of 660 participants. They performed creation, modification,
understanding, and review tasks on the models. We measured their accuracy, speed,
and ease, using metrics of task success, time, and effort, collected with eye-tracking,
electroencephalography and electro-dermal activity, and participants’ opinion, through
NASA-TLX. We characterised the participants with GenderMag, a method for evaluating
usability with a focus on gender-inclusiveness. Results: For i*, participants had better
performance and lower effort when using iStar 2.0, and produced models with lower accidental
complexity. For use cases, participants had better performance and lower effort
when using ALCO. Participants using a textual representation of requirements had higher
performance and lower effort. The results were better for ALCO, followed by ARNE, iStar
2.0, and i* 1.0. Participants with a comprehensive information processing and a conservative
attitude towards risk (characteristics that are frequently seen in females) took
longer to start the tasks but had a higher accuracy. The visual and mental effort was also
higher for these participants. Conclusions: A mixed-method process, with (bio)metric
measurements, can provide reliable quantitative information about the success and effort
of a stakeholder while working on different requirements models’ tasks
Quality of process modeling using BPMN: a model-driven approach
Dissertação para obtenção do Grau de Doutor em
Engenharia InformáticaContext: The BPMN 2.0 specification contains the rules regarding the correct usage of
the language’s constructs. Practitioners have also proposed best-practices for producing better BPMN models. However, those rules are expressed in natural language, yielding sometimes ambiguous interpretation, and therefore, flaws in produced BPMN models.
Objective: Ensuring the correctness of BPMN models is critical for the automation of
processes. Hence, errors in the BPMN models specification should be detected and
corrected at design time, since faults detected at latter stages of processes’ development can be more costly and hard to correct. So, we need to assess the quality of BPMN models in a rigorous and systematic way.
Method: We follow a model-driven approach for formalization and empirical validation
of BPMN well-formedness rules and BPMN measures for enhancing the quality of
BPMN models.
Results: The rule mining of BPMN specification, as well as recently published BPMN works, allowed the gathering of more than a hundred of BPMN well-formedness and
best-practices rules. Furthermore, we derived a set of BPMN measures aiming to provide information to process modelers regarding the correctness of BPMN models. Both BPMN rules, as well as BPMN measures were empirically validated through samples of
BPMN models.
Limitations: This work does not cover control-flow formal properties in BPMN models, since they were extensively discussed in other process modeling research works.
Conclusion: We intend to contribute for improving BPMN modeling tools, through the
formalization of well-formedness rules and BPMN measures to be incorporated in those
tools, in order to enhance the quality of process modeling outcomes
An Approach for Guiding Developers to Performance and Scalability Solutions
The quality of enterprise software applications plays a crucial role for the satisfaction of the users and the economic success of the enterprises. Software applications with unsatisfying performance and scalability are perceived by its users as low in quality, as less interesting and less attractive, and cause frustration when preventing the users from attaining their goals. This book proposes an approach for a recommendation system that enables developers who are novices in software perfor
Cloud-Based Software Engineering : Proceedings of the Seminar No. 58312107
The seminar on cloud-based software engineering in 2013 covered many interesting topics related to cloud computing and software engineering. These proceedings focus on decision support for moving to the cloud, on opportunities that cloud computing provides to software engineering, and on security aspects that are associated to cloud computing. Moving to the Cloud – Options, Criteria, and Decision Making: Cloud computing can enable or facilitate software engineering activities through the use of computational, storage and other resources over the network. Organizations and individuals interested in cloud computing must balance the potential benefits and risks which are associated with cloud computing. It might not always be worthwhile to transfer existing services and content to external or internal, public or private clouds for a number of reasons. Standardized information and metrics from the cloud service providers may help to make the decision which provider to choose. Care should be taken when making the decision as switching from one service provider to another can be burdensome due to the incompatibilities between the providers. Hardware in data centers is not infallible: the equipment that powers cloud computing services is as prone to failure as any computing equipment put to high stress which can have an effect on the availability of services. Software Engineering – New Opportunities with the Cloud: Public and private clouds can be platforms for the services produced by parties but the cloud computing resources and services can be helpful during software development as well. Tasks like testing or compiling - which might take a long time to complete on a single, local, workstation - can be shifted to run on network resources for improved efficiency. Collaborative tools that take advantage of some of the features of cloud computing can also potentially boost communication in software development projects spread across the globe. Security in the Cloud – Overview and Recommendations: In an environment where the resources can be shared with other parties and controlled by a third party, security is one matter that needs to be addressed. Without encryption, the data stored in third-party-owned network storage is vulnerable and thus secure mechanisms are needed to keep the data safe. The student seminar was held during the 2013 spring semester, from January 16th to May 24th, at the Department of Computer Science of the University of Helsinki. There were a total of 16 papers in the seminar of which 11 were selected for the proceedings based on the suitability to the three themes. In some cases, papers were excluded in order to be published elsewhere. A full list of all the seminar papers can be found from the appendix. We wish you to have an interesting and enjoyable reading experience with the proceedings
Software Engineering Laboratory Series: Collected Software Engineering Papers
The Software Engineering Laboratory (SEL) is an organization sponsored by NASA/GSFC and created to investigate the effectiveness of software engineering technologies when applied to the development of application software. The activities, findings, and recommendations of the SEL are recorded in the Software Engineering Laboratory Series, a continuing series of reports that includes this document