Thanks Dan,

I will modify the diagram with proper notations and reply with
explanations..


On Thu, Apr 3, 2014 at 12:31 PM, Dan Haywood
<[email protected]>wrote:

> On 2 April 2014 08:09, Dileepa Jayakody <[email protected]> wrote:
>
> > Hi All,
> >
> > After doing some background reading on Reputation object modeling [1],
>
>
> (good to hear)
>
>
> > I
> > have extended my class diagram to describe the reputation analysis model
> in
> > my application : http://yuml.me/c97453ec
> >
> >
> There are some discrepancies between this diagram and the description
> below...
>
>
>
> > An entity
>
>
> Not sure if having an entity called "entity" is a particularly good idea;
> could get confusing...
>
>
>
> > has a reputation
>
>
> The diagram shows the "entity" entity as having many reputations.
>
>
>
> > which describes it's value. EmailContact, Email
> > are the 2 entity objects in my application.
> >
>
> The diagram shows EmailContact and Email as having (an association with) an
> "entity", rather than being (implementing) entity.  But I think the latter
> is probably what you want; Entity is an interface and EmailContact and
> Email implement them.
>
>
>
> > Reputation is an interface implemented by ReputationObject class.
> >
>
> The diagram doesn't show this, it shows an association.
>
> In yuml.me, think that is shown using RepuationObject -^ Reputation
>
> Also, ReputationObject isn't a particular great name.  Why have Reputation
> as an interface at all; as I understand it there's likely only one impl.
>
>
>
>
> > Reputation has a particular context/domain in which it isearned
> (eCommerce,
> > films, technical forums etc ),
>
>
> Reputation *->1 Context
>
>
> > in this case the context is email
> > communication. The reputation's value is represented by the
> ReputationValue
> > object which is calculated based on a certain criteria (In my case the
> > criteria are People associated with the email, topic and actions in the
> > email). Criteria defines the required parameters and the
> > ComputationAlgorithm to be used to calculate reputation value.
> >
>
>
> > The reputation value is calculated by the particular ComputationAlgorithm
> > using the parameters given by the criteria. This is where the
> > implementation specific stuff comes in for calculation. Mahout
> > recommendation algorithms, Drools rules are implementations of such
> > ComputationAlgorithms.
> >
> >
> From an implementation standpoint, my first pass would be to implement
> ComputationAlgorithm as an enum.  That way it can be polymorphically
> dispatched to.
>
> Overall, I like the way that the domain is getting richer.  But I do still
> worry pragmatically about where these entities are all to be persisted, and
> how to they are sync'ed.  Perhaps you could extend the diagram and use
> stereotypes to indicate for each entity whether its native persistence is
> in Isis, or Mahout, or gmail, or somewhere else.
>
> Could also indicate if types are entities or value types.
>
> HTH
> Dan
>
>
> > [1] Adrian Paschke, Rehab Alnemr, Christoph Meinel, The Rule Responder
> > Distributed Reputation Management System for the Semantic Web
> >
> >
>

Reply via email to