Read about our access-control mechanisms for models. We rely on a new domain-specific language tailored to the definition of RBAC rules on models and on its enforcement thanks to the automatic generation of security compliant (virtual) views.
Defining the right constraints for any system is a challenging task that risks over-constraining or under-constraining the data. Our method helps designers to find the proper constraints by automatically mutating them to fit the sample data
We propose a model-based approach to compose data-driven REST APIs. Our approach creates a global API exposing a unified data model. This global model is exposed as an OData service
We propose to employ graph kernels for clustering software modeling artifacts. Among other benefits, this would improve the efficiency and usability of a variety of software modeling activities, e.g., design space exploration, testing or verification and validation.
Sismic is a lightweight approach for defining, validating and executing statecharts thanks to an open source API implemented in Python 3
Learn how to model classes (and their logic) in this next chapter of our Executable UML tutorial. Via an illustrative example, you'll learn all the trade-offs you must consider when identifying, naming and modeling the main concepts of your system.
TemporalEMF adds native temporal support for models. Models are automatically treated as temporal models and can be subjected to temporal queries to retrieve the model contents at different points in time. Behind the scenes, the history of a model is transparently stored in a NoSQL database.
A common problem when modeling software systems is the lack of support to specify how to enforce privacy concerns in data models. In this post, we propose a profile to define and enforce privacy concerns in UML class diagrams. Models annotated with our profile can be used in model-driven methodologies to generate privacy-aware applications.
Our tool is able to visualize how end-users interact with open data sources regarding two types of metrics: (1) performance metrics and (2) semantic metrics. Among them, we include a UML heatmap to highlight the part of the open data schema that is most frequently requested
We propose the integration of digital watermarking techniques in the model-driven engineering development lifecycle as way to protect the intellectual property of your modeling artefacts in collaborative modeling scenarios
Most NoSQL database systems do not require the definition of schemas but this does not mean such schema does not (implicitly) exist. We have implemented a model-driven reverse engineering approach to infer such NoSQL implicit schemas
We present our new tool OpenAPItoUML to generate UML models from OpenAPI definitions, thus offering a better visualization of the data model and operations of REST APIs. OpenAPItoUML is available as an open source Eclipse plugin.
Summary of our contributions towards a scalable query and transformation modeling framework able to handle very large models
Overcome the limitations of executing model transformations on large models by distributing them on top of a mapreduce infrastructure. We've done it for ATL. Read the full details on this paper accepted in the Journal of Systems and Software
OData is a protocol to facilitate the publication and consumption of queryable and interoperable data-driven services. OData is based on the use of RESTful APIs derived from a data model. We present a model-driven approach to automate the generation of OData services from data sources
How to partition the system into a set of domain models and decide the best language for each domain. Plus the need to choose the model platform that best fits your project.
In this second part of our executable UML tutorial we look at the key role of modeling domains to partition the system to be built
First in a new series of articles to take you step by step through the construction of a complete set of Executable UML (xUML) models. Presented with an initial set of fuzzy requirements, we will transform them into an unambiguous, detailed, constrained and executable statement of the desired system.
Cognification is the application of knowledge to boost the performance and impact of a process. We believe cognification could be a revolution in the way software is built.