5

In English parlance, the term 'event' is used interchangeably to mean either of:

  • a thing which happened at a point in time (strict physics meaning, computer logs etc)
  • a thing which has a known start time and duration (eg a birthday party, municipal event etc)

In my domain language I need to distinguish between these two concepts, since both need to be expressed in the domain.

What terms have people used for this in the past. I'm going to add as answers some of the attempts I've had in the past, but I don't like them or I wouldn't be asking...


I considered using the terms Event vs Period, but:

Period is normally used to define chunks of time parcelled out evenly, and regularly (eg Month, or Reporting Period)

Event on its own is still then ambiguous


In a previous project we used the terms Point Event and Range Event, but these seem pretty artificial and clunky, and still don't immediately convey the semantics to someone outside the domain.

closed as primarily opinion-based by gnat, amon, Thomas Owens Aug 11 '17 at 16:30

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • The first bullet is an event. The second is an interval or time range, if you like, though that leaves out the concept of a start time. Note that calendars (which always contain a duration) call them events or appointments. – Robert Harvey Aug 9 '17 at 3:34
  • 1
    Are they in the same bounded context? If not, there shouldn't be any ambiguity as long as you have a technical way (namespaces, packages) of prefixing Event with the relevant bounded context name. – guillaume31 Aug 9 '17 at 8:11
  • Computer logs etc are technical concerns and are not part of your domain, therefore your ubiquitous language. If you are talking to your business experts about system event logs, you are doing something wrong, if somehow think you are talking about social events you are doing something very, very wrong. Otherwise, there shouldn't be any problem, just put them in different namespaces (packages, modules whatever). – abuzittin gillifirca Aug 9 '17 at 8:27
  • If you choose any other name/synonym, would not be you continously translating when speaking to the "domain expert"? If yes, how would do that affect the UL? – Laiv Aug 9 '17 at 11:41
  • @Laiv at the moment we're constantly having to clarify whether we mean an instantaneous event or a period-of-time. Still trying to bed down the UL. Hence the question... – piers7 Aug 9 '17 at 13:01
2

A quick visit to thesaurus.com might give you some ideas.

For example, check these out:

Maybe you could go with something like incident vs event, or occurrence vs event. Also, if possible, contact your domain experts (people who actually work in the domain you are modeling) and ask them how they distinguish between the two - maybe they already have some terms in place.

1

Time is a slippery concept. Formal meaning is hard to find in universal terms. Here are the most relevant ones I could find. As the designer of your domain language it's up to you to decide what each means exactly in your domain.

Timespan - the period of time between two events or during which an event continues macmillandictionary.com

Duration – Informally, duration is the measure of continuance of any object or event within time. In philosophy, it refers more specifically to Henri Bergson’s theory of subjective and ineffable time that can only be grasped through a simple intuition of the imagination.

Interval – The duration of time between two events, or the period of time marked off by two events.

Event – An object, physical situation or occurrence in time. Or, from the point of view of relativistic physics, a particular location in space-time (i.e. a point in space at an instant in time). Space-time as a whole is a collection of an infinite number of events.

Time – A dimension in which events can be ordered from the past through the present and into the future, and also the measure of durations of events and the intervals between them. Time can be seen as the indefinite continued progress of existence and events in the past, present, and future, regarded as a whole.

exactlywhatistime.com

0

What terms have people used for this in the past. I'm going to add as answers some of the attempts I've had in the past, but I don't like them or I wouldn't be asking...

There's not a lot in the literature.

There are a few influences you might be able to draw upon. Fundamentally, every recorded event is an Observation: X happened is shorthand for We observed side effects we attributed to X. Sometimes people will use Fact here.

In most cases, an event is a reaction to a Change somewhere (in some cases, the change is simply the time of the observation).

You can look to ISO-8601 for inspiration, but I don't find those two things satisfactory; they are adequate for describing representations of time, but not particularly good at identifying things happening during various time intervals.

In my domain language I need to distinguish between these two concepts, since both need to be expressed in the domain.

Are you sure? If the same word is being used the domain to mean the same thing, then maybe in that domain they are the same thing.

a point in time is kind of a suspect construction; in practice, most times that we discuss are approximate. "The event starts at 6" isn't a precise description of the timing, but rather a tag that indicates that the period in question is an interval that (probably) contains the moment 6.

So that would be my first guess, that all events are Events, and they all have a Period associated with them, which may be wide or narrow.

One possibility is to dig around in schema.org, looking to see if there is a spelling that aligns with the concepts you want to distinguish.

http://schema.org/Event

An event happening at a certain time and location, such as a concert, lecture, or festival

That's not bad, but finding the alternative might be tricky

http://schema.org/AchieveAction

The act of accomplishing something via previous efforts. It is an instantaneous action rather than an ongoing process.

Actions have status, that includes states like http://schema.org/CompletedActionStatus

I didn't find anything obviously satisfactory. The approach I would recommend is to find a domain roughly in alignment with yours, and then explore:

The bottom of each of those has a "More Specific Types" entry that may include a useful thread to pull.

Naming is one of the two hard problems.

Not the answer you're looking for? Browse other questions tagged or ask your own question.