Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Unifying  SubjectivityDaniel Langone, Jorge Ressia    and Oscar Nierstrasz
Subjective:Based on or influenced by personalfeelings, tastes, or opinions.                                     d Dict iona...
Ben’s                                    Dave’s                        addAndRecord: 200.00      BankAccount              ...
PreviousApproaches
Perspectives           RolesContext-oriented   Subjective Method Programming           Behavior
Perspectives           RolesContext-oriented   Subjective Method Programming           Behavior
Perspectives           RolesContext-oriented   Subjective Method Programming           Behavior                           ...
)$5$*6$&7!"#$%   !&&(&)$*+%&,-.//0//   !"#$%1$%#2$*34$
!#)*+,"!#$%&&(#)   !--%#-.+&,-/0122322   !"!#$%&&(#)4+,56+&78+                                                         9!:...
Perspectives           RolesContext-oriented   Subjective Method Programming           Behavior
Perspectives           RolesContext-oriented   Subjective Method Programming           Behavior                           ...
Perspectives           RolesContext-oriented   Subjective Method Programming           Behavior
Perspectives           RolesContext-oriented   Subjective Method Programming           Behavior                           ...
aBankAccount     addAndRecord: rootLayer                addAndRecord: userLayer               addAndRecord: bankLayer
Perspectives           RolesContext-oriented   Subjective Method Programming           Behavior
Perspectives           RolesContext-oriented   Subjective Method Programming           Behavior                           ...
allowRecord                               balance := balance + aNumber  recordAllowed            Method Determinant       ...
Problems
Single point of view
Group programming
Group programming                      US                        Ungar 1996          Sm   it h and
Mail Delivery
Mail Delivery                            havior                e Met hod Be 04       Subjectiv nd Prieto 20        Dard er...
Modeling Context
Perspectives           RolesContext-oriented   Subjective Method Programming           Behavior
?Context-oriented Perspectives     Roles Programming
?Subjectopia Context-oriented  Perspectives      Roles  Programming
SubjectDecision             ContextualStrategy              Element
Subjects
Decision Strategies
addAndRecord: 200aUser                               aBankAccount                             aDecisionStrategy           ...
Contextual Elements
aUser                                        aBankAccount           aContextualElement        addAndRecord: 200           ...
Unified Subjectivity       Model
SubjectDecision             ContextualStrategy              Element
Model previous approaches
PerspectivesPerspectiveDecisionStrategy ContextualElement+decideOn:                 +decideOn:   «uses»                   ...
COP                           ContextualElement                           +decideOn:COPDecisionStrategy   «uses»     Layer...
Roles                            ContextualElement                            +decideOn:RoleDecisionStrategy   «uses»     ...
SMB              DecisionStrategy              +decideOn:ForceDeterminant           MethodDeterminant‐forceCondition‐trueD...
Examples
moosetechnology.org
Moose Groups  Elements
Entities                         Method    Class                             Parameter            Annotation            At...
Moose Groups                  MethodGroup    ClassGroup                      ParameterGroup         AnnotationGroup       ...
Subjective Menus
o mpl exityS     m Ccasse 2003  yste Du      Lanza,
!"##$%&#()**            !B%:3+%C:/#-**      $1$0%67#6)8%9301**                                                            ...
MooseModel                    ContextualElement‐models             FamixEntitiesForInterface             ‐famixEntities   ...
MooseModel                    ContextualElement‐models             FamixEntitiesForInterface             ‐famixEntities   ...
MooseModel                    ContextualElement‐models             FamixEntitiesForInterface             ‐famixEntities   ...
Implementation
Dynamic Adaptation
scg.unibe.ch/research/        bifrost
ClassObject
Class         Subject Meta-objectObject
Class          Subject Meta-objectSubject
Subjectopia                Subject     Decision             Contextual     Strategy              Elementscg.unibe.ch/resea...
Subjectopia tools2011
Subjectopia tools2011
Subjectopia tools2011
Subjectopia tools2011
Subjectopia tools2011
Subjectopia tools2011
Subjectopia tools2011
Subjectopia tools2011
Subjectopia tools2011
Subjectopia tools2011
Subjectopia tools2011
Subjectopia tools2011
Subjectopia tools2011
Subjectopia tools2011
Subjectopia tools2011
Subjectopia tools2011
Subjectopia tools2011
Subjectopia tools2011
Subjectopia tools2011
Upcoming SlideShare
Loading in …5
×

Subjectopia tools2011

