In a Use Case diagram, I have the following use cases, among others:
"Add An Annotation"
"Modify An Annotation"
"Delete An Annotation"
In turn, they form an association link to the use case, "Query Help Database".
Here's my problem. The system allows for three types of annotations: text, audio & audiovisual. It must specify what type of annotation to "add" or "modify" (ie, text, audio or audiovisual). Deleting an annotation requires no such specificity. Conceptually, I view the annotation types as public interfaces "implemented" by the "add" and "modify" annotation use cases, rather than "subclassing" the annotation types. The latter would later require multiple inheritance in C++, as both "add" & "modify" (in their eventual class forms), would provide the base classes to the annotation type subclasses (in their eventual class forms). As multiple inheritance is not widely implemented across programming languages, some other mechanism, such as delegation, would be needed. In short, I'd rather avoid using generalization links between the respective use cases and use interfaces instead.
What is the best approach to visually describe these "interfaces" in a use case diagram?
Thanks for your input.