Changes between Version 62 and Version 63 of readme

Show
Ignore:
Timestamp:
04/06/13 12:07:46 (5 years ago)
Author:
acher
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • readme

    v62 v63  
    11= Downloading and Installing FAMILIAR Tool =  
    22 
    3 Stay tuned for updates! 
    4  * current version: '''1.0.3 (beta)'''  
    5  * We have moved to Xtext 2.0 and so last Eclipse versions (Juno) 
    6  * '''The Eclipse update site is down, we will fix it ASAP''' 
    7  
    8 We provide different solutions for using FAMILIAR: 
    9  
    10   * FAMILIAR Tool, fully integrated modeling standalone app that can be executed as JAR file. 
    11   * A plugin for the Eclipse platform, integrated with [http://wwwiti.cs.uni-magdeburg.de/iti_db/research/featureide FeatureIDE] ; 
    12   * Another standalone version that supports console mode only. 
    13 [[PageOutline]]  
    14  
    15 === FAMILIAR Tool === 
    16  
    17 This is the standalone graphical version, or simply called the '''FAMILIAR Tool'''. The tool was developed using Java with Prefuse visualization toolkit and AWT/Swing. It offers fully integrated modeling environment which includes the FAMILIAR Editor, Console and Language. It is designed to provide an intuitive and easy to use user interface allowing non-expert users to build Feature Models and reason about them. 
    18  
    19 The following graph shows the architecture of the FAMILIAR Tool: 
    20  
    21 [[Image(wiki:readme:FAMILIARToolArchitecture.png, 35%)]] 
    22  
    23  
    24 The following graph shows the main window view of the FAMILIAR Editor: 
    25  
    26 [[Image(wiki:readme:FAMILIARTool-Main-v0.9.9.9.png, 65%)]] 
    27  
    28  
    29 Watch the FAMILIAR Tool demo on Screencast.com: http://www.screencast.com/t/1oJBNwvw5f41 
    30  
    31 The FAMILIAR Tool is available for download as a JAR file: http://mathieuacher.com/pub/FAMILIAR/FML-editor-1.0.3.jar 
    32  
    33 This version is developed by Aleksandar Jakšić (Colorado State University)  
    34  
    35 === Eclipse Plugin ===  
    36  
    37 '''The Eclipse update site is down, we will fix it ASAP''' 
    38  
    39 '''The Eclipse plugin requires Java 1.6 and Eclipse Juno (>= 4.2) with Xtext 2.0'''  
    40  
    41 All dependent Eclipse projects or libraries (FeatureIDE, JavaBDD) are included  
    42 either in the standalone version or in the Eclipse plugin version.  
    43 You do not need FeatureIDE.  
    44 Note that it is not possible to use an existing version of FeatureIDE since we have made some changes to the FeatureIDE code.  
    45  
    46  
    47 Installing the Eclipse plugin via the update site-method: 
    48         - Open eclipse. 
    49         - Go to Help -> Install new software then click on "Add" button. 
    50         - A dialog frame will be shown with tow fields 
    51                 The first is for the name. 
    52                 The second one is for the URL of the plugin. Paste the following link '''http://www.i3s.unice.fr/~acher/familiar/''' and validate 
    53         - Select "FAMILIAR" in the new frame and click on "Next" and click again on "Next" if there is no dependence error is reported. 
    54         - Click on "Finish" and restart your Eclipse. Your plugin should now be available. 
    55          
    56 Hint for MacOS users: 
    57 Select the cocoa-x86_64 version of Eclipse (there are some issues with SWT related to some MacOS versions) 
    58  
    59  
    60 ==== Starting with the Eclipse Plugin (highly recommended to read) ==== 
    61  
    62 Once you have installed FAMILIAR in the Eclipse environment, you should have an Eclipse menu called FAMILIAR.  
    63 At this step, I suggest not to use the entry "Top Level" but to create a new Eclipse project, with a new file called foo.fml  
    64 ("fml" is the file extension supported by FAMILIAR). You can edit your FAMILIAR file with the FAMILIAR editor.  
    65 Let say you write something like: 
    66  
    67 {{{ 
    68 // foo.fml 
    69 fm1 = FM (A : B C [D]; D -> C; ) 
    70 fm2 = FM (W : [X] Y Z; X <-> Y ; ) 
    71 fm3 = FM (R : S [T] U; !U -> !S; )  
    72 }}} 
    73  
    74 At this step, you can right click on foo.fml and "Run as FAMILIAR script..." executes the script foo.fml.  
    75  
    76 Some variables should appear in the FAMILIAR environment view.  
    77 You can double click on variables to obtain a visual representation (using FeatureIDE editors).  
    78 You also have an access to the top level.  
    79 Type {{{ls}}} for instance to display the list of variables.  
    80 Or simply {{{fm1}}}.  
    81 Or new commands like: 
    82  
    83 {{{renameFeature fm1.A as "AAA"}}}  
    84  
    85  
    86  
    87 === Standalone version (simple one) === 
    88  
    89 The standalone version is simply a JAR file. 
    90  
    91 Available here: http://mathieuacher.com/pub/FAMILIAR/FML-1.0.3.jar 
    92  
    93 {{{ 
    94 > java -Xmx1024M -jar FML-1.0.3.jar --help 
    95 }}} 
    96  
    97 Usage: java FML 
    98                 [-v|--verbose] [-h|--help] [--version] [(-p|--path)[:paths1,paths2,...,pathsN ]] [(-o|--output) <output>] [<filename>] 
    99  
    100   [-v|--verbose] 
    101         Requests verbose output. 
    102  
    103   [-h|--help] 
    104         Help. 
    105  
    106   [--version] 
    107         Version of FAMILIAR 
    108  
    109   [(-p|--path)[:paths1,paths2,...,pathsN ]] 
    110         Paths to consider (FAMILIAR files should be located in those paths) 
    111  
    112   [(-o|--output) <output>] 
    113         Output folder where FAMILIAR files are produced. 
    114  
    115   [<filename>] 
    116         FAMILIAR file to interpret. 
    117          
    118 (Option -o is no longer active at the moment, "output" is the default folder) 
    119  
    120 Here is an example session: 
    121  
    122 {{{ 
    123  
    124 $ java -Xmx1024M -jar FML-1.0.3.jar workspaceScala/FAMILIAR/examples/testing/FMs/foo.fml  
    125 FAMILIAR (for FeAture Model scrIpt Language for manIpulation and Automatic Reasoning)  version 1.0.3 (beta) 
    126 http://familiar-project.github.com/ 
    127 fml> ls 
    128 (FEATURE_MODEL, completeName: fm1, ns:) fm1 = A: [D] B C ; (D -> C); 
    129 (FEATURE_MODEL, completeName: fm3, ns:) fm3 = R: S [T] U ; (!U -> !S); 
    130 (FEATURE_MODEL, completeName: fm2, ns:) fm2 = W: [X] Y Z ; (X <-> Y); 
    131 fml> fm1 
    132 fm1: (FEATURE_MODEL) A: [D] B C ; (D -> C); 
    133 fml> renameFeature fm1.A as "AAA" 
    134 res0: (BOOLEAN) true 
    135 fml> fm1 
    136 fm1: (FEATURE_MODEL) AAA: [D] B C ; (D -> C); 
    137 fml> c1 = configuration fm1 
    138 c1: (CONFIGURATION) selected: [AAA, B, C]        deselected: [] 
    139 fml> c1 
    140 c1: (CONFIGURATION) selected: [AAA, B, C]        deselected: [] 
    141 fml> autoSelect c1 MAX 
    142 res1: (BOOLEAN) true 
    143 fml> c1 
    144 c1: (CONFIGURATION) selected: [D, AAA, B, C]     deselected: [] 
    145 fml> c2 = configuration fm1 
    146 c2: (CONFIGURATION) selected: [AAA, B, C]        deselected: [] 
    147  
    148 }}} 
    149  
    150 Another more funny session is here.  
    151 Look at the poster, the "corresponding" FAMILIAR [attachment:poster.fml script] and the FAMILIAR output below: 
    152  
    153 {{{ 
    154 > java -jar FML-1.0.3.jar  
    155 FAMILIAR (for FeAture Model scrIpt Language for manIpulation and Automatic Reasoning)  version 1.0.3 (beta) 
    156 http://familiar-project.github.com/ 
    157 fml> run "FML-scripts/poster.fml" 
    158 fmASE: (FEATURE_MODEL) Slicing: Technique [FutureWork] Motivation Paper Algorithm Support ;  
    159 Technique: (ReasoningWithTwoKindsOfVariability|UpdatingAndExtractingViews|ReconcilingFMs)+ ;  
    160 Motivation: (MultipleInterRelatedFMs|LargeAndComplexFMs)+ ;  
    161 Paper: (Short|Long|Demonstration)+ ;  
    162 Algorithm: (SyntacticalTechnique|SemanticsAware) [PropositionalLogics] [Semantics] [CorrectiveCapabilities] [RootSupport] [SupportForConstraints] ;  
    163 Support: [Language] [Environment] [Automation] ;  
    164 Demonstration: CaseStudy ;  
    165 Semantics: Hierarchy [SetOfConfigurations] ;  
    166 Environment: (Eclipse|Standalone)+ [Editors] ;  
    167 Automation: (SAT|BDD)+ ;  
    168 CaseStudy: (MedicalImagingWorkflows|VideoSurveillanceProcessingChains|ReverseEngineeringSoftwareArchitecture) ;  
    169 Editors: [GraphicalEditor] [TextualEditor] ;  
    170 (CorrectiveCapabilities -> SupportForConstraints); 
    171 (TextualEditor -> Eclipse); 
    172 (CorrectiveCapabilities -> SemanticsAware); 
    173 (SetOfConfigurations <-> SemanticsAware); 
    174 (Algorithm <-> RootSupport); 
    175 (Language -> TextualEditor); 
    176 Language; 
    177 (Algorithm <-> CorrectiveCapabilities); 
    178 (Algorithm <-> Semantics); 
    179 (SemanticsAware -> Automation); 
    180 fmSemantics: (FEATURE_MODEL) Semantics: Hierarchy SetOfConfigurations ; 
    181 fmAlgorithm: (FEATURE_MODEL) Algorithm: RootSupport SupportForConstraints SemanticsAware ; 
    182 fmEnvironment: (FEATURE_MODEL) Slicing: Technique [CaseStudy] ;  
    183 Technique: (UpdatingAndExtractingViews|ReasoningWithTwoKindsOfVariability|ReconcilingFMs)+ ;  
    184 CaseStudy: (MedicalImagingWorkflows|VideoSurveillanceProcessingChains|ReverseEngineeringSoftwareArchitecture) ; 
    185 fmSupport: (FEATURE_MODEL) Support: Language Environment Automation ;  
    186 Environment: Eclipse [Standalone] TextualEditor ;  
    187 Automation: (SAT|BDD)+ ; 
    188 rootE: (FEATURE) Slicing 
    189 res0: (BOOLEAN) true 
    190 }}} 
    191  
    192  
    193 [[Image(wiki:WikiStart:ASE-poster-Slicing2.png, 25%)]] 
    194  
    195 === Bug report ===  
    196  
    197 Please use the Trac system to report any bug related to the FAMILIAR plugin/standalone version.  
    198 The login is ''reporter'' while the password is ''reporter'' 
     3This page is no longer maintained (go to [http://familiar-project.github.com/ http://familiar-project.github.com/] for the new instructions and releases)