Computers fail again. The TSX halted its trading for an entire day due to problems with its data feeds. What sort of problem with data feeds could be so horrible to require an entire day to fix? Source.
Archive for the 'School' Category
I presented the paper “Sample Spaces and Feature Models: There and Back Again” by K. Czarnecki, S. She, and A. Wąsowski at this year’s Software Product Line Conference.
Update: The slides for my presentation have been uploaded. Download them here: [Download not found].
Abstract
Software systems have grown larger and more complex in recent years. Generative software development strives to automate software development from a systems family by generating implementations using domain-specific languages. In current practice, specifying domain-specific languages is a manual task requiring expert analysis of multiple information sources. Furthermore, the concepts and relations represented in a language are grown through its usage. Keeping the language consistent with its usage is a time-consuming process requiring manual comparison between the language instances and its language specification. Feature model mining addresses these issues by synthesizing a representative model bottom-up from a sample set of instances called configurations.
This thesis presents a mining algorithm that reverse-engineers a probabilistic feature model from a set of individual configurations. A configuration consists of a list of features that are defined as system properties that a stakeholder is interested in. Probabilistic expressions are retrieved from the sample configurations through the use of conjunctive and disjunctive association rule mining. These expressions are used to construct a probabilistic feature model.
I will be holding a seminar describing my Master’s thesis work. It is open to all, so please attend if you’re interested. Feature Model Mining. Wednesday, August 6 at 1:30pm in EIT 3145.
Update: Here are the slides that I’ve used for my presentation.
Continue reading ‘MMath Thesis Presentation: Feature Model Mining’
I was looking for traffic conditions prior to my drive to Toronto and found that the Ministry of Transportation uses Google Maps to display the location and images from the highway traffic cameras around Toronto. Very neat!
We may have a celebrity moving into Waterloo… Stephen Hawking!
I’ve been doing some development on the feature modeling plug-in during the past week and have implemented several new features and bug fixes (shown below).
I’m releasing the plug-in as a development release, for now. I have started rewriting the configuration backend, but my thesis deadline is fast approaching and I will not have enough time to complete the changes in fmp. In any case, please let me know of any bugs you find, or if you have a feature request. The source code is also included in the plug-in, so feel free to hack away at it yourself if you are inclined. When the plug-in is sufficiently tested, I will merge this branch into the trunk of the CVS repository on SourceForge. Give it a try!
New Features
- New, more robust and featureful constraint view.
- Constraints are shown for the feature hierarchy in addition to additional constraints.
- When a configuration is selected in the feature model editor, the constraints are evaluated and the status of each constraint is shown (ie. satisfied or not satisfied).
- Support for arbitrary propositional formulas when writing additional constraints. NOTE: constraints are written using node Id instead of an XPath expression. However, feature models created using fmp 0.6.6 are compatible, but will require re-writing the constraints using the new grammar. See below for examples.
- Ability to view Node Ids next to feature names in the feature model.
- Constraint input validation.
- Constraint resolution. An unsatisfied constraint can be resolved in a configuration by right-clicking and selecting ‘Resolve Constraint’.
Installation
- Download ca.uwaterloo.gp.fmp_0.7.0.jar
- Compiled for Java 5 (Java 6 compatible), Eclipse 3.2
Project Homepage: http://gsd.uwaterloo.ca/projects/fmp-plugin/fmp-070/
Documentation maintainence is a difficult and costly process. Existing forms of software documentation exist independent from the code it describes. As a result, problems arise when source code evolves since there is no traceability between the documentation and code domains.
CodeLink, a semantic wiki designed for code documentation attempts to address this problem. CodeLink provides a platform for establishing traceability links between developer documentation and code concepts. Traceability links between documentation and code can be explicitly created by the user through annotations, or inferred through the use of natural language analysis. CodeLink employs an ontology as its knowledge model and a semantic wiki as its user interface. Annotations on traceability relations in the ontology serve to connect natural language phrases with formal ontology concepts. In this paper, the motivation, design and implementation of CodeLink are described. Particular focus is placed on the natural language processing (NLP) component of CodeLink. The process in which the NLP component infers traceability links from the natural language text in the semantic wiki is described in depth. Several methods of querying and retrieving information from the knowledge model are discussed, followed by a summary of related and future work.
Download [Download not found], course project for CS886: Natural Language Computing.
Presentation slides on the paper “Corpus-based learning of Analogies and Semantic Relations” by Turney and Littman for CS886: Natural Language Computing.
Download [Download not found].
I’m part of the Generative Software Development Lab and also the designer of the lab website (also powered by Wordpress!)
It’s still a work in progress. We still need a new header image that actually reflects the work in our lab (instead of a badly cropped photo of the Midnight Sun). The publications list is still MIA. If you have any suggestions, feel free to leave a comment!
Presentation for CS886: Natural Language Processing, on the paper “The state of the art in ontology learning: a framework for comparison” by M. Shamsfard and A. A. Barforoush.
Download [Download not found].
Aspect-oriented programming is built on the concept of separating concerns. While separation of concerns reduces textual scattering and tangling by encapsulating concerns within a localised module, the behaviour of an aspect-oriented program becomes scattered. Capturing the sequential behaviour of an aspect-oriented program is essential for the validation of the program’s run-time semantics.
SequenceRetriever, a tool for retrieving UML sequence diagrams during the execution of a program is presented. The SequenceRetriever tool is built on top of an extensible framework which facilitates the development of additional trace components and diagram types. An AspectJ trace component and an Eclipse TPTP trace component is implemented. Using the two trace components, sequence diagrams of several programs is presented. A comparison between the AspectJ and TPTP sequence diagrams reveal the ajc weaver implementation of several aspect-oriented constructs.
Download [Download not found], course project for CS842: Aspect-Oriented Programming.
Presentation on “Pegasus – First Steps Towards a Naturalistic Programming Language” by Roman Knoll and Mira Mezini for CS842: Aspect-Oriented Programming.
Download [Download not found].
Presentation on “Towards the Systematic Testing of AOP Programs” by Roger T. Alexander, James M. Bieman, Anneliese A. Andrews for CS842: Aspect-Oriented Programming.
Note: The PDF output is a little strange, since the “Export to PDF” function in OpenOffice 2.2 isn’t working properly.
Download [Download not found].









