Authors:
            
                    Francisco Gortázar
                    
                        
                    
                    ; 
                
                    Abraham Duarte
                    
                        
                    
                     and
                
                    Micael Gallego
                    
                        
                    
                    
                
        
        
            Affiliation:
            
                    
                        
                    
                    Universidad Rey Juan Carlos, Spain
                
        
        
        
        
        
             Keyword(s):
            Model Driven Engineering, Language Engineering, abstract syntax, concrete syntax, DSLs.
        
        
            
                Related
                    Ontology
                    Subjects/Areas/Topics:
                
                        Applications and Software Development
                    ; 
                        Cross-Feeding between Data and Software Engineering
                    ; 
                        Meta-Programming
                    ; 
                        Methodologies, Processes and Platforms
                    ; 
                        Model Transformations and Generative Approaches
                    ; 
                        Model-Driven Engineering
                    ; 
                        Model-Driven Software Development
                    ; 
                        Software Engineering
                    ; 
                        Software Engineering Methods and Techniques
                    
            
        
        
            
                Abstract: 
                Many development tools of modern Integrated Development Environments (IDEs) make an intensive use of abstract syntax tree (AST) representations of the software. This is the case of refactors, code formatters, or content assistants, among others. Such AST is usually an instance of an object oriented abstract syntax model. We propose to center the attention of Language Engineering (LE) on this model. We propose to use UML as the abstract syntax metamodel because UML tools provide code generators for different programming languages for model implementation. As well as an abstract syntax, a concrete syntax of the language it is also necessary. We are concerned about textual languages, whose concrete syntax is usually given as a BNF grammar. Instead, we propose to stereotype the abstract syntax model by means of a profile, aimed at concrete syntax definition. Applying Model Driven Engineering (MDE) practices several development artifacts can be automatically generated.