Friday, November 30, 2007

1st Day RiSE Summer School - RISS 2007

Today was the first day of the RiSE Summer School (RISS). The auditorium was completely crowded and the people very interested in the topic. We had attendants from different parts in Brazil from companies and universities. There, students, professors, researchers and practitioners had the first two courses. The first one was with Ivica Crnkovic. Ivica performed a very important talk on CBD with his experience in the field. He discussed definitions, principles, processes, etc. After that, Bill Frakes started the presentation about domain engineering. Bill achieved a very nice talk clarifying some concepts in the area, directions for research, and incredible reuse koans.

All the material will be published on the internet (here), in conjunction with the video of the presentations.

Celebration - Latin American Fellowship Program:: Microsoft Research

Tonight, we received one more very nice confirmation. I am very pleased to announce that the selection process for the Latin American Fellowship Program at Microsoft Research in Redmond has been completed and Daniel Lucredio RiSE member - has been selected as a new Fellow at Microsoft Research, the most prestigious student award.

His mentor there will be Dr. Ethan Jackson from the Foundations of Software Engineering group. Nowadays, Daniel is doing his Ph.D. sandwich at George Mason University. In this time, the entire RiSE staff in Brazil congrats him for it.
Congratulations and let’s have more champagne.

The First Historical RiSE Day

Can you imagine an internal workshop with Bill Frakes, Dirk Muthig, Ivica Crnkovic, Wayne Lim, and Ruben Prieto-Diaz with several discussions about search and retrieval, software product lines, reuse tools, repository bugs, and software reuse at all?

If your answer was yes, that is it. It was the RiSE Day which happened on November, 29, 2007. It was incredible with different point of views and exciting talks with the B.Sc., M.Sc., and Ph.D. students in RiSE.

Thanks for all the students and the keynotes for valuable feedback and patience. See all the pictures and presentations here.

Wednesday, November 28, 2007

The Historical "Software Reuse Adoption" Meeting



On November, 27th 2007, I had a historical meeting with Ruben Prieto-Díaz from James Madison University and Dirk Muthig from Fraunhofer Institute. We discussed important points about reuse adoption, specially, about maturity models, and what are the main obstacles to be surpassed and what are the best ways towards an effective reuse adoption program. In the following, the meeting summary:

I presented to Dr. Prieto-Díaz the current version of the RiSE Maturity Model, its principles, fundamentals and the scientific background, citing the main important works in the area. Prieto-Díaz worked in the SPC, so he knows the RMM and helped me to see some new obstacles that I had not considered yet.
An interesting issue is related to the people and the personal knowledge. Here, in Brazil, we have the culture to change the staff (software engineers) commonly. In this context, we need to specify a set of policies, procedures or rules (?) to aid in the knowledge transfer and storage, to make it available for the new people that come to the organization in the future. Reuse is important not only based on the software life cycle assets, but the knowledge reuse is also important for the organization. Some methods, techniques and environments/tools must be defined and introduced to support these policies/procedures and to make this content available for the next projects.
Related to my thesis, Prieto-Díaz highlighted the importance of making explicit the reuse concept, in the context of the thesis. As well as the boundaries and the scientific contribution.

After that, I met Dr. Dirk Muthig and he gives me another vision of the work. Muthig works at the Fraunhofer Institute, "similar" to CESAR, and has a vision focused on the practice (industry).
The meeting with Muthig was amazing. He explained me how they design a Ph.D. thesis at
Fraunhofer Institute, and adviced me to follow the same way. I will try to explain, summarized, what we define.
A Ph.D. thesis is composed of four elements: a Problem, an Idea, the Benefits; and, an Action Plan. In my thesis context, they are:
  • P: Brazilian organizations see benefits of reuse but don't know how to introduce it. The main problem can be seen by this simple expression:
    • reuse -> a lot of investments + risks => don't do it!
    • a lot of investments because sometimes you need to reorganize everything, rewrite everything and rebuild and restructure everything!
  • I: Provide an incremental path towards reuse adoption/introduction in practice.
  • B: The main benefits are:
    • lower risks;
    • quicker benefits;
    • smaller jumps of investments.
  • A: The action plan can be something like this:
    • Survey of Single Systems practice [related to reuse]
      • in this scenario, we will have some companies with no reuse
    • Define a first step that applies to all of them [measure reuse, explicit of reusable assets...]
    • Develop a plan to aid in this question: how to maximize reuse from here? (it can be a link to Product Lines Approaches).
