Formal Model and DSL for Separation of Concerns based on Views

The separation of concerns (SOC), as a conceptual tool, enables us to manage the complexity of software systems that we develop. The benefits of this paradigm, such as reuse, enhanced quality and adaptability, have been key drivers of its adoption. Modern software systems and applications take advantage of the technologies built around this paradigm, in which a client program can access different functional aspects (views) of the same domain. One of these SOC approaches is View-oriented Computing (VOC), which suffers from a formal model to canonically and consistently represent the different concepts of VOC as well to have the necessary background to formally verify the systems build on top of it. This paper describes a formal algebra-based model to describe different entities related to VOC. Especially, it introduces algebra and formalism associated with a Domain Specific Language (DSL) notation to illustrate the VOC paradigm.

[1]  Harold Ossher,et al.  Subject-oriented programming: a critique of pure objects , 1993, OOPSLA '93.

[2]  Martin Odersky,et al.  Domain-Specific Program Generation , 2004, Lecture Notes in Computer Science.

[3]  Tom Mens,et al.  Evolution Issues in Aspect-Oriented Programming , 2008, Software Evolution.

[4]  Andreas Rausch,et al.  Journal of Object Technology , 2002 .

[5]  Serge Demeyer,et al.  Reconstruction of successful software evolution using clone detection , 2003, Sixth International Workshop on Principles of Software Evolution, 2003. Proceedings..

[6]  Subrata Dasgupta Design Theory and Computer Science: The Nature of Design Problems , 1991 .

[7]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[8]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[9]  Charles Consel,et al.  From a Program Family to a Domain-Specific Language , 2003, Domain-Specific Program Generation.

[10]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[11]  Eric Lefebvre,et al.  Java modeling in color with UML: enterprise components and process , 1999 .

[12]  Tom Mens,et al.  Challenges in software evolution , 2005, Eighth International Workshop on Principles of Software Evolution (IWPSE'05).

[13]  Tom Mens,et al.  Separation of concerns for software evolution , 2002, J. Softw. Maintenance Res. Pract..

[14]  Walter M. Carlson,et al.  Business information analysis and integration technique (BIAIT): the new horizon , 1979, DATB.

[15]  Hamid Mcheick,et al.  Dynamic Object Behaviours in Separation of Concerns Based Systems , 2009, Software Engineering Research and Practice.

[16]  Andy Hunt,et al.  Programming Ruby 1.9: The Pragmatic Programmers' Guide , 2009 .