Textbased Modeling

As modeling becomes a crucial activity in software development the question may be asked whether currently used graphical representations are the best option to model systems efficiently. This position paper discusses the advantages of text-based modeling over commonly used graphical representations. It is inspired through the advent of new extensible development tools like Eclipse. The discussion is illustrated by showing a textual version of UML state machines as Eclipse plugins. 1 Text-based Modeling Modeling becomes an increasingly important technique for the development of complex software systems. Nowadays, three different approaches are used for modeling: textual languages, graphical languages and combinations of text and graphic. The latter usually being dominated by graphics, where text is just a supplement. Currently, the UML is the most common visual approach for modeling, as it is both widely known and assisted by many tools developed in the last decade. Most of them do not allow to conveniently look at the textual parts. E.g. if only one method body is visible at a time in a pop-up window, then efficient comparison etc. is not possible. Therefore practical work with these tools often leads to manipulation of generated code and hence enforces a round-trip-approach. Experienced developers argue that a text-based approach with conventional editors is much more convenient. To assist an efficient agile, yet model-based development process, we have developed a framework called MontiCore [12] in the last two years, which supports text-based modeling. In contrast to generic approaches like [15] an arbitrary concrete syntax can be used for a modeling language which increases its usability. MontiCore offers several textual languages for different purposes like a textual version of UML/P [19, 20] including OCL, languages for feature modeling, and a language for architectural description. This paper discusses the advantages of text-based modeling based on the experiences we made so far. These experiences indicate that there are indeed some advantages over the currently dominating graphical-based approach. These advantages are partially permanent and partially will disappear, when the tooling (editors, visualization, incremental code generation, context checks on models) will be considerably improved. However, [GKR+07] H. Grönniger, H. Krahn, B. Rumpe, M. Schindler, S. Völkel.