The main issue is that reuse is a Quality Improvement Paradigm (QIP) and we need to consider it in the reuse adoption program and, specially, in my thesis.
Prieto and Dirk agree that is fundamental to explicit the reuse concept. The boundaries should also be described. The next steps are: to specify the assessment and the reuse introduction process, based on the RiSE Maturity Model.

Tuesday, November 27, 2007

The Historical "Search And Retrieval" Meeting


On November, 27th 2007 the RiSE members had an historical meeting with Ruben Prieto-Díaz from James Madison University. They discussed important points about search mechanisms and which are the obstacles to be surpassed. In the following, we summarize the meeting:

Fred Durão started the meeting making an introduction of the first actions of the RiSE group in terms of search engine. He introduced the MARACATU, the first breath of search engine development. After that, he presented his MsC proposal showing how the use of ontology can be useful for improving the search precision.

Eduardo Cruz presented the B.A.R.T Search Engine, the commercial version of MARCATU, and also explained his MsC proposal that envisage a proactive search mechanism that exploits user context information to enhance the search.

Alexandre Martins talked about this ongoing work that is based on data mining technique to avoid unnecessary queries. In his work Martins analyzes the logs generated from the searches and extract patterns of relationships between query and retrieval. Thus it is possible the creation of association rules utilized for suggesting related assets in the regular search returns. Martins also empathized that the key point for the creation of relevant rules is to choose a good "window time" for evaluation of the search engine logs.

Yguaratã Cavalcanti also presented his MsC's proposal whose goal is to develop a tool for avoiding duplication of CR (change request). In general, the CRs are generated by bugs in the systems and reported in CR repository. Yguaratã pointed out that sometimes users rarely look for duplicated CR before reporting a new one and tools for avoiding such inconvenience are strongly advisable for software organizations that have hundreds of collaborators.

Cássio Melo showed his object of study which aims to develop a tool for automatic component extraction. Eduardo Cruz complemented the Cassio's speech by presenting the CORE system, a component repository system which motivates the Cassio's research. According to Cassio, software companies which intend to install a component repository have difficulty to store all of its assets in the repository.

Rodrigo Mendes had the most expected meeting with his (virtual) advisor; the hotspot of the discussion concentrated on how automatically produce relevant facets. Ironically, both researchers shared the same doubt and concluded that more research is needed. However they agreed at a point: a semi generation facet tool is the most viable way to apply a facet-based mechanism in a search tool.

Thursday, November 22, 2007

Software Engineering for Automotive Systems - Safety Vehicles

In a previous post, we discussed about software engineering and reuse for automotive systems. Even with the known advances and benefits in the field, motor vehicles present a considerable risk. According to the World Heath Organization, traffic collisions account for an estimated 1.2 million fatalities and up to 50 million injuries worldwide each year (www.who.int/world-heath-day/2004/informaterials/world_report/en).
Moreover, most accidents are caused by driver errors. A study shows that driver inattention contributes to nearly 80 percent of crashes and 65 percent of near crashes (www-nrd.nhtsa.dot.gov/departments/nrd-13/810594/images/810594.pdf).
In this scenario, the Laboratory for Intelligent and Safe Automobiles, at the University of California, San Diego, is working with researchers from different disciplines to design, develop, and evaluate intelligent driver-support systems (IDSSs) [see full paper here]. These multidisciplinary efforts have led to the creation of novel instrumented vehicles that capture rich contextual information about the environment, vehicle, and driver (EVD) as well as realistic data for developing better algorithms to analyze multisensory input. The developed technology emerging of this work is the dynamic display, a system that projects safety-critical warnings based on EVD data was well as in response to a unique driver-intent analysis and situational awareness system onto a windshield-size heads-up display.
The challengers for this area are various and I believe that we need more tools, processes, and reuse techniques to improve it. Moreover, our inspiration in reuse, e.g., working in software product lines, is based on this industry (Henry Ford’s ideas). In a future post, we will discuss how reuse is working in this new field of research.

Tuesday, November 20, 2007

Towards a Query Reformulation Approach for Component Retrieval

This post presents topics related in the seminar that we had today for I.N.1.0.3.8 - Advanced Seminars in Software Reuse course at Cin/UFPE. The title is "Towards a Query Reformulation Approach for Component Retrieval". The presentation (see) evaluates several papers about Query Reformulation, exploring theirs approaches and strategies.

