All the material will be published on the internet (here), in conjunction with the video of the presentations.
Friday, November 30, 2007
1st Day RiSE Summer School - RISS 2007
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
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
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).
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
Tuesday, November 20, 2007
Towards a Query Reformulation Approach for Component Retrieval
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
Thursday, November 8, 2007
Celebration - CRUISE book - Part II
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
Software Product Line Scoping
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
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.