In this chapter we demonstrate how Codecharts can be used in ways that do not conform to the narrow definition of our design description language. In §13.1 we discuss deriving various visual dialects of Codecharts using ad hoc edge styles. And in §13.2 we discuss a possible extension to the language of Codecharts that supporting the notion of information hiding.
Clutter in Codecharts is possible despite the many abstraction mechanisms provided in previous chapters. Clutter is unfortunate: Program roadmaps should at all times convey as clear a picture as possible. Additional techniques for avoiding clutter and promote program visualization should therefore also be considered. Ad hoc edge styles are one option.
Ad hoc visual symbols can be used to reduce clutter when the same relation symbol recurs many times in a Codechart or when we wish to set some relation symbol apart from all others. In particular, ad hoc edge styles that may be considered include different arrowheads and various dashed styles àla UML. In such cases, a glossary of the ad hoc symbols must be supplied.
For example, in modelling the relation between classes and their metaclasses in Smalltalk-80 we can substitute the binary relation symbols Inherit and InstanceOf with specific symbols, as demonstrated in Codechart 100. Arguably, the result is clean enough to warrant enriching the visual language with new symbols.