7th QUASAR/VALSE Workshop

CITI, Monte da Caparica

10th March, 2010

 

 

INTRODUCTION

This workshop, organized by the QUASAR Research Group, is being held since 2004 (QUASAR = QUantitative Approaches on Software Engineering And Reengineering).

 

WORKSHOP OBJECTIVES

- Presenting a representative sample of the ongoing work being carried out at QUASAR;

- Allowing QUASAR graduate students to get an independent feedback on their research;

- Fostering the cooperation with other research teams, within and outside CITI, namely with the SOLAR team;

- Strengthen team work within QUASAR and VALSE.

 

SCIENTIFIC PANEL

- Fernando Brito e Abreu, Program Chair

- Miguel Goulão, Program Co-Chair

- Miguel Monteiro, Program Co-Chair

- João Araújo, Invited Guest

- Vasco Amaral, Invited Guest

 

PRELIMINARY PROGRAM

 

Each communication will include 20m for oral presentation plus 20m for discussion.

 

 

TIME

COMMUNICATIONS

09.00/11.00

PROCESS MODELING AND METAMODELING

·         Jorge Freitas (MEI), "IT Services Metamodeling"

·         Raquel Porciúncula (MEI), "Governance and IT Process Modeling"

·         José Carlos Costa (MEI), "MGPSI – A Project Management Methodology Applied to the Development of Information Systems"

Coffee break

 

11.15/13.15

LANGUAGES ENGINEERING

·         Anacleto Correia (DEI), "Model Driven Service Level Management"

·         Pedro Gabriel (MEI), "Software Languages Engineering: Experimental Evaluation"

·         Roberto Félix (MEI), "DSLtranslator: A Model Transformation Tool"

Lunch break

 

14.15/16.15

SOFTWARE DESIGN

·         Sérgio Bryton (DEI), "Refactoring Process Improvement Opportunities, Alternatives and Benefits"

·         Arlindo Lima (MEI), "Evidence-Based Comparison of Modularity Support Between Java and Object Teams"

·         Francisco Roldão (MEI), "Identification of Crosscutting Concerns in MATLAB"

Coffee break

 

16.30/18.30

PATTERNS AND WEB ENGINEERING

·         Luís Ferreira da Silva (DEI), "A Pattern Based Approach to Scaffold the IT Infrastructure Design Process"

·         Pedro Monteiro (MEI), "A Pattern Language for Parallelizing Irregular Algorithms"

·         Américo Rio (MEI), "Web Presence Quality: Automatic Quantitative Evaluation"

 

 


---------------------------------------------------------------------------------------------------------------------------

DETAILED PROGRAM

---------------------------------------------------------------------------------------------------------------------------


"IT Services Metamodeling"


Jorge Freitas, Fernando Brito e Abreu


The survey of related work on ontological studies in the IT services domain, allowed us to identify some serious limitations on the current state-of-the-art across a set of six maturity dimensions. To mitigate that shortcoming, this presentation proposes a formal ontology for IT services. To grant preciseness to this ontology we have expressed well-formedness rules with the OCL constraint language. The proposed ontology is then instantiated to illustrate its validity in addressing realistic examples.

 
"Governance and IT Process Modeling"


Raquel Porciúncula, Fernando Brito e Abreu


IT governance is more focused on the use of best practices represented by frameworks such as CobiT (Control Objectives for Information and related Technology) and ITIL (Information Technology Infrastructure Library). In this study, we go further and present a vision of how IT governance can be useful to align business with IT through a new technique to identify the aptitude levels of IT service management, in order to evaluate and manage, not only the complex problems of information systems and the organizations technology, but also management, operational and cultural issues. This thesis proposes a method to evaluate the IT governance maturity degree within an organization. We applied it to determine the IT governance profile of portuguese companies.

Since we are concerned on the relationship between governance maturity and the way IT organizations model their IT processes, we propose a set of metrics on the complexity of IT processes. The latter were formalized by using the OCL (Object Constraint Language) language, upon a BPMN (Business Process Modeling Notation) metamodel. We will present the analysis of achieved results and the conclusions derived from them.


"MGPSI – A Project Management Methodology Applied to the Development of Information Systems"


José Carlos Costa, Fernando Brito e Abreu


In the domain of the conception and development of information systems, it is common to find projects that are in the following situations: they do not fulfill the deadline; they exceed the fixed budgets; they have a low level of quality. The last situation will be reflected, later, in the maintenance of projects. Conducted studies concluded that there are several reasons that lead to these facts. One of the major ones is the absence of project management methodology.

The main objective of this dissertation is the development, implementation and evaluation, in a public organism, of a project management methodology applied to the conception and development of information systems that mitigates the previous problems. A process model describing this methodology was created and simulated using Business Process Management technology.


Model-Driven Service Level Management

 

Anacleto Cortez e Correia, Fernando Brito e Abreu

 

IT Service Management (ITSM) is the set of processes that allow planning, organizing, directing and controlling the provisioning of IT services. Among the concerns of ITSM, namely within the service level management process, are the requirements for services availability, performance, accuracy, capacity and security, which are specified in terms of service-level agreements (SLAs).

