SLE 2009
Call for Papers (source, 92 taggings)
Scope
The term “software language” comprises all sorts of artificial languages used in software development including general-purpose programming languagesT3D, domain-specific languagesT3C, modeling and meta-modeling languagesT3A, data models, and ontologiesT3E. Used in its broadest sense, examples include modeling languages such as UML-based and domain-specific modeling languagesT3C, business process modeling languages, and web application modeling languages. The term “software language” also comprises APIsT3F and collections of design patterns that are mplicitly defined languages.Software language engineering is the application of a systematic, disciplined, quantifiable approach to the development, use, and maintenanceT2B of these languages. Thus, the SLE conference is concerned with all phases of the lifecycle of software languagesT2A; these include the designT1A, implementationT4A, documentationT2E, testingT5C, eploymentT2D, evolutionT2B, recoveryT2A, and retirementT2A of languages. Of special interest are tools, techniques, methods and formalismsT5D that support these activities.
In particular, tools are often based on or even automatically generatedT4C from a formal escription of the languageT3A. Hence, of special interest is the treatment of language descriptions as software artifactsT5B, akin to programs - while paying attention to the special status of language descriptions, subject to tailored engineering principles and methods for modularizationT1D, refactoringT4B, refinementT4C, compositionT1D, versioningT2B, co-evolutionT2B, and analysisT5B.
Topics of Interest
We solicit high-quality contributions in the area of SLE ranging from theoretical and conceptual contributions to tools, techniques and frameworks that support the aforementioned lifecycle activities. Some examples of tools, techniques, applications, and problems are listed below in order to clarify the types of contributions sought by SLE.
- FormalismsT3A used in designingT1A and specifying languages and tools that analyzeT5B such language descriptions: For example, of interest are formalisms such as grammars, schemas, ontologiesT3E, and metamodels; innovative tools that detect inconsistencies in a metamodel or analyze grammarsT5B in building a parser; and formal logicsT5D and proof assistantsT5D that verify properties of language specificationsT5D.
- Language implementation techniquesT4A: This includes advances in traditional compiler generator toolsT4A such as parser/scanner generatorsT4C, attribute grammar systemsT3A, term-rewriting systemsT4B, functional-programming-based combinator libraries, among many others; also of interest are metamodel-basedT3A and ontology toolsT3E such as constraint, rule, view, transformationT4B, and query formalismsT5D and engines.
- Program and model transformation toolsT4B: Examples include tools that support program refinement and refactoringT4B, model-based developmentT4C, aspect and model weaving, model extraction, metamodeling, model transformationsT4B, round-trip engineeringT4B, and runtime system transformation.
- Composition, integrationT1D, and mapping toolsT4B for managing different aspects of software languages or different manifestations of given language: For example, SLE is interested in tools for mapping between the concrete and abstract syntaxT4C of a language, for managing textual and graphical concrete syntaxT1A for the same or closely related languages; also, mapping descriptions and tools or XML/object/relational mappingsT4B.
- Language evolutionT2B: Included are extensible languagesT1D and type systemsT1B and their supporting tools, as well as language onversion toolsT4B. APIsT3F, when considered as languages, are subject to evolutionT2B; thus tools and techniques that assist developers in using a new versionT2B of an APIT3F or a competing implementation in a program are also of interest.
- Approaches to the elicitationT5A, specificationT5A, and verificationT5D of requirements for software languagesT5A: Examples include the use of requirements engineering techniquesT5A in the development of domain-specific languagesT3C and the application of logic-based formalismsT5D for verifyingT5D language requirementsT5A.
- Language development frameworksT4A, methodologies, techniques, best practices, and tools for the broader language lifecycle covering phases such as analysisT5B, testingT5C, and documentationT2E. For example, frameworks for advanced type or error checking systemsT1B, constraint mechanisms, tools for metrics measurementT5B and language usage analysisT5B, documentationT2E generatorsT4C, visualization backendsT4F, knowledge and process management approaches, as well as IDE supportT4A for many of these activities are of interest.
- Design challenges in SLET1A: Example challenges include finding a balance between specificity and generality in designing domain-specific languagesT3C, between strong static typing and weaker yet more flexible type systemsT1B, or between deep and shallow embedding approachesT1D, as, for example, in the context of adding type-safe XML and database programming support to general purpose programming languagesT3D.
- Applications of languages including innovative domain-specific languagesT3C or “little” languages: Examples include policy languagesT3C for security or service oriented architectures, web-engineering with schema-based generatorsT4C or ontology-based annotationsT3E. Of specific interest are the engineering aspects of domain-specific languageT3C support in all of these cases.
Do note that this list is not exclusive and many examples of tools,techniques, approaches have not been listed. The program committee chairs encourage potential contributors to contact them with questions about the scope and topics of interest of SLE.
List of Papers (2+15+6+2, source)
- 🔥 Eating Our Own Dog Food: DSLs for Generative and Transformational Engineering (James R. Cordy)
- 🔥 If MDE Is the Solution, Then What Is the Problem? (Jean Bézivín)
- Language Evolution in Practice: The History of GMF (Markus Herrmannsdörfer, Daniel Ratiu, Guido Wachsmuth)
- A Novel Approach to Semi-automated Evolution of DSML Model Transformation (Tihamér Levendovszky, Daniel Balasubramanian, Anantha Narayanan, Gábor Karsai)
- Study of an API Migration for Two XML APIs (Thiago Tonelli Bartolomei, Krzysztof Czarnecki, Ralf Lämmel, Tijs van der Storm)
- 🏆 Composing Feature Models (Mathieu Acher, Philippe Collet, Philippe Lahire, Robert B. France)
- VML* – A Family of Languages for Variability Management in Software Product Lines (Steffen Zschaler, Pablo Sánchez, Jõao Santos, Mauricio Alférez, Awais Rashid, Lidia Fuentes, Ana Moreira, João Araújo, Uirá Kulesza)
- Multi-view Composition Language for Software Product Line Requirements (Mauricio Alférez, Jõao Santos, Ana Moreira, Alessandro Fabricio Garcia, Uirá Kulesza, João Araújo, Vasco Amaral)
- 🗜️ Yet Another Language Extension Scheme (Anya Helene Bagge)
- 🗜️ Model Transformation Languages Relying on Models as ADTs (Jerónimo Irazábal, Clàudia Pons)
- 🗜️ Towards Dynamic Evolution of Domain Specific Languages (Paul R. Laird, Stephen Barrett)
- 🗜️ ScalaQL: Language-Integrated Database Queries for Scala (Daniel Spiewak, Tian Zhao)
- 🗜️ Integration of Data Validation and User Interface Concerns in a DSL for Web Applications (Danny M. Groenewegen, Eelco Visser)
- 🗜️ Ontological Metamodeling with Explicit Instantiation (Alfons Laarman, Ivan Kurtev)
- Verifiable Parse Table Composition for Deterministic Parsing (August Schwerdfeger, Eric Van Wyk)
- Natural and Flexible Error Recovery for Generated Parsers (Maartje de Jonge, Emma Nilsson-Nyman, Lennart C. L. Kats, Eelco Visser)
- PIL: A Platform Independent Language for Retargetable DSLs (Zef Hemel, Eelco Visser)
- 🛠️ Graphical Template Language for Transformation Synthesis (Elīna Kalniņa, Audris Kalniņš, Edgars Celms, Agris Šostaks)
- A Role-Based Approach towards Modular Language Engineering (Christian Wende, Nils Thieme, Steffen Zschaler)
- Language Boxes: Bending the Host Language with Modular Language Changes (Lukas Renggli, Marcus Denker, Oscar Nierstrasz)
- Declarative Scripting in Haskell (Tim Bauer, Martin Erwig)
- An Automated Process for Implementing Multilevel Domain Models (Frédéric Mallet, François Lagarde, Charles André, Sébastien Gérard, François Terrier)
- Domain-Specific Metamodelling Languages for Software Language Engineering (Steffen Zschaler, Dimitrios S. Kolovos, Nikolaos Drivalos, Richard F. Paige, Awais Rashid)
- Generating Smart Wrapper Libraries for Arbitrary APIs (Uwe Jugel)
- 🛠️ Closing the Gap between Modelling and Java (Florian Heidenreich, Jendrik Johannes, Mirko Seifert, Christian Wende)
Organisers