Frameworks Generate Domain-Specific Languages: A Case Study in the Multimedia Domain

We present an approach to software framework development that includes the generation of domain-specific languages (DSLs) and pattern languages as goals for the process. Our model is made of three workflows-framework, metamodel, and patterns-and three phases-inception, construction, and formalization. The main conclusion is that when developing a framework, we can produce with minimal overhead-almost as a side effect-a metamodel with an associated DSL and a pattern language. Both outputs will not only help the framework evolve in the right direction, but will also be valuable in themselves. In order to illustrate these ideas, we present a case study in the multimedia domain. For several years, we have been developing a multimedia framework. The process has produced a full-fledged domain-specific metamodel for the multimedia domain, with an associated DSL and a pattern language.

[1]  Xavier Amatriain,et al.  A dataflow pattern catalog for sound and music computing , 2006, PLoP '06.

[2]  Anne Rogers,et al.  Hancock: a language for processing very large-scale data , 1999, DSL '99.

[3]  Marvin V. Zelkowitz,et al.  Experimental validation in software engineering , 1997, Inf. Softw. Technol..

[4]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .

[5]  Brian Foote,et al.  Designing Reusable Classes , 2001 .

[6]  Xavier Amatriain,et al.  A Domain-Specific Metamodel for Multimedia Processing Systems , 2007, IEEE Transactions on Multimedia.

[7]  Oscar Pastor,et al.  Model-Driven Development , 2008, Informatik-Spektrum.

[8]  Marian Petre,et al.  Usability Analysis of Visual Programming Environments: A 'Cognitive Dimensions' Framework , 1996, J. Vis. Lang. Comput..

[9]  J. Craig Cleaveland,et al.  Building application generators , 1988, IEEE Software.

[10]  M Mernik,et al.  When and how to develop domain-specific languages , 2005, CSUR.

[11]  Lubor SESERA Softec Hierarchical Patterns : A Way to Organize ( Analysis ) Patterns , 2013 .

[12]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture: A System of Patterns: John Wiley & Sons , 1987 .

[13]  Hany H. Ammar,et al.  Pattern-Oriented Analysis and Design: Composing Patterns to Design Software Systems , 2003 .

[14]  Guillermo Arango,et al.  A brief introduction to domain analysis , 1994, SAC '94.

[15]  Bedir Tekinerdogan,et al.  Developing object-oriented framworks using domain models , 2000, CSUR.

[16]  Edward A. Lee,et al.  Dataflow process networks , 1995, Proc. IEEE.

[17]  Arie van Deursen,et al.  Domain-Specific Languages versus Object-Oriented Frameworks: A Financial Engineering Case Study , 1997 .

[18]  Bent Bruun Kristensen,et al.  Characterising patterns in framework development , 1997, Proceedings. Technology of Object-Oriented Languages and Systems, TOOLS 25 (Cat. No.97TB100239).

[19]  Pau Arumí,et al.  Real‐time 3D audio for digital cinema , 2008 .

[20]  Tony Clark,et al.  Model-driven development - Guest editor's introduction , 2003 .

[21]  Arie van Deursen,et al.  Domain-specific languages: an annotated bibliography , 2000, SIGP.

[22]  Pau Arumí,et al.  Time-triggered static schedulable dataflows for multimedia systems , 2009, Electronic Imaging.

[23]  Ralph Johnson Documenting frameworks using patterns , 1992, OOPSLA 1992.

[24]  Cecilia Mascolo,et al.  The SATIN Component System-A Metamodel for Engineering Adaptable Mobile Systems , 2006, IEEE Transactions on Software Engineering.

[25]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process , 2001 .

[26]  Xavier Amatriain CLAM: A Framework for Audio and Music Application Development , 2007, IEEE Software.

[27]  Wolfgang Pree,et al.  Design Patterns for Object-Oriented Software Development , 1994, Proceedings of the (19th) International Conference on Software Engineering.

[28]  Donald Roberts Evolve Frameworks into Domain-Specific Languages , 1997 .

[29]  张利生 谈谈 metaphor 的结构 , 1991 .

[30]  David García,et al.  A framework for efficient and rapid development of cross-platform audio applications , 2008, MM '06.

[31]  Ralph E. Johnson,et al.  Patterns Generate Architectures , 1994, ECOOP.

[32]  B. J. Ferro Castro,et al.  Pattern-Oriented Software Architecture: A System of Patterns , 2009 .

[33]  Christopher Alexander,et al.  The Timeless Way of Building , 1979 .

[34]  S. W. Ambler,et al.  Agile model driven development is good enough , 2003 .

[35]  TekinerdoganBedir,et al.  Developing object-oriented framworks using domain models , 2000 .

[36]  Paul Hudak,et al.  Building domain-specific embedded languages , 1996, CSUR.

[37]  Don Roberts,et al.  Evolving Frameworks A Pattern Language for Developing Object-Oriented Frameworks , 2004 .

[38]  Jan Bosch Object-Oriented Frameworks : Problems & Experiences , 1997 .