O'Reilly logo

Codecharts: Roadmaps and blueprints for object-oriented programs by J. Nicholson, Amnon H. Eden

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 13

* Advanced Modelling Techniques

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.

13.1 AD HOC SYMBOLS

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.

Codechart 100. Metaclasses in Smalltalk-80 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required