CIDE Overview
CIDE (Colored Integrated Development Environment) is a development tool for Software Product Line, mainly focused on analyzing and decomposing legacy code, proposed by the Carnegie Mellon University.
Using CIDE, developers do not physically extract the feature code. Instead, developers annotate code fragments in background colors inside the original code and use tool support for views and navigation. Code fragments belonging to a feature are shown with a specific color.
Using CIDE
Before you can annotate a file, you need to define features in a feature model. CIDE currently supports three different kinds of feature models. The simplest feature model is a list of features, which are all optional and unrelated. It is not possible to specify dependencies between features , except a parent relationship, which is roughly equivalent to an implies relationship. You can edit features from the project's context menu "Edit Features (List)..."
You may also use a real feature model with the GUIDSL Plugin. This provides a graphical feature model editor from FeatureIDE, which additionally supports arbitrary relationships between features (propositional formulas). Finally, there is a connector to pure::variants, so that you can use pure::variants feature models. Currently only a single feature model type can be used at a time for all projects. You can configure which to use in Eclipse's preferences dialog.
The prototype including its source code is available for download on the CIDE website http://wwwiti.cs.uni-magdeburg.de/iti_db/research/cide/.
Moreover, the CIDE website presents several information concerning :
- Dealing with Feature Model
- Assigning annotations to code
- Creating a variant/product for a certain feature
- Handling views on a feature and views on a variant.
- Exporting and importing annotated code
- Supported Languages
- CIDE examples and case studies
- CIDE Tutorial videos
Source: http://wwwiti.cs.uni-magdeburg.de/iti_db/research/cide/#publications
CIDE+
CIDE+ is a semi-automatic approach to annotate variabilities using CIDE.
Initially, developers must provide a set of feature seeds and a color. This approach propagates this color by the program locations that reference the provided seeds in a direct or indirect way. Whenever possible and safe, it also expands the color by the lexical context of the elements already annotated. When expansions are required but their safety cannot be easily inferred, our approach suggests default expansions to be approved by developers.
See CIDE+ website for a detailed description about how to use CIDE+, how to download and install it , and the main publication related to this tool : http://homepages.dcc.ufmg.br/~mtov/cideplus/
Source: http://homepages.dcc.ufmg.br/~mtov/cideplus/ |