SLAs definition and monitoring are open issues within the ITSM domain, namely because SLAs are informally specified in natural language and their definition is not grounded on models of ITSM processes. To mitigate these problems we propose a model-based approach to IT services SLA specification and compliance verification. The specification part will be accomplished by proposing a DSL (domain specific language) for specifying NFRs in the context of ITSM processes. Its metamodel will be an extension of the metamodel of the adopted process modeling language. As such, it will be possible to ground SLA definition on the corresponding IT service model constructs and monitor process execution and SLA compliance at the level of abstraction that is understood by all the stakeholders involved in the service specification.


 "Software Languages Engineering: Experimental Evaluation"


Pedro Gabriel, Miguel Goulão, Vasco Amaral


Domain Specific Languages (DSLs) are programming languages or executable specification languages that offer, through appropriate notation and abstraction, expressive power focused on, and usually restricted to, a particular problem domain. They are expected to contribute with an enhancement of productivity, reliability, maintainability and portability, when compared with General Purpose Programming Languages (GPL). However, without passing by all development stages, namely Domain Analysis, Design, Implementation and Evaluation, some of the DSLs’ alleged advantages may be impossible to be achieved with a significant level of satisfaction. This may lead to the production of inadequate or inefficient languages. This dissertation is focused on the Evaluation phase.

To characterize DSL community commitment concerning Evaluation, we conducted a systematic review has been conducted. The review covered publications in the main fora dedicated to DSLs from 2001 to 2008, and allowed to analyse and classify papers with respect to the validation efforts conducted by DSLs’ producers, where have been observed a reduced concern to this matter. Another important outcome that has been identified is the absence of a concrete approach to the evaluation of DSLs, which would allow a sound assessment of the actual improvements brought by the usage of DSLs. Therefore, the main goal of this dissertation concerns the production of a Systematic Evaluation Methodology for DSLs. To achieve this objective, has been carried out the major techniques used in Experimental Software Engineering and Usability Engineering context. 

 

DSLtranslator: A Model Transformation Tool

 

Roberto Félix, Vasco Amaral

 

Currently, the offer of metamodeling frameworks allows an easy and rapid design of a software language, in particular through the Model Driven Development approach, but focused on the definition of concrete and abstract syntax, there is a need for assigning meaning to that language through the semantics.

This need arises an intention to provide a platform for rapid prototyping of new languages, allowing the rapid assignment of its semantics by transformation, in order to define a language in terms of another well defined and possibly under the specialist knowledge.

The current tools of model transformation, do not offer a balance between usability, validation and expressiveness.

In this work, we implement a tool based on graph grammars for definition and implementation of transformation rules. This involves designing a language for rules specification, construction of a visual editor and implementation of its engine.

Taking into account that this language and editor, wants to be a considerable assistance to the development of new languages, providing the assignment of semantics through model transformation, the usability will, necessarily, focus on simplicity and a smooth learning curve. Users may then develop languages without having to specialize in a transformation tool and thereby speeding up the process for defining language semantics.


 

Refactoring Process Improvement Opportunities, Alternatives and Benefits

                                                                                                              

Sérgio Bryton, Fernando Brito e Abreu

 

Refactoring, in spite of widely acknowledged as a best practice, still lacks evidence regarding its claimed benefits on software quality. Besides, it has several limitations: tasks such as the identification of refactoring opportunities and the decision on how to refactor are still performed manually, making this a cumbersome and error-prone activity, ultimately, hampering its adoption as a regular practice.

Our research will address these issues by providing, on one hand, quantitative evidence on the effects of refactoring on software quality and, on the other hand, proposing a model and techniques to support refactoring activities, namely when embedded in IDEs, thus facilitating its widespread adoption.


"Evidence-Based Comparison of Modularity Support Between Java and Object Teams"


Arlindo Lima, Miguel Goulão, Miguel Pessoa Monteiro


Background: Aspect-oriented programming (AOP) is an emerging programming paradigm whose focus is about improving modularity, with an emphasis on the modularization of crosscutting concerns.

Objective: The goal of this paper is to assess the extent to which an AOP language – ObjectTeams/Java (OT/J) – improves the modularity of a software system. This improvement has been claimed but, to the best of our knowledge, this paper is the first attempting to present quantitative evidence of it.

Method: We compare functionally-equivalent implementations of the Gang-of-Four design patterns, developed in Java and OT/J, using software metrics.

Results: The results of our comparison support the modularity improvement claims made in the literature. For six of the seven metrics used, the OT/J versions of the patterns obtained significantly better results.

Limitations: This work uses a set of metrics originally defined for object-oriented (OO) systems. It may be the case that the metrics are biased, in that they were created in the context of OO programming (OOP), before the advent of AOP. We consider this comparison a stepping stone as, ultimately, we plan to assess the modularity improvements with paradigm independent metrics, which will conceivably eliminate the bias. Each individual example from the sample used in this paper is small. In future, we plan to replicate this experiment using larger systems, where the benefits of AOP may be more noticeable.