Software construction is done more quickly when a reuse process is adopted. But this is not enough if there is no market to absorb these software components. The component market still faces a wide range of difficulties such as lack of a efficient search engine.

One of the biggest problems in component retrieval and search is to increase the significance of the result since the user normally doesn´t formulate the query of the appropriate way. The searcher has a vision of the problem that is not necessarily the components repository reality. Several approaches try to solve this problem. The seminar focuses on the query reformulation technique which reduces the conceptual gap between problem and solution through query refinement based on formulated queries stored previously.

The Code Finder was one of the first attempts to implement component search and retrieval by query reformulation. The papper "Interactive Internet search: keyword, directory and query reformulation mechanisms compared" evaluates that query refomulation improves the relevance of documents, but increase search time. The work "Using Ontologies Using Ontologies for Database Query Reformulation" do query reformulation using ontology rules for query optimization and for data integration. Another very interesting study is "Lexical analysis Lexical analysis for modeling web query reformulation" that analyzes lexicaly the searcher behavior through that Query Clarity and Part-of-Speech.

My initial proposal is to develop a query reformulation engine for BART, using techniques that will be evaluated such ontology, keywords order and other. Approaches comparison matrix will be prepared to compare the several existing techniques e helps in the correct choose.

by Dimitri Malheiros

Tuesday, November 13, 2007

RiSE’s Podcasts: Episode 1 – Software Product Lines with Dr. David Weiss

Today, the RiSE starts a new source of information in the software reuse area: PodCasts with interviews involving the main practitioners/researchers working with software reuse. It was inspired in the software engineering radio and a talk with Dr. Uira kulesza new professor at C.E.S.A.R EDU.
To begin, our first guest is Dr. David Weiss, research director at Avaya Labs, and our partner. Dr. David Weiss is a researcher and practitioner in the area working with Software Product Lines. In this area, Dr. Weiss is the chair of the Hall of Fame, one of the most important sessions with practical efforts in reuse. In the research world, Dr. Weiss has a strong experience being creator of important advances in the process and measurement fields.
In this interview, Liana Barachisio, software reuse researcher at RiSE, presents ten important questions involving reuse. Listen the interview here.

Thursday, November 8, 2007

Celebration - CRUISE book - Part II

The celebration for the CRUISE book was very nice. There, we had a video with our chief scientist and RiSE's coordinator, professor Silvio Meira. Next, Eduardo Almeida presented an overview about the RiSE. Finally, after the talks and questions by the attendants composed of professors, CEOs, academic directors, students, friends, and relatives, we had an excellent cocktail with drinks, foods, and good conversations.


In the picture, we have some authors: Vinicius Garcia, Alexandre Alvaro, Eduardo Almeida, Leandro Marques, and Vanilson Burégio. The other ones, Silvio Meira, Jorge Mascena, and Daniel Lucrédio were in meetings in other states with government authorities (Silvio Meira) and living in U.S. (Jorge Mascena and Daniel Lucrédio).


At the end, all the authors and the RiSE's staff (in the picture), would like to thank all the people, especially, Veronica Lemos our marketing partnership at, C.E.S.A.R, and the Livraria Cultura.


Cheers!!

Tuesday, November 6, 2007

Celebration - CRUISE book


Tonight, we celebrate: The CRUISE book will be released - printed copy - at Livraria Cultura in Recife, Perbambuco, Brazil, after more than 2000 downloads on the web. Everyone is invited to enjoy the night with the authors who will sign the copies.

Monday, November 5, 2007

Software Product Line Design

In this post I will bring topics about my master thesis presented (see) in Seminars in Software Reuse course at Cin/UFPE. The title is "An approach to software product line Design" where I brought an evaluation of existing Software Product Line (SPL) Design approaches for discussion.

Nowadays software reuse is very important for every software company mainly because it reduces software construction effort and consequently the time to market. SPL is an approach that has being adopted for organizations to address the software reuse issue. The Main objective of SPL is to organize the common assets from a software application domain and instantiate a new application based on these assets including just specific ones from the application. An important point to address in SPL is the variability and commonality from domain. This make possible the mass customization what bring to SPL configuration mechanisms to address specific client needs from the software application.

