cofm: an environment for collaborative feature modeling li yi institute of software, school of eecs,...
TRANSCRIPT
![Page 1: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/1.jpg)
CoFM:An Environment for Collaborative Feature Modeling
Li YiInstitute of Software, School of EECS, Peking UniversityKey Laboratory of High Confidence Software Technology,
Ministry of Education of China
2010.11
![Page 2: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/2.jpg)
AgendaMotivationThe CoFM
Concepts Process Tool Support Cases
Summary & Future Work
![Page 3: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/3.jpg)
AgendaMotivationThe CoFM
Concepts Process Tool Support Cases
Summary & Future Work
![Page 4: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/4.jpg)
Challenges in FM Construction
Most existing feature modeling approaches treat the collaboration between stakeholders as a key
Few of them provide explicit support for such collaborationThe collaboration is often impacted by the limit of time and location of the stakeholders
Efficiency of the collaboration is often unsatisfied
The collaboration is usually domain-analyst-centricFMs are hard to construct (time-consuming and error-prone) and maintain
![Page 5: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/5.jpg)
Basic idea of our approach
Provide an environment in which stakeholders can gather features and
relations among features of a domain, as many as possible
from which a stakeholder (e.g. a domain analyst) can extract all or part of the gathered features and relations to form a legal domain feature model
How?Stakeholders create new elements in a shared space.
They vote on existing elements to support or oppose the elements’ existence in the shared space.
Elements are extracted into their personal spaces based on their voting operations. (Support = In; Oppose = Out)
![Page 6: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/6.jpg)
Basic idea (cont.)The shared space is an extended
feature model (EFM) In an EFM, we tolerate conflicts
The personal spaces are traditional feature models “Legal”, no conflicts Make a choice within conflicting elements in EFM
(by voting)
![Page 7: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/7.jpg)
AgendaMotivationThe CoFM
Concepts Process Tool Support Cases
Summary & Future Work
![Page 8: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/8.jpg)
The meta-model of EFMs
+supporters+opponents
RelationshipElement
Feature
Refinement
Constraint
+parent
1
*
1
* +child
* *
EFM
*
Name
Description
Optionality
Stakeholder
View
Global
Working
Personal
Operation
Create Vote
1
*
1
1
1
1
Has attribute
*
1
1
1..*
* *
![Page 9: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/9.jpg)
The voting operationVoting options: YES or NO
Support or oppose an element’s existence in the EFM
Voting inference Ensure consistent votes from a certain stakeholder
a NO vote
a YES voteA
B
requires
A should require B;B should NOT exist;
Inconsistency
An example of inconsistent votes
requires
A
B
![Page 10: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/10.jpg)
Voting inference rulesRule 1: Vote YES on relation R Vote
YES on each feature which is involved in R Existence of a relation requires the existence of its
involved features
Rule 2: Vote NO on feature F Vote NO on each relation which involves F
a NO vote
a YES vote
A
B
An example of inferred votes
A
B
A
B
inferred
inferred
A
B
inferredA
B
![Page 11: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/11.jpg)
Special voting inference rule
Rule 2a: Create an element E Vote YES on E
Rule 2b: All votes on E are NO Remove E from the EFM
NOTES
When counting the votes, we do NOT distinguish explicit votes from inferred (implicit) votes.
If a stakeholder votes more than once (explicitly or implicitly) on an element, only the last vote counts.
![Page 12: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/12.jpg)
Views for an EFMGlobal View
= all elements
Personal View for User X = all elements on which X has voted YES
Working View for User X = all elements on which X hasn’t voted NO = elements voted YES by X + elements
created by others and haven’t voted by X
The EFM itself
The personal spaces
![Page 13: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/13.jpg)
Resolving conflictsAim: no conflicts in the personal view
How: 1. Perform conflict detection in the working view 2. The stakeholder make a choice from the
conflicting elements by voting YES or NO. 3. Perform conflict detection in the working view
again, if there is no conflict anymore, there surely is no conflict in the personal view
![Page 14: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/14.jpg)
An example
A B
C
Initial Working Viewrequires
excludes
These relations may be created by different people
A B
C
VoteN
A BCResulting Working View
No conflict is possible in the personal view now.
![Page 15: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/15.jpg)
Types of conflictConflicting constraints
Occurs in traditional feature models as well.
Multi-positioned feature (conflicting refinements)
P1 P2
F
refines
Example
refines
These refinements may be created by different people
![Page 16: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/16.jpg)
AgendaMotivationThe CoFM
Concepts Process Tool Support Cases
Summary & Future Work
![Page 17: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/17.jpg)
Collaboratively constructing EFMs
An Online Updating strategy
Each operation is sent to the central FM when submitted
A valid operation is broadcasted to all sites
An invalid operation is undone at its original site
FM
![Page 18: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/18.jpg)
A
User 1
User 2
User 3A
Broadcast…
Send to…
The EFM
A
A U1 Create A
An example
![Page 19: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/19.jpg)
A
User 1
User 2
User 3A
A
A
C
C
C
C
U1 Create AU2 Create C
The EFM
![Page 20: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/20.jpg)
A
User 1
User 2
User 3A
A
A
C
C
C
C
B
B
B
B
Vote NO
XX
The EFM
![Page 21: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/21.jpg)
A
User 1
User 2
User 3A
A
A
C
C
C
C
B
B
B
B
The EFM
Vote NO
Vote NO
U1 Create AU2 Create CU1 Create BU3 Vote NO on B & CU1 Vote NO on CU2 Vote NO on B
![Page 22: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/22.jpg)
A
User 1’s personal view
User 2’s personal view
User 3’s personal view
A
A
A
U1 Create AU2 Create CU1 Create BU3 Vote NO on B & CU1 Vote NO on CU2 Vote NO on B
A: supported by 3 / 3B: supported by 1 / 3C: supported by 1 / 3The EFM
Result
CB
B
C
![Page 23: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/23.jpg)
Coordinate operations from multiple users
Serialized processing strategy
The ClientSEND (o: Operation) Send operation o to the server. The ServerRECEIVE (o: Operation) Put o at the end of Operation_Queue.
MAIN_PROCESS p The first operation in the Operation_Queue. if (p is valid) Execute p on the EFM. Broadcast p. else if (p can be transformed)
q transformed(p) Execute q on the EFM. Broadcast q. else Inform the invalidity of p to its originator.
![Page 24: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/24.jpg)
Operation transformation
Original operation
When it is invalid Transformed it to the following valid operation(s)
Create a feature named X
The name ‘X’ has already existed in current FM.
If X has been used by the feature of the ID F:Vote ‘YES’ on feature F;Vote ‘YES’ on the name X.
Create an alias X for some feature
The name ‘X’ has already existed in current FM.
Vote ‘YES’ on the name X.
Create a value V for an attribute of some feature
The value ‘V’ has already existed in this feature.
Vote ‘YES’ on V.
Create a relation R
R has already existed in current FM.
Vote ‘YES’ on R.
Create a relation R
R involves non-existing feature(s).
(Cannot be transformed.)
Vote on an element
This element does not exist.
(Cannot be transformed.)
An invalid operation will be transformed into valid operation(s), if any. The original operation and the transformed operation(s) have the same semantics.
Operations that cannot be transformed will fail and be undone at its originator’s site.
![Page 25: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/25.jpg)
AgendaMotivationThe CoFM
Concepts Process Tool Support Cases
Summary & Future Work
![Page 26: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/26.jpg)
Tool Support for CoFMC/S architectureSupport for concepts and process
introduced beforeSupport for communication via
comments and discussion pages
Support for customize new classes, relations and attributes
![Page 27: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/27.jpg)
The main modeling page
Feature Browser
Feature Editor
Miscellaneous Info
![Page 28: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/28.jpg)
AgendaMotivationThe CoFM
Concepts Process Tool Support Cases
Future Work
![Page 29: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/29.jpg)
Uses of the CoFM toolFeature request for tools being
developed in our research group, including CoFM itself
Domain analysis (including 2 cases)Case Intro # of
Features# of Participants
Time
Music Player Domain feature model for music playing software such as iTunes. It is a familiar domain to the participants.
158 3 About 1.5 hours
Job Finding Website
Domain feature model for job finding websites. It is an unfamiliar domain to the participants.
113 4 About 3 hours
![Page 30: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/30.jpg)
Results from the Job Finding Website case
![Page 31: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/31.jpg)
Results: contribution among participants
Participant
Number of features extracted into the personal view
Total Created by this participant
Created by others
P1 91 21 (23.1%) 70
P2 87 37 (42.5%) 50
P3 94 34 (36.2%) 60
P4 104 21 (20.2%) 83By collaborating with others, now the
participants work less, but get more. For each participant, up to 80% extracted features are
created by others and reused by the participant. The participants report that “it is easier to review an
existing feature than to think of a new one,” therefore their work load is reduced.
![Page 32: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/32.jpg)
Results: Support rate in collected features
83 (74%)
24 (21%)
5 (4%)1 (1%)
Total: 113 features
Common Supported by 3 peopleSupported by 2 peopleUnique
This data may be helpful for discovering domain variability
![Page 33: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/33.jpg)
Results: Phases of the work
20 40 60 80 1001201401601800
20
40
60
80
100
120
140
Newly created in last 20 minsChanged in last 20 minsUnchanged in last 20 mins
Time passed (in minutes)
Nu
mb
er
of
Featu
res
43
82
122128
117 121111
120113
Brainstorming Phase Evaluation Phase
![Page 34: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/34.jpg)
Phases of the workBrainstorming phase
A large number of features are collected in a short period of time.
Parallel creation happens in different parts of the feature model.
Evaluation phase The total number of feature changes slightly. Participants focus on improving and refining raw
features• Remove redundant features• Improve unclear features• Find missing features• Add constraints between features• Extracting desired elements into their personal
views (by voting)
![Page 35: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/35.jpg)
AgendaMotivationThe CoFM
Concepts Process Tool Support Case s
Summary & Future Work
![Page 36: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/36.jpg)
SummaryCoFM provides a simple but effective
way to support collaborative feature modeling stakeholders can gather features and relations
among features of a domain into an extended feature model, as many as possible
a stakeholder (e.g. a domain analyst) can extract all or part of the extended feature model to form a traditional domain feature model
Preliminary cases give positive results Efficiency of feature modeling can be improved
![Page 37: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/37.jpg)
Future WorkFunctions of the tool, such as
Provide statistics about feature models for the users
Calculate confidence/priority of users’ operation
More cases With larger scale, more people, and more
distributed
Do a comparison experiment with traditional (single person) feature modeling
![Page 38: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence](https://reader038.vdocuments.us/reader038/viewer/2022110101/56649ec75503460f94bd33d9/html5/thumbnails/38.jpg)
Thank you!!
Q&A