Developing a DSL Graphical Notation in Java

Drawer QR in Java Developing a DSL Graphical Notation
CHAPTER 4 Developing a DSL Graphical Notation
Generating Denso QR Bar Code In Java
Using Barcode encoder for Java Control to generate, create Denso QR Bar Code image in Java applications.
411 Notation Design
Creating Barcode In Java
Using Barcode printer for Java Control to generate, create barcode image in Java applications.
Most people are familiar with the work of Edward Tufte (/wwwedwardtufte com/) on the visual display of information Although Tufte originally focused on the display of data, many of the concepts he presented can apply to the development of a graphical notation for your DSL If you ve read Tufte s books or attended his lectures, you know that he recommends that everyone use 30-inch monitors or better Being confined to an undersized, low-resolution monitor will kill your dreams of effectively modeling any domain using a diagramming surface The human brain is capable of processing a large amount of high-density information, more so than we are likely to display using the current 2D limitations of our underlying Graphical Editing Framework (GEF) infrastructure A proposed addition to GEF promises to provide support for 3D, which should introduce an opportunity to improve, yet complicate, the current situation One of Tufte s key messages is to not include gratuitous or redundant notational elements in your display of information For example, consider the Unified Modeling Language (UML) use case diagram Actors are associated with use cases, yet each actor is represented by a stick figure along with a role name label Typically, the stick figure is larger than the label Why not just have the text label indicating the role name and a link representing its association Why do we need the stick figure at all Or, if we must have a graphic, why not a simple label icon Because the stick figure is typically the same for all actors, no additional information is conveyed, and because the only other main figure is the use case oval connected by a line, it would not be hard to distinguish role names from their associated use cases The point is, we should strive to eliminate noise when designing a graphical notation Just because we have nifty tools such as GMF to produce graphical notations doesn t mean we should abandon these basic principles Arguably, GMF s default settings should produce clean diagrams instead of illustrate all its bells and whistles Another example to consider when designing your notation is the Ecore diagram and several diagrams like it that use icons to adorn each attribute and method In the absence of a distinguishing characteristic that indicates visibility, cardinality, or navigability, simply including an icon for these elements is gratuitous Icons do provide a degree of visual appeal ( eye candy ) for the diagram, but there should always be an option to hide such elements The book The UML Profile for Framework Architectures, by Marcus Fontoura, et al, offers a published example of how to improve the density of information of a UML class diagram In the book, an alternative display of inheritance information is added to a class to indicate either a flattened or a hierarchical representation Instead of simply adding a static icon for an attribute or
Barcode Recognizer In Java
Using Barcode decoder for Java Control to read, scan read, scan image in Java applications.
41 Design Considerations
QR Code Drawer In Visual C#.NET
Using Barcode generation for .NET Control to generate, create QR Code 2d barcode image in .NET framework applications.
method, a box is colored and positioned near each feature to denote visibility, refinement, abstraction, and so on It s a powerful visual effect that would be straightforward to implement using GMF Inlining graphics and text is another recommendation from Tufte, inspired at least in part by Galileo s records of observed astronomical phenomena Galileo included small, text-sized images of his observations within the sentences Tufte s sparklines are another example of inlining graphical information within text In designing graphical notations, consider including text and graphics in ways that leverage this method of enriching the display of information For example, consider how metric data could be added in the form of a sparkline to a UML class element Color is another powerful aspect to consider when designing a graphical notation Today color printers are common, which supports more use of color in notation, without the redundant use of text or other means of indicating the same meaning This book illustrates the use of color in the sample business domain diagram, as inspired by the book Java Modeling in Color with UML, by Peter Coad, et al The book quotes Tufte and others in a discussion on the proper use of color, stressing the importance on its thoughtful application and advising against using too many colors In general, two to four colors is best A gradient range of a single color on some diagrams can be effective because it is sometimes difficult to decide on colors to distinguish elements when there is no natural analog to consider For example, in the book Object-Oriented Metrics in Practice, by Michele Lanza and Radu Marinescu, metric values of classes are displayed using degrees of darkness, making certain elements come to immediate focus Other measures determine the relative size and shape, resulting in a powerful visual effect In summary, you must consider many aspects when designing a graphical notation Many good examples and many poor examples exist Most people can tell the difference, although you definitely should take into account advice from Tufte and other recognized experts, along with feedback from your Practitioners, of course
Print Denso QR Bar Code In .NET
Using Barcode printer for ASP.NET Control to generate, create QR image in ASP.NET applications.
Making QR Code In .NET Framework
Using Barcode generation for Visual Studio .NET Control to generate, create QR Code JIS X 0510 image in .NET framework applications.
ECC200 Generator In Java
Using Barcode printer for Java Control to generate, create DataMatrix image in Java applications.
EAN / UCC - 13 Printer In Java
Using Barcode drawer for Java Control to generate, create GTIN - 128 image in Java applications.
UPC-A Supplement 2 Drawer In Java
Using Barcode encoder for Java Control to generate, create UPC Code image in Java applications.
Create Bar Code In Visual C#
Using Barcode creator for .NET framework Control to generate, create bar code image in .NET framework applications.
ECC200 Maker In .NET
Using Barcode printer for Visual Studio .NET Control to generate, create DataMatrix image in .NET framework applications.
Draw Barcode In Visual Studio .NET
Using Barcode generator for .NET Control to generate, create barcode image in Visual Studio .NET applications.
Code 128 Code Set B Generation In .NET Framework
Using Barcode creator for VS .NET Control to generate, create Code 128 Code Set A image in .NET framework applications.