A Linguistic Study of Process Modeling Languages

Process model or definition is used to describe the process, either software process or business process, by means of a suitable process modeling language. Choosing one or more linguistic paradigms for a process modeling language is an important design decision during process modeling language design. This paper focuses on the study of process modeling languages from linguistic perspective. To understand what key information in process domain needs to be expressed, we propose a process conceptual framework. Existing process modeling languages can be categorized to one or more of the rule-based, state-based, functional, procedural, or object-oriented paradigm based on their linguistic features. Each paradigm has its drawbacks or benefits in describing different aspects of the process. In order to better support process evolution, several linguistic requirements, including generic, reflective, exception handling, and deviation/inconsistency support, are discussed. Especially there is no effective linguistic support for process genericity, we propose a open research question of whether higher-order function genericity could be an effective solution for process genericity. VoiceXML, the Voice Extensible Markup Language, is a language for describing call flows for Interactive Voice Response applications. PASTA, Process and Artifact State Transition Abstraction, is a process modeling language to model complex processes in a graphical, systematic, precise, and structured way. We perform a linguistic analysis on them and propose some potential extensions for them.

[1]  Gail E. Kaiser,et al.  Intelligent assistance for software development and maintenance , 1988, IEEE Software.

[2]  Paolo Ciancarini,et al.  Software process enactment in Oikos , 1990, SDE.

[3]  Martin Odersky,et al.  Pizza into Java: translating theory into practice , 1997, POPL '97.

[4]  Gianpaolo Cugola,et al.  Tolerating Deviations in Process Support Systems via Flexible Enactment of Process Models , 1998, IEEE Trans. Software Eng..

[5]  Carlo Ghezzi,et al.  A Survey and Assessment of Software Process Representation Formalisms , 1993, Int. J. Softw. Eng. Knowl. Eng..

[6]  Carlo Ghezzi,et al.  How To Deal With Deviations During Process Model Enactment , 1995, 1995 17th International Conference on Software Engineering.

[7]  Takuya Katayama,et al.  A hierarchical and functional software process description and its enaction , 1989, ICSE '89.

[8]  Leon J. Osterweil,et al.  The design of a next-generation process language , 1997, ESEC '97/FSE-5.

[9]  Victor R. Lesser,et al.  A plan-based intelligent assistant that supports the software development , 1989, SDE 3.

[10]  Wilhelm Schäfer,et al.  Towards a Dedicated Object-Oriented Software Process Modeling Language , 1997, ECOOP Workshops.

[11]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[12]  Gabriel A. Pall,et al.  Quality Process Management , 1987 .

[13]  Fabio Casati,et al.  Specification and implementation of exceptions in workflow management systems , 1999, TODS.

[14]  Katsuro Inoue,et al.  Compiling and Optimizing Methods for the Functional Language ASL/F , 1986, Sci. Comput. Program..

[15]  Bashar Nuseibeh,et al.  Software process modelling and technology , 1994 .

[16]  Gregor Engels,et al.  SOCCA: Specifications of Coordinated and Cooperative Activities , 1994 .

[17]  Otthein Herzog,et al.  Towards Object-Oriented Modeling and Enacting of Processes , 1998 .

[18]  Katsuro Inoue,et al.  A Formal Adaptation Method For Process Descriptions , 1989, 11th International Conference on Software Engineering.

[19]  Dimitris Plexousakis,et al.  Simulation and analysis of business processes using GOLOG , 1995, COCS '95.

[20]  Maria Letizia Jaccheri,et al.  Eliciting Process Models in E3 , 1999 .

[21]  Daniel Marcu,et al.  A Logical Approach to High-Level Robot Programming A Progress Report* , 1994 .

[22]  Andy Schürr,et al.  Graph Grammar Engineering with PROGRES , 1995, ESEC.

[23]  Bernhard Westfechtel,et al.  Using UML for software process modeling , 1999, ESEC/FSE-7.

[24]  Wilhelm Schäfer,et al.  Concepts and implementation of a rule-based process engine/sup +/ , 1992, International Conference on Software Engineering.

[25]  Robert Balzer,et al.  Mechanisms for generic process support , 1993, SIGSOFT '93.

[26]  Gregory A. Hansen,et al.  Software Process Modeling , 1988 .

[27]  Reidar Conradi,et al.  Concepts for evolving software processes , 1994 .

[28]  Sergio Bandinelli,et al.  Computational reflection in software process modeling: The SLANG approach , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[29]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[30]  A. Pnueli,et al.  STATEMATE: a working environment for the development of complex reactive systems , 1988, Proceedings. [1989] 11th International Conference on Software Engineering.

[31]  Carlo Ghezzi,et al.  A framework for formalizing inconsistencies and deviations in human-centered systems , 1996, TSEM.

[32]  Volker Gruhn,et al.  The FUNSOFT Net Approach to Software Process Management , 1994, Int. J. Softw. Eng. Knowl. Eng..

[33]  Y. Shinoda,et al.  Attribute grammar based programming and its environment , 1988, [1988] Proceedings of the Twenty-First Annual Hawaii International Conference on System Sciences. Volume II: Software track.

[34]  Amnon Naamad,et al.  Statemate: a working environment for the development of complex reactive systems , 1988, ICSE '88.

[35]  Carlo Ghezzi,et al.  A Unified High-Level Petri Net Formalism for Time-Critical Systems , 1991, IEEE Trans. Software Eng..

[36]  Reidar Conradi,et al.  Software process modeling and evolution in EPOS , 1992, Proceedings Fourth International Conference on Software Engineering and Knowledge Engineering.