TagSEA 0.6.6

Tags for Software Engineering Activities in Eclipse

Terminology

The usage of the terms tag and waypoint may be hard to get used to because they are not often used in conjunction with one another. However, they really do enrich one another when combined. An anecdotal illustration may be helpful to understand how they are used.

Suppose you are moving homes, and you have everything packed in boxes for the move. You would like to be able identify the boxes according to the room that they should go in in the new house. You have only one kitchen in the new house, so you mark all of the boxes that go to the kitchen with the word "kitchen". You have several bathrooms in the new house, however, so you have to distinguish those boxes differently. So, you mark all of the "bathroom" boxes with the word "bathroom", but you also mark some with the word "upstairs" and others with the word "downstairs."

This illustration demonstrates the basics of tagging and waypointing. In this instance, the words that you used to mark the boxes are the tags. They are short, descriptive words that mark a box as interesting. The boxes, however, are waypoints: they are the places that tags exist.

You'll notice that the correspondance between tags and waypoints is many-to-many. That is the same tag can be used on multiple waypoints (places), and the waypoints can have multiple tags.

There is a natural, though more abstract, mapping of the concepts of tags and waypoints to software artifacts. In TagSEA, tags are short, descriptive words that "tag" an artifact as interesting. Waypoints are related to those artifacts themselves. The waypoint is the location inside the artifact that describes "where" and "what" can be found there. The waypoint contains all of the descriptive information for the location. For example, it could be a line inside a text file, along with the file itself, and the tags that exist there.


Tags for Software Engineering Activities in Eclipse (TagSEA)
is a research collaboration between the University of Victoria's Computer Human Interaction & Software Engineering Lab and the IBM Watson Research Centre.