1,036 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Subjectopia tools2011

  1. 1. Unifying SubjectivityDaniel Langone, Jorge Ressia and Oscar Nierstrasz
  2. 2. Subjective:Based on or influenced by personalfeelings, tastes, or opinions. d Dict ionary Oxfor
  3. 3. Ben’s Dave’s addAndRecord: 200.00 BankAccount BankAccounttransfer: 200.00 to:DavesBankAccount addAndRecord: 200.00 Ben Dave
  4. 4. PreviousApproaches
  5. 5. Perspectives RolesContext-oriented Subjective Method Programming Behavior
  6. 6. Perspectives RolesContext-oriented Subjective Method Programming Behavior
  7. 7. Perspectives RolesContext-oriented Subjective Method Programming Behavior US Ungar 1996 Sm it h and
  8. 8. )$5$*6$&7!"#$% !&&(&)$*+%&,-.//0// !"#$%1$%#2$*34$
  9. 9. !#)*+,"!#$%&&(#) !--%#-.+&,-/0122322 !"!#$%&&(#)4+,56+&78+ 9!:!#&+0/;09!:!#&+0<0122322 !"!#$%&&(#)
  10. 10. Perspectives RolesContext-oriented Subjective Method Programming Behavior
  11. 11. Perspectives RolesContext-oriented Subjective Method Programming Behavior Beta stensen 1995 Kri
  12. 12. Perspectives RolesContext-oriented Subjective Method Programming Behavior
  13. 13. Perspectives RolesContext-oriented Subjective Method Programming Behavior Con textL 2005 nd Hir schfeld ostanza a C
  14. 14. aBankAccount addAndRecord: rootLayer addAndRecord: userLayer addAndRecord: bankLayer
  15. 15. Perspectives RolesContext-oriented Subjective Method Programming Behavior
  16. 16. Perspectives RolesContext-oriented Subjective Method Programming Behavior Sm alltalk 2004 es and Prieto D arder
  17. 17. allowRecord balance := balance + aNumber recordAllowed Method Determinant Sender Identity ForceForce Determinant denyRecord self error: ‘Rejected!’ Method Determinant
  18. 18. Problems
  19. 19. Single point of view
  20. 20. Group programming
  21. 21. Group programming US Ungar 1996 Sm it h and
  22. 22. Mail Delivery
  23. 23. Mail Delivery havior e Met hod Be 04 Subjectiv nd Prieto 20 Dard eres a
  24. 24. Modeling Context
  25. 25. Perspectives RolesContext-oriented Subjective Method Programming Behavior
  26. 26. ?Context-oriented Perspectives Roles Programming
  27. 27. ?Subjectopia Context-oriented Perspectives Roles Programming
  28. 28. SubjectDecision ContextualStrategy Element
  29. 29. Subjects
  30. 30. Decision Strategies
  31. 31. addAndRecord: 200aUser aBankAccount aDecisionStrategy aDecisionStrategy Decision strategy for addAndRecord: aDecisionStrategy
  32. 32. Contextual Elements
  33. 33. aUser aBankAccount aContextualElement addAndRecord: 200 aDecisionStrategy aDecisionStrategy aContextualElement aDecisionStrategy
  34. 34. Unified Subjectivity Model
  35. 35. SubjectDecision ContextualStrategy Element
  36. 36. Model previous approaches
  37. 37. PerspectivesPerspectiveDecisionStrategy ContextualElement+decideOn: +decideOn: «uses» PerspectiveLayer Piece Perspective ‐pieces ‐forMessage ‐rootLayer ‐layerParent ‐forObject +decideOn: +decideOn: +decideOn:
  38. 38. COP ContextualElement +decideOn:COPDecisionStrategy «uses» Layer+decideOn: +decideOn:
  39. 39. Roles ContextualElement +decideOn:RoleDecisionStrategy «uses» Role+decideOn: +decideOn:
  40. 40. SMB DecisionStrategy +decideOn:ForceDeterminant MethodDeterminant‐forceCondition‐trueDeterminant +decideOn:‐falseDeterminant+decideOn:
  41. 41. Examples
  42. 42. moosetechnology.org
  43. 43. Moose Groups Elements
  44. 44. Entities Method Class Parameter Annotation AttributeNamespace Package
  45. 45. Moose Groups MethodGroup ClassGroup ParameterGroup AnnotationGroup AttributeGroupNamespaceGroup PackageGroup
  46. 46. Subjective Menus
  47. 47. o mpl exityS m Ccasse 2003 yste Du Lanza,
  48. 48. !"##$%&#()** !B%:3+%C:/#-** $1$0%67#6)8%9301** +% "##$%&#() B%:3$3#-50!0%<1 B%:3$3#-50!0%<1!++*,!-.-/01 ()+!0% ? 23%451$0%6 7#6)8%9301 @ 23%451$0%6 A 7#6)8%9301 +%:3+%;-*, !"%$$!<%5%-+=->#6!/#-
  49. 49. MooseModel ContextualElement‐models FamixEntitiesForInterface ‐famixEntities * 1 ModelBag ‐models ‐GUIInstance «uses»
  50. 50. MooseModel ContextualElement‐models FamixEntitiesForInterface ‐famixEntities * 1 ModelBag ‐models ‐GUIInstance «uses»
  51. 51. MooseModel ContextualElement‐models FamixEntitiesForInterface ‐famixEntities * 1 ModelBag ‐models ‐GUIInstance «uses»
  52. 52. Implementation
  53. 53. Dynamic Adaptation
  54. 54. scg.unibe.ch/research/ bifrost
  55. 55. ClassObject
  56. 56. Class Subject Meta-objectObject
  57. 57. Class Subject Meta-objectSubject
  58. 58. Subjectopia Subject Decision Contextual Strategy Elementscg.unibe.ch/research/subjectopia

×