Conclusion: This work contributes with evidence to fill gaps in the body of quantitative results supporting alleged benefits to software modularity brought by AOP languages, namely OT/J.


 “Identification of Crosscutting Concerns in MATLAB


Francisco Roldão, Miguel Pessoa Monteiro

 

MATLAB is a high-level, interpreted, domain-specific language, mainly based on matrix data types and operations on them. Suitable MATLAB properties include no need to declare variables, operator overloading, function polymorphism and dynamic type specialization. However, tasks such as exploiting non-uniform fixed-point representations, monitoring certain variables during a timing window, or including handlers to watch specific behaviors are extremely cumbersome, error-prone and tedious. Each time these features are necessary, invasive changes on the original code, as well as insertion of new code need to be performed. This problem may lead to code tangling and scattering, which are symptoms of cross-cutting concerns. These kinds of concerns should be identified so that the code can be refactored. In this project MATLAB symptoms will be identified and catalogued. Furthermore, a language processing tool will be used to automatically identify cross-cutting concerns.


A Pattern-Based Approach to Scaffold the IT Infrastructure Design Process

 

Luís Ferreira da Silva, Fernando Brito e Abreu

 

The design of Information Technology (IT) infrastructures is a complex problem because it requires a deep understanding on a variety of topics, including software, middleware, network and hardware components. The use of IT infrastructure patterns can improve this design process by allowing to reuse proven solutions to recurrent problems and by facilitating communication among IT design stakeholders.

Existent “blueprints” defined by technology vendors to facilitate the configuration of particular solutions, are tied to proprietary services and products, thus reducing their applicability in heterogeneous technological environments such as those currently found in most companies. Additionally, these “blueprints” have a short life cycle since they are usually associated with a particular version of a product or technology.

To mitigate this problem we propose the formalization of a vendor-independent pattern language for designing IT Infrastructures. To validate the recurrence of proposed IT infrastructure patterns, we are also researching on the application of pattern mining techniques upon a repository of IT infrastructure designs. We plan to develop a computational environment that facilitates the selection and instantiation of ITI patterns.


"A Pattern Language for Parallelizing Irregular Algorithms"

 

Pedro Monteiro, Miguel Pessoa Monteiro

 

In irregular algorithms, data set’s dependences and distributions cannot be statically predicted. This class of algorithms tends to organize computations in terms of data locality instead of parallelizing control in multiple threads. Thus, opportunities for exploiting parallelism vary dynamically, according to how the algorithm changes data dependences. As such, effective parallelization of such algorithms requires new approaches that account for that dynamic nature.

This dissertation addresses the problem of building efficient parallel implementations of irregular algorithms by proposing to extract, analyze and document patterns of concurrency and parallelism present in the Galois parallelization framework for irregular algorithms. Patterns capture formal representations of a tangible solution to a problem that arises in a well defined context within a specific domain.

We document the said patterns in a pattern language, i.e., a set of inter-dependent patterns that compose well-documented template solutions that can be reused whenever a certain problem arises in a well-known context.

 

Web Presence Quality: Automatic Quantitative Evaluation

 

Américo Rio, Fernando Brito e Abreu

 

Background: Web Engineering is an emerging discipline that grew out of Software Engineering, due primarily to the multidisciplinary nature of the web, and some other issues like application characteristics, different development process (for example, shorter lead times), different customers, evolution and lifecycle management, availability (it’s always online), underlying structure (architecture and network), legal, technical and ethical issues, etc. Web Engineering encompasses the design, development, evolution, and quality evaluation of web applications. There are several known research works on web quality, but not geared to automatic collection and classification.

Objective: This ongoing work is targeted to answer the following two research questions: i) Is it possible to make an automatic collection of indicators to classify a site quality? Ii) Does that quality depend on the application domain? The answer to these questions is important to help hiring companies in choosing among Web Engineering suppliers, based on their portfolios. Besides, it will support the production of rankings of web presences and the identification of best practices, as well as pinpointing poor implementations.

Method: The first step is the definition of an automatic classification model for sites quality, where each quality attribute is described in terms of automatically collectable quality characteristics. Then, we derive a set of research hypotheses and define our experimental design. Next, we must collect data (indicators of our site quality characteristics, according to our quality model) from sites of several identified application domains. Finally we perform correlational studies, test our hypotheses and interpret the results in the light of Web Engineering theory. We also expect to perform some validation with the help of a specialists’ panel.

Results: We have already a preliminary model for sites quality. We have identified our research questions and defined an experimental design. Using a modified web crawler, we have already collected a test sample that spreads 3 application domains: airlines, newspapers, and banks, each with around 30 sites.

Limitations: We have not yet identified automatic collectable indicators for all of our site quality characteristics. Validation of the quality model appropriateness is dependent on the availability of Web Engineering specialists. External validity is not guaranteed since we will only analyze three application domains.

Conclusion: This work is expected to show that automatic classification of web site quality is possible. We expect to prove that the application domain influences the relative proportion of the web site quality model characteristics. Since this research work is only halfway, we do not have yet sound conclusions beyond the fact that the vast majority of quality characteristics proposed in the related literature cannot be obtained by automatic collection.

Last modified: sábado, 4 agosto 2012, 6:17