The focus of my work is on the Domain Design subprocess from the Software Product Line Process in Mobile Game domain. The motivation for the work is the lack of works in academy addressing this issue and the need of the industry to have a process where they can reuse the maximum number of possible assets and address the difficult task of porting the same game on different platforms and models. It was evaluated the FAST process developed by David Weiss at Lucent Technologies Lab. The FAST process focus on variability in a family of products to the telecommunication infrastructure and real-time systems domain, using a commonality analysis as the entrance for design and an architectural modeling language (AML) for specifying family members. After the FAST process guides to design the family and mapping between the AML and the family design. Another presented method was the QUASAR developed by Jan Bosch at Technical Research Center of Finland. QUASAR method focus on the quality of architecture and have two phases: Design and analysis. CoPAM approach is used for sharing knowledge between domains in a company with commonality layers. This brings an increase in reuse, since there is a mix of domains in the sense of commonality. Hassan Gomaa developed the PLUS method that is compatible with the Rational Unified Process (RUP) focusing on the domain architecture with the design of components. The RiSE process for Domain Engineering (RiDE) was developed by Eduado Almeida with the purpose of addressing a general domain. The RiDE process design method has steps where the architect should decompose the modules, define the architectural and design patterns of the domain and structure use cases in components.

It was presented a draft approach based on the CoPAM approach for reuse the major part of the available assets in the game architecture domain architecture reference.

Ednaldo Dilorenzo

Software Product Line Scoping

The goal of this post is present the main topics of a survey performed in software product lines scoping. This survey is part of my master thesis, in which I will define an approach to requirements engineering for software products line. The basic steps of the approach are scoping, elicitation, modeling, validation and requirements management.

Scope gives support for all further product line activities, so it is very important. But some challenges are identified in scoping, such as scope size, wrong products, absence of essential stakeholders, economic problem, social problem , specific context and different needs of organizations.

In the survey, were analyzed 9 approaches. For each approach were identified: activities of scoping, strengths and weaknesses. Then, the more relevant activities found on the survey were grouped on a matrix and the approaches were compared.

The conclusions of the analysis are: the more complete approach is
Pulse Scoping Process; the Pulse-ECO is the more referenced approach in the literature identified in this work; few approaches have activities to treat social problem of scoping; one approach has one activity to identify available assets; only one approach defines relation between domains; and only one approach has guidelines to different contexts.

Before this scenario, my initial proposal to software product line scoping is to adapt Pulse Scoping Process to the software reuse tools domain, adding activities to: help the marketing team on product portfolio scoping (e.g. identify customer segments, prioritize each segment; identify essential stakeholders); identify sub-domains and their relations; consider view point of the whole optimal and of the individual optimal; identify available assets.

The presentation (see) of the survey was done for the I.N.1.0.3.8 - Advanced Seminars in Software Reuse course at Cin/UFPE. Participants of the seminar discussed about the approaches comparison criteria and risk in reuse the available assets. The reuse of available assets can reduce efforts, but is necessary evaluate their impact in product line. The approaches comparison matrix can be improved (e.g. define the level of completeness of each activity in the approaches).

Thursday, November 1, 2007

Enhancing Components Search in a Reuse Environment Using Discovered Knowledge Techniques


In this post I will present the main topics related to my master thesis. This work is part of the B.A.R.T (Basic Asset Retrieval Tool) Project whose main goal is to develop a robust tool to search and retrieval software components. In this project we had experimented new trends related to search and retrieval such as active search, folksonomy and context. These efforts have presented initial findings which stimulate the research in this direction.
The main objective of my work is to optimize the component search and retrieval through its historic use. Often, this use is monitored by a log mechanism such as file or database. Thus, it is possible to use this information to extract knowledge in order to improve the search engines. The optimization is done using recommendations of downloads to the users. These recommendations come from the knowledge that was extracted from the mentioned logs and are represented as rules (A -> B). Thus, this work proposes a way to improve the search engines avoiding unnecessary searches.
The presentation was done for the I.N.1.0.3.8 - Advanced Seminars in Software Reuse course at Cin/UFPE and several questions were pointed, like:

Why use association rules?
There are several techniques to extract knowledge, but in this work the objective is suggest or preview downloads. For this, is not important the sequence or the results classification, but the main knowledge is the relation mapped by rules (A -> B)

How to conduct the experimentation?
It is the main problem, because the data need to be in a good quantity. For it, the current version of BART already storing this data and it allows the experimentation.

The next step is improve the prototype and begin the experimentation using real data to validate de knowledge extracted.