{"action":"created","comment":{"url":"https://api.github.com/repos/01org/parameter-framework/pulls/comments/36410938","id":36410938,"diff_hunk":"@@ -0,0 +1,704 @@\n+<article class=\"markdown-body\">\n+\n+High level requirements\n+=======================\n+\n+<nb>Some requirements are only motivated by the fact that the reference\n+implementation implements them. Search for \"reference implementation\".</nb>\n+\n+# Introduction\n+The PF **MUST** be a library.\n+<why>To be reused in different components.</why>\n+\n+PF instances **MUST NOT** share any mutable data.\n+<why>to guarantee that different PF instances will not impact each others.</why>\n+\n+# Parameters\n+\n+A PF **MUST** be able to handle parameters.\n+<why>because the PF aims to abstract hardware and model it by parameters.</why>\n+\n+## Definitions\n+\n+<dl>\n+<dt>Hardware</dt>\n+<dd>System controlled by the PF. Not necessary material system. This term was\n+chosen because:\n+\n+ - historically the PF reference implementation was used to abstract hardware\n+ - the subsystem term would arguably fit best is already used.\n+\n+(FIXME: choose subsystem instead, it is not used in fact.)\n+</dd>\n+</dl>\n+\n+## Value\n+\n+A parameter **MUST** have a value.\n+<why>because a parameter without value would not abstract any hardware.</why>\n+\n+A PF **MUST** support mutable parameters.\n+<why>To control the underlined hardware.</why>\n+\n+A PF **MAY** support immutable parameters, i.e. parameters which value is determined\n+on start then read only.\n+<why>To permit hardware read only value reflection.</why>\n+<ko>This is not implemented in the PF reference implementation.</ko>\n+\n+This value **MUST** be gettable and settable (except if immutable).\n+<why>A parameter that can not be accessed is of no use.</why>\n+\n+A value **MUST** be convertible to a string.\n+<why>To display a parameter value to the human user for debugging purpose.</why>\n+\n+A bijective conversion string <-> value **SHOULD** exist.\n+<why>To support serialization and deserialization of the parameter values. It is\n+not a MUST because a PF implementation could offer serialization to custom --\n+not string based -- format.</why>\n+\n+### Data type\n+\n+#### Definition\n+\n+<dl>\n+<dt>Data type</dt>\n+<dd>\n+All parameters have a data type. A data type designates parameter invariants.\n+\n+A data type is the meaning of the data and the way values of that type can be\n+stored.\n+</dd>\n+</dl>\n+\n+\n+#### Philosophy\n+\n+A data type defines the value properties:\n+\n+ - memory layout\n+ - value constrains\n+\n+A value type is mostly used to:\n+\n+ - pretty display parameter values (not just a as an array of bits)\n+ - check for user error when setting it (out of bound, invalid...)\n+ - offer a type safe API\n+\n+#### Requirements\n+\n+A PF **SHOULD** support the following types.\n+If a type is chosen to be supported, it **MUST** respect all MUST clause,\n+**SHOULD** respect all SHOULD clause, **MAY** respect all MAY clause of the type.\n+<why>All type are not necessary to use the PF. For example any parameter could\n+be represented as an array of char (string). But this would not permit to\n+check parameter validity (invariants) nor a pretty display of the values.</why>\n+\n+Implementation **MAY** add another API to access a parameter value.\n+<why>For example a C++ implementation may give access to a string as an\n+std::string object.</why>\n+\n+##### Integers\n+PF **SHOULD** support signed and unsigned integer parameters\n+<why>The reference implementation supports it.</why>\n+\n+PF **MUST** support integer with invariant size.\n+<why>It is common in C API to expect numbers to have a fixed maximum size.</why>\n+\n+The API to access it **MUST** respect C integer ABI.\n+<why>For easy access from C code.</why>\n+\n+Supported integer size **SHOULD** be at least 8, 16 and 32 bits.\n+<why>The reference implementation supports it.</why>\n+\n+PF **MAY** support constraining the parameter minimum and maximum value.\n+<why>To catch user out of valid range errors when changing the parameter\n+value.</why>\n+\n+##### String\n+PF **SHOULD** support array of characters.\n+<why>Everything that a computer can store fits in an array of characters. It can\n+be used as a fallback type if no other matches the parameter.</why>\n+\n+The array maximum size **MAY** be invariant (immutable).\n+<nb>This is what the reference implementation does.</nb>\n+\n+The API to access the string value **SHOULD** support null terminated character\n+array. As it is commonly done in C.\n+<why>For easy access from C code.</why>\n+\n+##### Fix point parameter\n+PF **SHOULD** support fix point parameters. I.e. integers divided by a fixed power\n+of two.\n+<why>The reference implementation supports it.</why>\n+\n+The API to access the values **SHOULD** respect the Qm.n and UQm.n standards.\n+<why>It is the main standard for fix point parameters.</why>\n+\n+PF **SHOULD** support at least `0 <= m + n <= 31` for a Signed Qm.n and\n+`0 <= m + n <= 32` for an Unsigned Qm.n (or \"UQm.n\").\n+<why>The reference implementation supports it.</why>\n+<ko>The reference implementation only supports Signed Qn.m</ko>\n+\n+PF **MAY** support constraining the parameter minimum and maximum value.\n+<why>To catch user out of valid range errors when changing the parameter\n+value.</why>\n+<ko>The reference implementation does not support it</ko>\n+\n+##### Floating point\n+PF **SHOULD** support floating point parameters .\n+<why>The reference implementation supports it.</why>\n+\n+The API to access the values **SHOULD** respect the IEEE 754 standard.\n+\n+PF **SHOULD** support at least 32 and 64 bit size floats.\n+<why>The reference implementation supports it.</why>\n+<ko>The reference implementation only supports 32bits</ko>\n+\n+PF **MAY** support constraining the parameter minimum and maximum value.\n+<why>To catch user out of valid range errors when changing the parameter\n+value.</why>\n+\n+##### Bit field following the C ABI\n+PF **SHOULD** support 1 or more bit sized integers.\n+<why>The reference implementation supports it.</why>\n+\n+Such parameters called are regrouped in a so called bit parameter block.\n+The API to access a bit parameter block **SHOULD** give access to a packed bit\n+field.\n+<why>The reference implementation supports it.</why>\n+\n+### Parameter adaptation\n+\n+#### Philosophy\n+Parameters exposed by hardware sometimes need to transform a parameter value.\n+For example an hardware integer parameter could have a range 64-128 but it might\n+be necessary for upper layer to access in a range 0-100.\n+\n+This transformation (called parameter adaptation in the rest of the document)\n+could be done by the syncer. Nevertheless syncers are supposed to contain only\n+business logic and should not be impacted by upper layer needs.\n+\n+#### Definition\n+<dl>\n+<dt>Parameter adaptation<dt>\n+<dd>\n+A bijective pure function converting a parameter value between the syncer\n+and other parameter reader/writer (including the inference engine).\n+\n+<why>It must be bijective in order to a) scale the user value to the hardware\n+value and b) convert the hardware value to the user's value space.)</why>\n+</dd>\n+</dl>\n+\n+#### Requirements\n+The following parameter adaptation **SHOULD** be supported\n+\n+ - Affine adaptation: `affAd(value) = slope * value + offset` where slope and\n+   offset and user-defined constants\n+   <why>The reference implementation supports it.</why>\n+\n+ - Logarithm adaptation: `logAd(base, value) = ln(value) / ln(base)` where\n+   `ln` is the natural logarithm and base is a user-defined constant.\n+   <why>The reference application supports it.</why>\n+   <nb>The reference implementation also supports passing a floor value to be\n+   applied after conversion.</nb>\n+\n+A PF **MAY** offer Parameter adaptation composition. I.e. combine multiple parameter\n+adaptation\n+<nb>E.g.: composing the affine and logarithm adaptation to\n+`compAd(value) = slope * logAd(base, value) + offset`.</nb>\n+<why>To avoid combination explosion of parameter adaptations. The idea is to\n+builtin basic function and let the user compose them to meet its need.</why>\n+<ko>The reference application supports in a tricky way: the logarithm\n+adaptation is always combined with the affine adaptation</ko>\n+\n+## Identifiers\n+Every parameter **MUST** have an identifier that uniquely identifies it.\n+<why>to identify a parameter outside the framework</why>\n+\n+This identifier **SHOULD** be a string.\n+<why>so that the (human</why> user can identify a parameter with ease.)\n+\n+Two PF instances with the same parameters **MUST** have the same identifier for\n+those parameters.\n+I.e. this identifier should be the same across all instances with the same\n+configuration.\n+<why>Persistence of parameter identifier across PF instances with the same\n+configuration. To identify parameters independently of the host machine and PF\n+instance</why>\n+\n+### Parameter tree\n+A parameter **MUST** be structured in a tree. Each parameter being a distinct\n+tree leaf.\n+<why>Tree is a simple data structure that can be easily represented and is\n+enough to map underlined layers.</why>\n+\n+Each node of the tree **SHOULD** have its own identifier with the same\n+characteristics (type, independence...) than a parameter.\n+<why>To represent the tree without treating the leaf nodes specifically.</why>\n+\n+The identifier of each node of the tree **SHOULD** be a combination of its\n+parents. More specifically, if the identifier is a string it should be\n+formated the same way as a file system path. E.g. the parameter named\n+`/root/child1/4/parameter1`.\n+<why>Usual syntax to address trees.</why>\n+\n+\n+# Syncer\n+\n+The PF philosophy is to map the hardware characteristics to parameters.\n+\n+A syncer **MUST** be mapped to one or more parameters.\n+<why>The hardware minimal access may be bigger than one parameter.</why>\n+\n+One parameter **MUST NOT** be mapped to two or more syncer.\n+<why>Which syncer should be responsible to retrieve the initial parameter value\n+if they are multiple per parameter?</why>\n+\n+A syncer **MUST** support retrieving the mapped parameters value from the mapped\n+hardware.\n+<why>to retrieve a parameter value at the start of the PF.</why>\n+\n+A syncer **MUST** support setting the mapped parameters value to the mapped\n+hardware.\n+<why>to synchronise hardware on parameter change.</why>\n+\n+Syncers **MUST** retrieve and set the parameters value from the PF core.\n+<why>to be able to synchronise with hardware.</why>\n+\n+This API **MAY** be a packed parameter structure, following the C ABI without\n+padding.\n+<nb>This is what the reference implementation does.</nb>\n+<why>???</why>\n+\n+## Introspection\n+The syncer API **SHOULD** allow introspection of the mapped parameters.\n+<why>the parameter structure may be useful for the syncer to communicate with\n+the hardware.</why>\n+\n+## Plugins\n+The PF **MUST** be able to create syncers.\n+<why>to bind on the corresponding parameters.</why>\n+\n+### Definition\n+The PF creates syncer using syncer builder.\n+\n+### Identifier\n+All syncers mapping to the same hardware **SHOULD** have their builders regrouped\n+in a syncer library.\n+<why>to be able to link a group of parameters and a given hardware.</why>\n+\n+A syncer builder **MUST** have a unique identifier in its containing syncer\n+library.\n+<why>To uniquely identify the syncer that should bind on parameters. Given that\n+the syncer library has already been specified.</why>\n+\n+A syncer library **MUST** have a unique identifier in the host system.\n+<why>To identify the library associated to parameters.</why>\n+\n+Syncer build and syncer library identifiers **SHOULD** be strings.\n+<why>The reference application does so.</why>\n+\n+### Loading\n+Syncer library or/and builder **MAY** be loaded from dynamically linked libraries\n+(called syncer plugins).\n+<why>The reference implementation supports it.</why>\n+\n+Such syncer plugins **SHOULD** have an unique entry point that -- when called --\n+should register its payload (syncer library/builder) in the provided gatherer.\n+<nb>This permit to merge multiple syncer libraries in one shared\n+library.</nb>\n+<why>The reference implementation supports it.</why>\n+\n+Multiple syncer plugins, may depend on each other. The PF should appropriately\n+handle the case and not fail.\n+<why>The reference implementation supports it.</why>\n+\n+## Mapping\n+### Definition\n+\n+<dl>\n+<dt>Virtual Parameter</dt>\n+<dd>\n+A parameter not bound to a syncer.\n+(Todo: remove if not used in the requirements.)\n+</dd>\n+</dl>\n+\n+### Requirements\n+**TODO**:\n+ - Plugins\n+ - association builder <-> parameters\n+\n+## Sync\n+\n+Syncer **SHOULD** synchronise the mapped hardware on parameter change.\n+<why>To always keep synchronise the underlined hardware and the PF\n+parameters.</why>\n+\n+Syncer **SHOULD** retrieve parameter value from the hardware if no value has be\n+set since the PF start.\n+<nb>This is usually implemented on PF start, initialize the parameter values\n+with the mapped hardware current state.</nb>\n+<why>To allow introspection of the hardware.</why>\n+\n+A mode with synchronisation on client request **SHOULD** be supported.\n+<why>The user may want to group the synchronization of multiple parameters --\n+for instance if a syncer contains more than 1 parameter -- in order to avoid\n+undesired intermediary states.</why>\n+\n+Syncers **MAY** report an 'out-of-sync' condition indicating that the hardware\n+parameter values are not (or no longer) reflecting the last values set by the\n+Parameter Framework.\n+<why>This can happen when the underlying hardware subsystem\n+crashes/reboots/...</why>\n+\n+When a syncer reports an out-of-sync condition, the PF **MUST** try to resync\n+the hardware values.\n+\n+# Rule based dynamic abstraction\n+\n+## Philosophy\n+\n+The PF offers parameters mapped on hardware. This is a good but weak\n+abstraction. There is often a 1/1 relation between a parameter and the hardware\n+it maps.\n+\n+A PF offers a mechanism to abstract the parameters to more high level concept.\n+\n+The goal is to hide numerous parameters and their dynamic value behind simple\n+and human friendly API.\n+\n+It works by regrouping parameters with similar management and defining\n+configurations for each \"scenario\". These \"scenario\" are then given a priority\n+and a detection predicate. Configuration are applied when their associated\n+\"scenario\" is detected.\n+\n+\"Scenario\" are detected through arbitrary criterion provided by the PF host\n+(see below).\n+\n+## Definition\n+\n+<dl>\n+<dt>Configuration</dt>\n+<dd>\n+Set of values for different parameters. A configuration **MUST NOT** contain 2\n+values of the same parameters.\n+\n+For example, given a PF with 3 integer parameters A,B,C, a configuration can\n+contain:\n+\n+ - 1 value: (A) or (B) or (C); or\n+ - 2 values: (A,B) or (A,C) or (B,C); or\n+ - 3 values: (A,B,C).\n+</dd>\n+\n+<dt>Rogue Parameter</dt>\n+<dd>\n+A Parameter that is not contained by any configuration.\n+<dd>\n+</dl>\n+\n+## Configuration\n+\n+A PF **MUST** offer configurations as described in the Definition chapter.\n+<nb>rule based parameter engine does not manipulate directly values, it\n+applies configuration on the parameters.</nb>\n+<why>This is what the reference implementation does.</why>\n+\n+Each configuration **MUST** be associated with a predicate that condition its\n+eligibility. A configuration with a predicate that evaluates to `true` is called\n+an \"eligible configuration\"\n+<why>This is what the reference implementation does.</why>\n+\n+It **SHOULD** be possible to express a predicate to always evaluates to `true`.\n+<why>in order to have parameters set to constant values or have a fallback\n+configuration in a domain -- see below.</why>\n+\n+The predicate **SHOULD** be a \"selection criterion rule\". See next chapter for a\n+definition.\n+<why>The reference implementation uses a boolean expression based engine.</why>\n+\n+## Selection criterion\n+\n+A selection criterion **MUST** have one, and only one, state at a given time.\n+\n+A selection criterion **MUST** know at construction all possible states.","path":"doc/requirements/Requirements.md","position":426,"original_position":426,"commit_id":"25a670dd7fc393e074582c47f3dfed298b27d72f","original_commit_id":"25a670dd7fc393e074582c47f3dfed298b27d72f","user":{"login":"OznOg","id":820313,"avatar_url":"https://avatars.githubusercontent.com/u/820313?v=3","gravatar_id":"","url":"https://api.github.com/users/OznOg","html_url":"https://github.com/OznOg","followers_url":"https://api.github.com/users/OznOg/followers","following_url":"https://api.github.com/users/OznOg/following{/other_user}","gists_url":"https://api.github.com/users/OznOg/gists{/gist_id}","starred_url":"https://api.github.com/users/OznOg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OznOg/subscriptions","organizations_url":"https://api.github.com/users/OznOg/orgs","repos_url":"https://api.github.com/users/OznOg/repos","events_url":"https://api.github.com/users/OznOg/events{/privacy}","received_events_url":"https://api.github.com/users/OznOg/received_events","type":"User","site_admin":false},"body":"is that the criterion that needs it or the PFW?","created_at":"2015-08-06T13:05:02Z","updated_at":"2015-08-06T13:05:02Z","html_url":"https://github.com/01org/parameter-framework/pull/156#discussion_r36410938","pull_request_url":"https://api.github.com/repos/01org/parameter-framework/pulls/156","_links":{"self":{"href":"https://api.github.com/repos/01org/parameter-framework/pulls/comments/36410938"},"html":{"href":"https://github.com/01org/parameter-framework/pull/156#discussion_r36410938"},"pull_request":{"href":"https://api.github.com/repos/01org/parameter-framework/pulls/156"}}},"pull_request":{"url":"https://api.github.com/repos/01org/parameter-framework/pulls/156","id":41586606,"html_url":"https://github.com/01org/parameter-framework/pull/156","diff_url":"https://github.com/01org/parameter-framework/pull/156.diff","patch_url":"https://github.com/01org/parameter-framework/pull/156.patch","issue_url":"https://api.github.com/repos/01org/parameter-framework/issues/156","number":156,"state":"open","locked":false,"title":"Write Parameter Framework requirements","user":{"login":"dawagner","id":6430928,"avatar_url":"https://avatars.githubusercontent.com/u/6430928?v=3","gravatar_id":"","url":"https://api.github.com/users/dawagner","html_url":"https://github.com/dawagner","followers_url":"https://api.github.com/users/dawagner/followers","following_url":"https://api.github.com/users/dawagner/following{/other_user}","gists_url":"https://api.github.com/users/dawagner/gists{/gist_id}","starred_url":"https://api.github.com/users/dawagner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dawagner/subscriptions","organizations_url":"https://api.github.com/users/dawagner/orgs","repos_url":"https://api.github.com/users/dawagner/repos","events_url":"https://api.github.com/users/dawagner/events{/privacy}","received_events_url":"https://api.github.com/users/dawagner/received_events","type":"User","site_admin":false},"body":"Establishing the requirements is a Work In Progress, of which this commit is\r\nthe first step.\r\n\r\nSigned-off-by: Kevin Rocard <kevin.rocard@intel.com>\n<a href='#crh-start'></a><a href='#crh-data-%7B%22processed%22%3A%20%5B%22https%3A//github.com/01org/parameter-framework/pull/156%23issuecomment-127899290%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23issuecomment-128331451%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36403950%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23issuecomment-128335435%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36405812%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36405886%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36405918%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36406016%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36406153%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36406240%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36406306%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36406455%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36406476%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36406793%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36408338%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36408400%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36408428%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36408520%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36408571%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36408611%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36409384%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36409495%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36409575%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36409730%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36409788%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36409874%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36409966%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36409985%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36410209%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36410225%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36410392%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36410423%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36410460%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36410689%22%2C%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36410753%22%5D%2C%20%22comments%22%3A%20%7B%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%2052%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36406455%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22quite%20strange%20requirement...%20I%20presonnally%20dislike%20libs%20that%20log%20stuff.%20I%20just%20want%20the%20lib%20to%20work%2C%20I%20don%27t%20want%20to%20debug%20it.%22%2C%20%22created_at%22%3A%20%222015-08-06T12%3A07%3A08Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/820313%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/OznOg%22%7D%7D%2C%20%7B%22body%22%3A%20%22This%20isn%27t%20specifically%20linked%20to%20logging%3A%20it%20is%20used%20for%20introspection%20too%20%28see%20%5C%22Introspection%5C%22%20chapter%29.%22%2C%20%22created_at%22%3A%20%222015-08-06T12%3A11%3A39Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/6430928%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/dawagner%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%2019%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36406016%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22what%20is%20a%20parameter%3F%20Is%20there%20a%20link%20between%20this%20req%20and%20any%20description%20of%20the%20aim%20of%20the%20PFW%3F%20%28what%20problem%20is%20the%20PFW%20supposed%20to%20solve%3F%29%22%2C%20%22created_at%22%3A%20%222015-08-06T12%3A00%3A31Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/820313%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/OznOg%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%2057%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36406476%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22idem%22%2C%20%22created_at%22%3A%20%222015-08-06T12%3A07%3A24Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/820313%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/OznOg%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%2014%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36405886%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22the%20%5C%22why%5C%22%20should%20be%20the%20requirement%2C%20the%20rest%20is%20implementation%22%2C%20%22created_at%22%3A%20%222015-08-06T11%3A58%3A58Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/820313%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/OznOg%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%2011%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36405812%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22IMHO%20implementation%20detail%2C%20even%20if%20relevant%22%2C%20%22created_at%22%3A%20%222015-08-06T11%3A57%3A42Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/820313%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/OznOg%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%2038%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36406153%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22Does%20this%20mean%20that%20the%20PFW%20manipulates%20%7Bparameter%2C%20value%7D%20pairs%3F%22%2C%20%22created_at%22%3A%20%222015-08-06T12%3A02%3A37Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/820313%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/OznOg%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%20372%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36410460%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22I%20works%20by%20grouping%22%2C%20%22created_at%22%3A%20%222015-08-06T13%3A00%3A00Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/820313%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/OznOg%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%20369%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36410423%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22dynamic%20values%22%2C%20%22created_at%22%3A%20%222015-08-06T12%3A59%3A36Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/820313%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/OznOg%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%20255%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36409874%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22why%20not%20both%3F%22%2C%20%22created_at%22%3A%20%222015-08-06T12%3A52%3A56Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/820313%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/OznOg%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%20214%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36408611%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22idem%22%2C%20%22created_at%22%3A%20%222015-08-06T12%3A36%3A59Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/820313%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/OznOg%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%2C%20%22General%20Comment%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23issuecomment-127899290%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22Update%20of%20%23144%22%2C%20%22created_at%22%3A%20%222015-08-05T07%3A28%3A37Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/6430928%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/dawagner%22%7D%7D%2C%20%7B%22body%22%3A%20%22We%20should%20push%20the%20generated%20html%20to%20github.io%20and%20then%20put%20a%20note%20in%20the%20markdown%20document%2C%20mentioning%20that%20the%20doc%20is%20best%20viewed%20as%20html%20%2B%20a%20link%20to%20said%20html%20version.%5Cr%5Cn%5Cr%5Cne.g.%20%60%3Cp%20style%3D%5C%22display%3A%20none%5C%22%3ESee%20the%20HTML%20version%20here%3A%20http%3A//...%3C/p%3E%60%22%2C%20%22created_at%22%3A%20%222015-08-06T11%3A18%3A31Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/6430928%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/dawagner%22%7D%7D%2C%20%7B%22body%22%3A%20%22I%20wanted%20to%20use%20%60%3Cnote%3E%60%20as%20tag%20for%20the%20notes%20but%20pandoc%20applied%20a%20special%20treatment%20to%20them%20%28because%20it%20is%20a%20valid%20docbook%20tag%29%20and%20it%20didn%27t%20render%20as%20expected.%20Instead%2C%20I%20used%20%60%3Cnb%3E%60.%22%2C%20%22created_at%22%3A%20%222015-08-06T11%3A35%3A39Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/6430928%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/dawagner%22%7D%7D%5D%2C%20%22title%22%3A%20%22General%20Comment%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%20226%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36409495%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22as%20far%20as%20I%20understand%2C%20this%20requirement%20is%20more%20%5C%22all%20instance%20should%20share%20the%20same%20format%20of%20persistance%5C%22%2C%20am%20I%20wrong%3F%22%2C%20%22created_at%22%3A%20%222015-08-06T12%3A48%3A40Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/820313%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/OznOg%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%20414%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36410689%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22seems%20to%20be%20a%20trick%20around%20implementation.%20I%20don%27t%20understand%20the%20need%20from%20a%20high%20level%20standpoint%22%2C%20%22created_at%22%3A%20%222015-08-06T13%3A02%3A31Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/820313%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/OznOg%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%20284%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36409985%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22is%20that%20a%20requirement%3F%22%2C%20%22created_at%22%3A%20%222015-08-06T12%3A54%3A31Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/820313%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/OznOg%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%20165%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36408428%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22parse%20error%22%2C%20%22created_at%22%3A%20%222015-08-06T12%3A34%3A35Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/820313%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/OznOg%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%2099%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36408338%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22I%20would%20expect%20the%20requirement%20to%20be%20more%20end-user%20oriented%2C%20thus%20ideally%2C%20the%20pfw%20should%20be%20agnostic%20of%20user%27s%20types%22%2C%20%22created_at%22%3A%20%222015-08-06T12%3A33%3A21Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/820313%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/OznOg%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%20289%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36410209%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22I%20don%27t%20understant%20nor%20the%20need%2C%20nor%20the%20rational%22%2C%20%22created_at%22%3A%20%222015-08-06T12%3A56%3A54Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/820313%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/OznOg%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%20220%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36409384%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22when%20is%20that%20useful%3F%20seems%20to%20be%20log%20related%20so%20not%20really%20user%20oriented%22%2C%20%22created_at%22%3A%20%222015-08-06T12%3A47%3A20Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/820313%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/OznOg%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%20280%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36409966%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22PF%20or%20plugin%3F%20The%20pfw%20may%20create%20whatever%20it%20need%2C%20this%20should%20be%20be%20a%20requirement%22%2C%20%22created_at%22%3A%20%222015-08-06T12%3A54%3A10Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/820313%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/OznOg%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%20178%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36408520%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22what%20is%20a%20syncer%3F%20why%20do%20they%20appear%20in%20requirements%3F%22%2C%20%22created_at%22%3A%20%222015-08-06T12%3A35%3A48Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/820313%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/OznOg%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/CMakeLists.txt%2029%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36403950%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22try%20with%20add_custom_command%3B%20it%20should%20create%20a%20make%20target%20that%20has%20a%20real%20output%2C%20which%20avoid%20re-making%20it%20when%20up-to-date.%22%2C%20%22created_at%22%3A%20%222015-08-06T11%3A27%3A41Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/6430928%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/dawagner%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/CMakeLists.txt%3AL62-90%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%20243%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36409730%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22then%20names%20cannot%20contain%20/%20%3F%5Cr%5Cnseems%20to%20be%20an%20implentation%20detail.%5Cr%5Cndoes%20///.././toto%20represent%20a%20valid%20path%3F%22%2C%20%22created_at%22%3A%20%222015-08-06T12%3A51%3A20Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/820313%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/OznOg%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%20367%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36410392%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22to%20a%20higher%20level%22%2C%20%22created_at%22%3A%20%222015-08-06T12%3A59%3A17Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/820313%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/OznOg%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%20471%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36405918%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22This%20sentence%20is%20unfinished.%22%2C%20%22created_at%22%3A%20%222015-08-06T11%3A59%3A24Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/6430928%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/dawagner%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%20184%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36408571%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22I%20don%27t%20get%20the%20need%20from%20a%20user%27s%20perspective%22%2C%20%22created_at%22%3A%20%222015-08-06T12%3A36%3A32Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/820313%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/OznOg%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%20249%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36409788%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22I%20don%27t%20understand%20what%20is%20a%20syncer%22%2C%20%22created_at%22%3A%20%222015-08-06T12%3A52%3A02Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/820313%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/OznOg%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%20424%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36410753%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22%3F%22%2C%20%22created_at%22%3A%20%222015-08-06T13%3A03%3A08Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/820313%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/OznOg%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%20233%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36409575%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22this%20is%20a%20point%20of%20view%2C%20not%20a%20rational.%20Is%20that%20really%20mandatory%3F%20seems%20to%20be%20implementation%20related%22%2C%20%22created_at%22%3A%20%222015-08-06T12%3A49%3A42Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/820313%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/OznOg%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%20174%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36408400%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22a%20hardware%22%2C%20%22created_at%22%3A%20%222015-08-06T12%3A34%3A14Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/820313%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/OznOg%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%20294%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36410225%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22implementation%20detail%22%2C%20%22created_at%22%3A%20%222015-08-06T12%3A57%3A07Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/820313%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/OznOg%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%2049%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36406306%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22why%20is%20not%20complete%3A%20being%20able%20to%20get%20would%20be%20enough%22%2C%20%22created_at%22%3A%20%222015-08-06T12%3A05%3A07Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/820313%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/OznOg%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%2C%20%22Pull%2025a670dd7fc393e074582c47f3dfed298b27d72f%20doc/requirements/Requirements.md%2040%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/01org/parameter-framework/pull/156%23discussion_r36406240%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22PFW%20must%20be%20able%20to%20control%20the%20underlined%20hardware%20parameter%2C%20may%20they%20be%20mutable%20or%20not%22%2C%20%22created_at%22%3A%20%222015-08-06T12%3A04%3A06Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/820313%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/OznOg%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20doc/requirements/Requirements.md%3AL1-705%22%7D%7D%7D'></a>\n<a href='https://www.codereviewhub.com/'><img src='http://www.codereviewhub.com/site/github-bar.png' height=40></a>\n- [ ] <a href='#crh-comment-General Comment'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#issuecomment-127899290'>General Comment</a></b>\n- <a href='https://github.com/dawagner'><img border=0 src='https://avatars.githubusercontent.com/u/6430928?v=3' height=16 width=16'></a> Update of #144\n- <a href='https://github.com/dawagner'><img border=0 src='https://avatars.githubusercontent.com/u/6430928?v=3' height=16 width=16'></a> We should push the generated html to github.io and then put a note in the markdown document, mentioning that the doc is best viewed as html + a link to said html version.\ne.g. `<p style=\"display: none\">See the HTML version here: http://...</p>`\n- <a href='https://github.com/dawagner'><img border=0 src='https://avatars.githubusercontent.com/u/6430928?v=3' height=16 width=16'></a> I wanted to use `<note>` as tag for the notes but pandoc applied a special treatment to them (because it is a valid docbook tag) and it didn't render as expected. Instead, I used `<nb>`.\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/CMakeLists.txt 29'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36403950'>File: doc/CMakeLists.txt:L62-90</a></b>\n- <a href='https://github.com/dawagner'><img border=0 src='https://avatars.githubusercontent.com/u/6430928?v=3' height=16 width=16'></a> try with add_custom_command; it should create a make target that has a real output, which avoid re-making it when up-to-date.\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 11'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36405812'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/OznOg'><img border=0 src='https://avatars.githubusercontent.com/u/820313?v=3' height=16 width=16'></a> IMHO implementation detail, even if relevant\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 14'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36405886'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/OznOg'><img border=0 src='https://avatars.githubusercontent.com/u/820313?v=3' height=16 width=16'></a> the \"why\" should be the requirement, the rest is implementation\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 471'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36405918'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/dawagner'><img border=0 src='https://avatars.githubusercontent.com/u/6430928?v=3' height=16 width=16'></a> This sentence is unfinished.\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 19'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36406016'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/OznOg'><img border=0 src='https://avatars.githubusercontent.com/u/820313?v=3' height=16 width=16'></a> what is a parameter? Is there a link between this req and any description of the aim of the PFW? (what problem is the PFW supposed to solve?)\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 38'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36406153'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/OznOg'><img border=0 src='https://avatars.githubusercontent.com/u/820313?v=3' height=16 width=16'></a> Does this mean that the PFW manipulates {parameter, value} pairs?\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 40'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36406240'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/OznOg'><img border=0 src='https://avatars.githubusercontent.com/u/820313?v=3' height=16 width=16'></a> PFW must be able to control the underlined hardware parameter, may they be mutable or not\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 49'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36406306'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/OznOg'><img border=0 src='https://avatars.githubusercontent.com/u/820313?v=3' height=16 width=16'></a> why is not complete: being able to get would be enough\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 52'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36406455'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/OznOg'><img border=0 src='https://avatars.githubusercontent.com/u/820313?v=3' height=16 width=16'></a> quite strange requirement... I presonnally dislike libs that log stuff. I just want the lib to work, I don't want to debug it.\n- <a href='https://github.com/dawagner'><img border=0 src='https://avatars.githubusercontent.com/u/6430928?v=3' height=16 width=16'></a> This isn't specifically linked to logging: it is used for introspection too (see \"Introspection\" chapter).\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 57'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36406476'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/OznOg'><img border=0 src='https://avatars.githubusercontent.com/u/820313?v=3' height=16 width=16'></a> idem\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 99'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36408338'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/OznOg'><img border=0 src='https://avatars.githubusercontent.com/u/820313?v=3' height=16 width=16'></a> I would expect the requirement to be more end-user oriented, thus ideally, the pfw should be agnostic of user's types\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 174'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36408400'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/OznOg'><img border=0 src='https://avatars.githubusercontent.com/u/820313?v=3' height=16 width=16'></a> a hardware\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 165'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36408428'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/OznOg'><img border=0 src='https://avatars.githubusercontent.com/u/820313?v=3' height=16 width=16'></a> parse error\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 178'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36408520'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/OznOg'><img border=0 src='https://avatars.githubusercontent.com/u/820313?v=3' height=16 width=16'></a> what is a syncer? why do they appear in requirements?\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 184'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36408571'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/OznOg'><img border=0 src='https://avatars.githubusercontent.com/u/820313?v=3' height=16 width=16'></a> I don't get the need from a user's perspective\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 214'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36408611'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/OznOg'><img border=0 src='https://avatars.githubusercontent.com/u/820313?v=3' height=16 width=16'></a> idem\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 220'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36409384'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/OznOg'><img border=0 src='https://avatars.githubusercontent.com/u/820313?v=3' height=16 width=16'></a> when is that useful? seems to be log related so not really user oriented\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 226'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36409495'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/OznOg'><img border=0 src='https://avatars.githubusercontent.com/u/820313?v=3' height=16 width=16'></a> as far as I understand, this requirement is more \"all instance should share the same format of persistance\", am I wrong?\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 233'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36409575'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/OznOg'><img border=0 src='https://avatars.githubusercontent.com/u/820313?v=3' height=16 width=16'></a> this is a point of view, not a rational. Is that really mandatory? seems to be implementation related\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 243'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36409730'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/OznOg'><img border=0 src='https://avatars.githubusercontent.com/u/820313?v=3' height=16 width=16'></a> then names cannot contain / ?\nseems to be an implentation detail.\ndoes ///.././toto represent a valid path?\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 249'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36409788'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/OznOg'><img border=0 src='https://avatars.githubusercontent.com/u/820313?v=3' height=16 width=16'></a> I don't understand what is a syncer\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 255'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36409874'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/OznOg'><img border=0 src='https://avatars.githubusercontent.com/u/820313?v=3' height=16 width=16'></a> why not both?\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 280'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36409966'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/OznOg'><img border=0 src='https://avatars.githubusercontent.com/u/820313?v=3' height=16 width=16'></a> PF or plugin? The pfw may create whatever it need, this should be be a requirement\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 284'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36409985'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/OznOg'><img border=0 src='https://avatars.githubusercontent.com/u/820313?v=3' height=16 width=16'></a> is that a requirement?\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 289'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36410209'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/OznOg'><img border=0 src='https://avatars.githubusercontent.com/u/820313?v=3' height=16 width=16'></a> I don't understant nor the need, nor the rational\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 294'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36410225'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/OznOg'><img border=0 src='https://avatars.githubusercontent.com/u/820313?v=3' height=16 width=16'></a> implementation detail\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 367'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36410392'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/OznOg'><img border=0 src='https://avatars.githubusercontent.com/u/820313?v=3' height=16 width=16'></a> to a higher level\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 369'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36410423'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/OznOg'><img border=0 src='https://avatars.githubusercontent.com/u/820313?v=3' height=16 width=16'></a> dynamic values\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 372'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36410460'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/OznOg'><img border=0 src='https://avatars.githubusercontent.com/u/820313?v=3' height=16 width=16'></a> I works by grouping\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 414'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36410689'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/OznOg'><img border=0 src='https://avatars.githubusercontent.com/u/820313?v=3' height=16 width=16'></a> seems to be a trick around implementation. I don't understand the need from a high level standpoint\n- [ ] <a href='#crh-comment-Pull 25a670dd7fc393e074582c47f3dfed298b27d72f doc/requirements/Requirements.md 424'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/01org/parameter-framework/pull/156#discussion_r36410753'>File: doc/requirements/Requirements.md:L1-705</a></b>\n- <a href='https://github.com/OznOg'><img border=0 src='https://avatars.githubusercontent.com/u/820313?v=3' height=16 width=16'></a> ?\n\n\n<a href='https://www.codereviewhub.com/01org/parameter-framework/pull/156?mark_as_completed=1'><img src='http://www.codereviewhub.com/site/github-mark-as-completed.png' height=26></a>&nbsp;<a href='https://www.codereviewhub.com/01org/parameter-framework/pull/156?approve=1'><img src='http://www.codereviewhub.com/site/github-approve.png' height=26></a>&nbsp;<a href='https://github.com/01org/parameter-framework/pull/156'><img src='http://www.codereviewhub.com/site/github-refresh.png' height=26></a>\n<a href='#crh-end'></a>","created_at":"2015-08-04T16:02:01Z","updated_at":"2015-08-06T13:05:02Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8c33cbc457e9b643592be588efdfb03752dd2f20","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/01org/parameter-framework/pulls/156/commits","review_comments_url":"https://api.github.com/repos/01org/parameter-framework/pulls/156/comments","review_comment_url":"https://api.github.com/repos/01org/parameter-framework/pulls/comments{/number}","comments_url":"https://api.github.com/repos/01org/parameter-framework/issues/156/comments","statuses_url":"https://api.github.com/repos/01org/parameter-framework/statuses/25a670dd7fc393e074582c47f3dfed298b27d72f","head":{"label":"dawagner:requirements","ref":"requirements","sha":"25a670dd7fc393e074582c47f3dfed298b27d72f","user":{"login":"dawagner","id":6430928,"avatar_url":"https://avatars.githubusercontent.com/u/6430928?v=3","gravatar_id":"","url":"https://api.github.com/users/dawagner","html_url":"https://github.com/dawagner","followers_url":"https://api.github.com/users/dawagner/followers","following_url":"https://api.github.com/users/dawagner/following{/other_user}","gists_url":"https://api.github.com/users/dawagner/gists{/gist_id}","starred_url":"https://api.github.com/users/dawagner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dawagner/subscriptions","organizations_url":"https://api.github.com/users/dawagner/orgs","repos_url":"https://api.github.com/users/dawagner/repos","events_url":"https://api.github.com/users/dawagner/events{/privacy}","received_events_url":"https://api.github.com/users/dawagner/received_events","type":"User","site_admin":false},"repo":{"id":29674215,"name":"parameter-framework","full_name":"dawagner/parameter-framework","owner":{"login":"dawagner","id":6430928,"avatar_url":"https://avatars.githubusercontent.com/u/6430928?v=3","gravatar_id":"","url":"https://api.github.com/users/dawagner","html_url":"https://github.com/dawagner","followers_url":"https://api.github.com/users/dawagner/followers","following_url":"https://api.github.com/users/dawagner/following{/other_user}","gists_url":"https://api.github.com/users/dawagner/gists{/gist_id}","starred_url":"https://api.github.com/users/dawagner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dawagner/subscriptions","organizations_url":"https://api.github.com/users/dawagner/orgs","repos_url":"https://api.github.com/users/dawagner/repos","events_url":"https://api.github.com/users/dawagner/events{/privacy}","received_events_url":"https://api.github.com/users/dawagner/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/dawagner/parameter-framework","description":"Plugin-based and rule-based framework for describing and controlling parameters","fork":true,"url":"https://api.github.com/repos/dawagner/parameter-framework","forks_url":"https://api.github.com/repos/dawagner/parameter-framework/forks","keys_url":"https://api.github.com/repos/dawagner/parameter-framework/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dawagner/parameter-framework/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dawagner/parameter-framework/teams","hooks_url":"https://api.github.com/repos/dawagner/parameter-framework/hooks","issue_events_url":"https://api.github.com/repos/dawagner/parameter-framework/issues/events{/number}","events_url":"https://api.github.com/repos/dawagner/parameter-framework/events","assignees_url":"https://api.github.com/repos/dawagner/parameter-framework/assignees{/user}","branches_url":"https://api.github.com/repos/dawagner/parameter-framework/branches{/branch}","tags_url":"https://api.github.com/repos/dawagner/parameter-framework/tags","blobs_url":"https://api.github.com/repos/dawagner/parameter-framework/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dawagner/parameter-framework/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dawagner/parameter-framework/git/refs{/sha}","trees_url":"https://api.github.com/repos/dawagner/parameter-framework/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dawagner/parameter-framework/statuses/{sha}","languages_url":"https://api.github.com/repos/dawagner/parameter-framework/languages","stargazers_url":"https://api.github.com/repos/dawagner/parameter-framework/stargazers","contributors_url":"https://api.github.com/repos/dawagner/parameter-framework/contributors","subscribers_url":"https://api.github.com/repos/dawagner/parameter-framework/subscribers","subscription_url":"https://api.github.com/repos/dawagner/parameter-framework/subscription","commits_url":"https://api.github.com/repos/dawagner/parameter-framework/commits{/sha}","git_commits_url":"https://api.github.com/repos/dawagner/parameter-framework/git/commits{/sha}","comments_url":"https://api.github.com/repos/dawagner/parameter-framework/comments{/number}","issue_comment_url":"https://api.github.com/repos/dawagner/parameter-framework/issues/comments{/number}","contents_url":"https://api.github.com/repos/dawagner/parameter-framework/contents/{+path}","compare_url":"https://api.github.com/repos/dawagner/parameter-framework/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dawagner/parameter-framework/merges","archive_url":"https://api.github.com/repos/dawagner/parameter-framework/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dawagner/parameter-framework/downloads","issues_url":"https://api.github.com/repos/dawagner/parameter-framework/issues{/number}","pulls_url":"https://api.github.com/repos/dawagner/parameter-framework/pulls{/number}","milestones_url":"https://api.github.com/repos/dawagner/parameter-framework/milestones{/number}","notifications_url":"https://api.github.com/repos/dawagner/parameter-framework/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dawagner/parameter-framework/labels{/name}","releases_url":"https://api.github.com/repos/dawagner/parameter-framework/releases{/id}","created_at":"2015-01-22T10:54:57Z","updated_at":"2015-04-24T08:50:14Z","pushed_at":"2015-08-06T11:24:29Z","git_url":"git://github.com/dawagner/parameter-framework.git","ssh_url":"git@github.com:dawagner/parameter-framework.git","clone_url":"https://github.com/dawagner/parameter-framework.git","svn_url":"https://github.com/dawagner/parameter-framework","homepage":"","size":36391,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"01org:master","ref":"master","sha":"73994f480d707412ea98d263995dac83993745fa","user":{"login":"01org","id":1635439,"avatar_url":"https://avatars.githubusercontent.com/u/1635439?v=3","gravatar_id":"","url":"https://api.github.com/users/01org","html_url":"https://github.com/01org","followers_url":"https://api.github.com/users/01org/followers","following_url":"https://api.github.com/users/01org/following{/other_user}","gists_url":"https://api.github.com/users/01org/gists{/gist_id}","starred_url":"https://api.github.com/users/01org/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/01org/subscriptions","organizations_url":"https://api.github.com/users/01org/orgs","repos_url":"https://api.github.com/users/01org/repos","events_url":"https://api.github.com/users/01org/events{/privacy}","received_events_url":"https://api.github.com/users/01org/received_events","type":"Organization","site_admin":false},"repo":{"id":16009363,"name":"parameter-framework","full_name":"01org/parameter-framework","owner":{"login":"01org","id":1635439,"avatar_url":"https://avatars.githubusercontent.com/u/1635439?v=3","gravatar_id":"","url":"https://api.github.com/users/01org","html_url":"https://github.com/01org","followers_url":"https://api.github.com/users/01org/followers","following_url":"https://api.github.com/users/01org/following{/other_user}","gists_url":"https://api.github.com/users/01org/gists{/gist_id}","starred_url":"https://api.github.com/users/01org/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/01org/subscriptions","organizations_url":"https://api.github.com/users/01org/orgs","repos_url":"https://api.github.com/users/01org/repos","events_url":"https://api.github.com/users/01org/events{/privacy}","received_events_url":"https://api.github.com/users/01org/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/01org/parameter-framework","description":"Plugin-based and rule-based framework for describing and controlling parameters","fork":false,"url":"https://api.github.com/repos/01org/parameter-framework","forks_url":"https://api.github.com/repos/01org/parameter-framework/forks","keys_url":"https://api.github.com/repos/01org/parameter-framework/keys{/key_id}","collaborators_url":"https://api.github.com/repos/01org/parameter-framework/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/01org/parameter-framework/teams","hooks_url":"https://api.github.com/repos/01org/parameter-framework/hooks","issue_events_url":"https://api.github.com/repos/01org/parameter-framework/issues/events{/number}","events_url":"https://api.github.com/repos/01org/parameter-framework/events","assignees_url":"https://api.github.com/repos/01org/parameter-framework/assignees{/user}","branches_url":"https://api.github.com/repos/01org/parameter-framework/branches{/branch}","tags_url":"https://api.github.com/repos/01org/parameter-framework/tags","blobs_url":"https://api.github.com/repos/01org/parameter-framework/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/01org/parameter-framework/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/01org/parameter-framework/git/refs{/sha}","trees_url":"https://api.github.com/repos/01org/parameter-framework/git/trees{/sha}","statuses_url":"https://api.github.com/repos/01org/parameter-framework/statuses/{sha}","languages_url":"https://api.github.com/repos/01org/parameter-framework/languages","stargazers_url":"https://api.github.com/repos/01org/parameter-framework/stargazers","contributors_url":"https://api.github.com/repos/01org/parameter-framework/contributors","subscribers_url":"https://api.github.com/repos/01org/parameter-framework/subscribers","subscription_url":"https://api.github.com/repos/01org/parameter-framework/subscription","commits_url":"https://api.github.com/repos/01org/parameter-framework/commits{/sha}","git_commits_url":"https://api.github.com/repos/01org/parameter-framework/git/commits{/sha}","comments_url":"https://api.github.com/repos/01org/parameter-framework/comments{/number}","issue_comment_url":"https://api.github.com/repos/01org/parameter-framework/issues/comments{/number}","contents_url":"https://api.github.com/repos/01org/parameter-framework/contents/{+path}","compare_url":"https://api.github.com/repos/01org/parameter-framework/compare/{base}...{head}","merges_url":"https://api.github.com/repos/01org/parameter-framework/merges","archive_url":"https://api.github.com/repos/01org/parameter-framework/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/01org/parameter-framework/downloads","issues_url":"https://api.github.com/repos/01org/parameter-framework/issues{/number}","pulls_url":"https://api.github.com/repos/01org/parameter-framework/pulls{/number}","milestones_url":"https://api.github.com/repos/01org/parameter-framework/milestones{/number}","notifications_url":"https://api.github.com/repos/01org/parameter-framework/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/01org/parameter-framework/labels{/name}","releases_url":"https://api.github.com/repos/01org/parameter-framework/releases{/id}","created_at":"2014-01-17T19:24:01Z","updated_at":"2015-08-03T06:55:31Z","pushed_at":"2015-08-06T11:24:29Z","git_url":"git://github.com/01org/parameter-framework.git","ssh_url":"git@github.com:01org/parameter-framework.git","clone_url":"https://github.com/01org/parameter-framework.git","svn_url":"https://github.com/01org/parameter-framework","homepage":"","size":48654,"stargazers_count":11,"watchers_count":11,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":20,"mirror_url":null,"open_issues_count":19,"forks":20,"open_issues":19,"watchers":11,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/01org/parameter-framework/pulls/156"},"html":{"href":"https://github.com/01org/parameter-framework/pull/156"},"issue":{"href":"https://api.github.com/repos/01org/parameter-framework/issues/156"},"comments":{"href":"https://api.github.com/repos/01org/parameter-framework/issues/156/comments"},"review_comments":{"href":"https://api.github.com/repos/01org/parameter-framework/pulls/156/comments"},"review_comment":{"href":"https://api.github.com/repos/01org/parameter-framework/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/01org/parameter-framework/pulls/156/commits"},"statuses":{"href":"https://api.github.com/repos/01org/parameter-framework/statuses/25a670dd7fc393e074582c47f3dfed298b27d72f"}}}}