Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
1439 Chapter 71 Towards Dynamic Semantics for Synthesizing Interpreted DSMLs Peter J. Clarke Florida International University, USA Frank Hernandez Florida International University, USA Yali Wu University of Detroit Mercy, USA Mark Allison Florida International University, USA Andrew A. Allen Georgia Southern University, USA Robert France Colorado State University, USA ABSTRACT Domain-specific languages (DSLs) provide developers with the ability to describe applications using language elements that directly represent concepts in the application problem domains. Unlike generalpurpose languages, domain concepts are embedded in the semantics of a DSL. In this chapter, the authors present an interpreted domain-specific modeling language (i-DSML) whose models are used to specify user-defined communication services, and support the users’ changing communication needs at runtime. These model changes are interpreted at runtime to produce events that are handled by the labeled transition system semantics of the i-DSML. Specifically, model changes are used to produce scripts that change the underlying communication structure. The script-producing process is called synthesis. The authors describe the semantics of the i-DSML called the Communication Modeling Language (CML) and its use in the runtime synthesis process, and briefly describe how the synthesis process is implemented in the Communication Virtual Machine (CVM), the execution engine for CML models. INTRODUCTION Research in model-driven software development (MDD) (France & Rumpe, 2007; Hermans, Pinzger, & Deursen, 2009) and domain-specific modeling languages (DSMLs) (DSM Forum 2010, Sprinkle, Mernik, Tolvanen, & Spinellis, 2009) focuses on how models that provide good abstractions of complex software behaviors can be used to significantly improve software productivity and quality. In this work we differentiate between the two categories of domain-specific languages described in the literature; these are (1) text-based languages, referred to as DSLs (Mernik, Heering, DOI: 10.4018/978-1-4666-6042-7.ch071 Copyright © 2014, IGI Global. Copying or distributing in print or electronic forms without written permission of IGI Global is prohibited. Towards Dynamic Semantics for Synthesizing Interpreted DSMLs & Slone, 2005), and (2) graphical modeling languages, DSMLs. It should be noted that graphical languages are usually processed in an equivalent text representation, usually based on some form of XML. The use of DSMLs continues to grow in both academia and industry, resulting in a spectrum of DSMLs. This spectrum includes DSMLs that are used in the development of software artifacts which are then translated into a general-purpose high-level programming language, as well as DSMLs that are used to model the domain application and that are directly executed by a model execution engine. In this chapter we focus on the latter class of DSMLs, referred to as interpreted DSMLs (i-DSMLs), i.e., those that do not transformed models into the source code of another language. As we will demonstrate in this chapter, i-DSMLs are well-suited for creating and changing models at runtime. Creating a DSML involves defining: a metamodel (abstract syntax and static semantics), one or more concrete syntaxes, and the dynamic semantics (Stahl et al., 2003). There are several tools that can be used to define the metamodel and concrete syntaxes for DSMLs, however there is little support for defining the dynamic semantics. Support for the definition of dynamic semantics for i-DSMLs is needed if they are to be used to produce models used at runtime to modify behavior, particularly in distributed runtime environments. In this chapter, we describe an approach we used to develop the dynamic semantics of an iDSML for the communication services domain, the Communication Modeling Language (CML) (Clarke, Hristidis, Wang, Prabakar, & Deng, 2006). The execution engine, the Communication Virtual Machine (CVM) (Deng et al., 2008), which is used to directly interpret CML models in a distributed environment, is also introduced. Although the communication services domain is the focus of this chapter, we are currently applying the approach to other domains, such as microgrid energy management (Allison, Allen, Yang, & 1440 Clarke, 2011). That is, we are in the process of developing the Microgrid Modeling Language (MGridML) and the Microgrid Virtual Machine (MGridVM) using the approach describe here. By applying our approach to multiple domains, we hope to eventually show how the approach can be generalized as a new way for defining semantics for i-DSMLs that can be directly executed by a virtual machine. The main objective of this chapter is to describe the dynamic semantics to synthesis the i-DSML CML. CML model instances are used to synthesize control scripts (commands passed to the middleware of the execution engine – virtual machine) based on the state of the running system. Key aspects of the synthesis process are the identification of model changes and the interpretation of these changes at runtime. Using these model changes and the current state of the system, events are generated that trigger script generation tasks. The dynamic semantics of CML use labeled transition systems (LTSs) to describe how generated events are handled in the synthesis process. Details of the synthesis process in the CVM are provided, including details on how CML models are compared at runtime and how the model changes are used to execute negotiation and media transfer tasks, the two key aspects in user-defined communication. We will show how the LTS semantics for CML supports the synthesis process. The chapter is organized as follows. The next section presents a literature review on DSMLs and the semantics of DSMLs. The following section motivates the need for i-DSMLs to support the use of models at runtime, introduces the abstract syntax for CML, the execution engine for CML, and defines a CML semantics that supports the use of CML model instances in the synthesis of control scripts. Some of the benefits, limitations and challenges of i-DSMLs are also presented in this section. Finally, we present future research directions and conclude the chapter. 26 more pages are available in the full version of this document, which may be purchased using the "Add to Cart" button on the product's webpage: www.igi-global.com/chapter/towards-dynamic-semantics-for-synthesizinginterpreted-dsmls/108787?camid=4v1 This title is available in e-Book Collection, Communications, Social Science, and Healthcare e-Book Collection, Media and Communications e-Book Collection, e-Book Collection Select, Computer Science and Information Technology e-Book Collection, Science, Engineering, and Information Technology e-Book Collection, e-Book Collection Select, e-Book Collection Select, e-Book Collection Select, Social Sciences Knowledge Solutions eBook Collection, Computer Science and IT Knowledge Solutions e-Book Collection. Recommend this product to your librarian: www.igi-global.com/e-resources/library-recommendation/?id=1 Related Content A Novel Approach to Managing the Dynamic Nature of Semantic Relatedness Youngseok Choi, Jungsuk Oh and Jinsoo Park (2020). Natural Language Processing: Concepts, Methodologies, Tools, and Applications (pp. 1085-1114). www.igi-global.com/chapter/a-novel-approach-to-managing-the-dynamic-nature-of-semanticrelatedness/239980?camid=4v1a A Tale of Transitions: The Challenges of Integrating Speech Synthesis in Aided Communication Martine Smith, Janice Murray, Tetzchner Stephen von and Pearl Langan (2010). Computer Synthesized Speech Technologies: Tools for Aiding Impairment (pp. 234-256). www.igi-global.com/chapter/tale-transitions-challenges-integrating-speech/40869?camid=4v1a UcEF for Semantic IR: An Integrated Context-Based Web Analytics Method Bernard Ijesunor Akhigbe (2021). Advanced Concepts, Methods, and Applications in Semantic Computing (pp. 190-217). www.igi-global.com/chapter/ucef-for-semantic-ir/271128?camid=4v1a Smart Grid and Demand Side Management: Application of Metaheuristic and Artificial Intelligence Algorithms Alper Ozpinar and Eralp Ozil (2020). Natural Language Processing: Concepts, Methodologies, Tools, and Applications (pp. 139-159). www.igi-global.com/chapter/smart-grid-and-demand-side-management/239934?camid=4v1a