TCS:: a DSL for the specification of textual concrete syntaxes in model engineering
Proceedings of the 5th international conference on Generative programming and component engineering
On the Applicability Scope of Model Driven Engineering
MOMPES '07 Proceedings of the Fourth International Workshop on Model-Based Methodologies for Pervasive and Embedded Software
ATL: A model transformation tool
Science of Computer Programming
Software Language Engineering: Creating Domain-Specific Languages Using Metamodels
Software Language Engineering: Creating Domain-Specific Languages Using Metamodels
Extracting Domain Ontologies from Domain Specific APIs
CSMR '08 Proceedings of the 2008 12th European Conference on Software Maintenance and Reengineering
A Domain Specific Language for Extracting Models in Software Modernization
ECMDA-FA '09 Proceedings of the 5th European Conference on Model Driven Architecture - Foundations and Applications
Derivation and Refinement of Textual Syntax for Models
ECMDA-FA '09 Proceedings of the 5th European Conference on Model Driven Architecture - Foundations and Applications
Engineering of Framework-Specific Modeling Languages
IEEE Transactions on Software Engineering
Domain Specific Languages
Inferring meta-models for runtime system data from the clients of management APIs
MODELS'10 Proceedings of the 13th international conference on Model driven engineering languages and systems: Part II
Framework-Specific modeling languages with round-trip engineering
MoDELS'06 Proceedings of the 9th international conference on Model Driven Engineering Languages and Systems
Generating synchronization engines between running systems and their model-based views
MODELS'09 Proceedings of the 2009 international conference on Models in Software Engineering
Extracting models from web API documentation
ICWE'12 Proceedings of the 12th international conference on Current Trends in Web Engineering
Hi-index | 0.00 |
Context: A software artefact typically makes its functionality available through a specialized Application Programming Interface (API) describing the set of services offered to client applications. In fact, building any software system usually involves managing a plethora of APIs, which complicates the development process. In Model-Driven Engineering (MDE), where models are the key elements of any software engineering activity, this API management should take place at the model level. Therefore, tools that facilitate the integration of APIs and MDE are clearly needed. Objective: Our goal is to automate the implementation of API-MDE bridges for supporting both the creation of models from API objects and the generation of such API objects from models. In this sense, this paper presents the API2MoL approach, which provides a declarative rule-based language to easily write mapping definitions to link API specifications and the metamodel that represents them. These definitions are then executed to convert API objects into model elements or vice versa. The approach also allows both the metamodel and the mapping to be automatically obtained from the API specification (bootstrap process). Method: After implementing the API2MoL engine, its correctness was validated using several APIs. Since APIs are normally large, we then developed a tool to implement the bootstrap process, which was also validated. Results: We provide a toolkit (language and bootstrap tool) for the creation of bridges between APIs and MDE. The current implementation focuses on Java APIs, although its adaptation to other statically typed object-oriented languages is straightforward. The correctness, expressiveness and completeness of the approach have been validated with the Swing, SWT and JTwitter APIs. Conclusion: API2MoL frees developers from having to manually implement the tasks of obtaining models from API objects and generating such objects from models. This helps to manage API models in MDE-based solutions.