Antonio Villegas is the main developer and researcher of a tool for filtering large conceptual schemas (see the tool poster or read the full description).

The conceptual schemas of many real-world information systems are too large to be easily managed or understood. There are many information system development activities in which people needs to get a piece of the knowledge contained in a conceptual schema. For example, a conceptual modeler needs to check with a domain expert that the knowledge is correct, a database designer needs to implement that knowledge into a relational database, a software tester needs to write tests checking that the knowledge has been correctly implemented in the system components, or a member of the maintenance team needs to change that knowledge. Currently, there is a lack of computer support to make conceptual schemas usable for the goal of knowledge extraction.

Information filtering is a rapidly evolving field to handle large information flows. The aim of information filtering is to expose users only to information that is relevant to them. We present an interactive tool in which the user specifies one or more concepts of interest and the tool automatically provides a (smaller) subset of the knowledge contained in the conceptual schema that is likely to be relevant. The user may then start another interaction with different concepts, until she has obtained all knowledge of interest. We presented the theoretical background behind this tool in a previous paper

The main idea is to extract a reduced and self-contained view from the large schema, that is, a filtered conceptual schema with the knowledge of interest to the user. Basically, the user focus on a set of entity types she is interested in. Then, our method computes the required metrics to automatically select the most interesting entity types to extend those selected by the user. The main goal of these metrics is to discover the entity types that are relevant in the schema but also that are close (in terms of structural distance over schema) to the entity types of the focus set. The last step receives the set of most interesting entity types selected in the previous step and puts it together with the entity types of the focus set in order to create a filtered conceptual schema with the entity types of both sets. The main goal of this step consists in filtering information from the original schema involving entity types in the filtered schema. To achieve this goal, the method explores the relationships and generalizations/specializations in the original schema that are defined between those entity types and includes them in the filtered schema to obtain a connected schema.

Our filtering tool is developed as a web client that interacts with a web service following the SOAP protocol. In our demonstration the large schema to filter consists of a subset of the HL7 V3 schemas containing more than 2,500 entity types from healthcare domains.

As shown in the previous screenshot the user focuses on the entity types ActAppointment and Patient. Once the request is complete our web client processes the focus set and uses the filtering API of the web service through SOAP calls. The web service analyses the request and constructs the related filtered conceptual schema following the filtering process aforementioned.

In order to increase the understandability of the schema we make use of an external service (jsUML2) to transform the filtered schema from a textual representation to a graphical one. As a result, the user can rapidly comprehend from this reduced schema that SubjectOfActAppointment connects the entity types ActAppointment and Patient, which means that in the HL7 V3 schemas a patient is the subject of a medical appointment. Subsequently, the user can start again the cycle with a new request if required.

To try our demo, you can visit http://gemece.lsi.upc.edu/filter/. Note that this site may be down for maintenance from time to time. We will appreciate any feedback you might have. We are exploring new functionalities to improve our method and tool.

Want to build better software faster?

Want to build better software faster?

Read about the latest trends on software modeling and low-code development

You have Successfully Subscribed!

Pin It on Pinterest

Share This