quinta-feira, 5 de setembro de 2019

Ontobras 2019 - Keynote Speech: Conceptual Models as Ontological Contracts - By Giancarlo Guizzardi

Ontobras 2019 - Keynote Speech: Conceptual Models as Ontological Contracts
By Giancarlo Guizzardi
*My own comments are marked with an asterisk

“data are fragments of a theory of the real world, and data processing juggles representations of these fragments of theory...The issue is ontology, or the question of what exists.” (G.H. Mealy,  Another Look at Data, 1967)

Any artifact from which data can be extracted makes an ontological commitment, i.e. expresses  fragments of a theory.

Giancarlo explained the Twin Tower Case (available in the slides)

Regarding this case:
  • There is no doubt about the brute reality. The issue is interpreting that part of reality according to a certain system of categories
  • There are multiple views on reality that can conflict and unless we are fully aware of their distinctions, we cannot safely harmonize those views
  • The is no experiment that can be done to settle these conflicts. It can only be resolve by conceptual clarification and meaning negotiation relying on a prioristic system of categories  
----

Ontology as a Calculus of Content: a prior set of system categories as in foundational ontologies are necessary to provide an ontological analysis methodology to deal with the interpretation of reality.

Giancarlo explained the OntoUML taxonomy of Type using Mick Jagger as an example (see slides).
*OntoUML Wikipedia entry

OntoUML is a pattern language, since some of the concepts always appear together in a model. For example, a Role always specializes a Kind, so that the instances of the Role may take their identity principle from the Kind.

Giancarlo demonstrated the use of the Menthor Editor to create a model based on OntoUML patterns.



Some of the axiomatization comes for free with the OntoUML pattern.

Domain-specific axioms should be added to constrain the model, but also to express derived relation and the like.

----

There is an OntoUML Benchmark: a repository of models in OntoUML.

Giancarlo described the work on Ontological Anti-patterns (see slides) and some results of an experiment conducted to find antipatterns in the OntoUML Benchmark.

----


Work in collaboration with João Paulo and Fred Brasileiro:  an experiment to find Multi-level Theory (MLT) patterns and anti-patterns in WikiData.



Example of problem found: 



Results of the experiment: 


----

In the Q&A part, there was a lively discussion regarding the comparison of different Ontology languages.

Alloy is a very good ontology representation language, especially in terms of model simulation.

OntoUML vs. OWL

The languages are actually not competing at all, since one is dedicated to conceptual modeling and has no concern for computational tractability and the other is an ontology implementation language.

Giancarlo made a strong statement saying that there is no ontology in OWL although he acknowledges the value of such language in terms of providing a computationally tractable language and its benefits for web-based development.

Mathias highlighted that the issues of computationally tractability is a common issue not only restricted to ontology languages, and an important one.


quarta-feira, 4 de setembro de 2019

Ontobras 2019 - Tutorial: Transforming clinical and clinical research data to ontology-driven linked data - By Mathias Brochhausen

Ontobras 2019 - Tutorial: Transforming clinical and clinical research data to ontology-driven linked data
By Mathias Brochhausen
(Slides available)
*My own comments are marked with an asterisk

Ontological reasoning may be used to assist in completeness in querying datasets. A real experiment showed an improvement in the retrieval of data regarding children living in a smoking household.




----

Platform for imaging in Precision Medicine:
- efficiency and sustainability
- new tools for analysis
- improving ability to manage and analyze integrated datasets
- making clinical data available, both for text and image-based data

According to Mathias, the biggest problem he sees in data management is not related to how types are related, but the fact that many data managers do not account for the instances. He believes that OWL-based ontologies should not allow relations between types. The "arrows" should relate instances (or groups of instances).
*This is a bottom-up approach: from the data to the model
*When applying OntoUML, we actually take a top-down approach: from the model to the data. Perhaps because we often do not have the data to start with, and we are actually concentrating on understanding the domain.

João Paulo (JP): This discussion has also a lot to do with notation. Type relations are not a limitation for OWL Full.

----

For heterogeneous bases, it is hard and costly to deal with mappings from all kinds of data formats. In his experience, using a triple store is the best way, if you need ontology-based reasoning over the data. He presented a case on the use of RDF-based data:




----

Building a Pattern Repository for Instantiation of Patterns

- Patterns may help with reuse

- Which patterns should we store?
There are different ways to express the same knowledge. None of them is glaringly wrong. Some might be preferred over others for certain uses (e.g. for being quicker). If the patterns are all equally valid, I should prefer to use a patterns that other people are already using (that is what patterns are about, i.e. reuse, so that we do not all end up with different ontologies)

- They already have an ontology use pattern repository for which one may contribute and also use the existing patterns.

- These patterns differ from the ones provided at www.ontologydesignpatterns.org because while the latter aims at informing the design, the former is focused on informing how to instantiate the data.

----

Representational Accuracy for Informed Consent Data

His group is involved with some case studies regarding the use of Biobanks' data. One thing that is very important is to acquire the consent of the owners of the medical material stored in these repositories.



- Related work: existing ontology on Inform Consent (Lin at al, 2013)
*full reference on slides

- For their specific case studies, they needed to specify rights and obligations, which was not contemplated in the work of (Lin et al, 2013).

- They used a Document Act Ontology (d-acts) to capture how rights and obligations are created.
*This work could evolve by using UFO-L

JP: the permission relation is an example of how type-type relation could be useful. 
Mathias  answered that it would indeed be easier to express it that way, but because they are limited by OWL-DL, they still take the approach of relating the instances instead of the types.

Gian: Do you see the need for a relator, i.e. an object that persists in time an is related to the event of giving consent?
Mathias answered that they are kind of "reductionist" in this sense, representing roles and events, but not relators. In the end of the discussion, he said he would need to think about the use of relators in his work.

One important disclamer that Mathias does is that not everything about consent is in the ontology. 
*This is in fact compliant with the OWL's open world assumption.

A glimpse of how they used d-act may be seen in the figures below:







Ontobras 2019 - Keynote Speech: Events and their context - By Nicola Guarino

Ontobras 2019 - Keynote Speech: Events and their context
By Nicola Guarino
*My own comments are marked with an asterisk


Objects (endurants) are involved in an event in different levels

E.g. John is thinking of Mary under the tree.
Focus: mental attitude (towards Mary) in John's mind
Maximal participant: John
Core participant: John's mind
Contextual participants: the three, the sun...
Virtual participant: Mary

----

The philosophical debate on events: unifiers vs. multipliers

- unifiers - whatever happens in a spatiotemporal region. Thus, what Nicola calls scene is a unique event for unifiers

- multipliers - events are exemplification of properties (Kim); the exemplification of a change of x during t (Lombard)

----

Nicola believes that different event names typically reflect different core aspects of what happened, so that event descriptions are not arbitrary

These core aspects can be captured by specifying, for each verb:
- its cognitive focus;
- the nature of its participants;
- what happens in the background.

----

Qualitative Events

- We shall focus here on qualitative events. Existential and mereological events will not be considered.

----

Qualities are subjects of events

- Aristotle (ref: Physics) says: in a process of change, we may distinguish three elements: That which changes, that in which it changes, and the actual subject of change.

- The proper subject of change are not the object (as suggested by Lombard), but qualities of the object.

Then, Nicola presents the concept of quality as defined in Dolce and UFO (foundational ontologies)

----

Nicola then discussed the role of the event description's core verb in understanding the participation of objects in events.

----

Event vs. Scene

Scene is viewed by some as a mix of objects and events. However, for Nicola, this is very problematic ontologically, especially because of having to account for objects as "part-of" events, which is strange.


quarta-feira, 13 de junho de 2018

istar@CAiSE2018 - A Goal Model for Crowdsourced Software Engineering - Fiza Siyal and Xavier Franch

Crowdsourcing Software Engineering (CSE) - emerging paradigm, but a lot of old problems.

He mentioned some problems found in the RISCOSS project, and how risk analysis is very important in Crowdsourcing settings.

He presented a (small) goal-model for CSE

RiSD

This approach includes a decision tree-based set of guidelines for choosing the correct intentional element (e.g. goal, softgoal or task) in an i* model. Such guidelines do not work on 100% of the times, but they provide some assistance.

RiSD comprises three stages:
  • Domain analysis, 
  • Social system construction
  • Socio-technical system construction
In this presentation, Xavi focuses in the second stage, i.e. Social system construction. 

RiSD guides the analyst in:
step 1 - start modeling all dependencies as goal dependencies
setp 2 - reflect if some of the dependums are actually tasks or resources. 

Model 1) He presents a Dependency Diagram, showing the dependencies between the Requester and the CSE Organization and between the Worker and the CSE Organization. 

Model 2) Then, he shows a second model with some of the revised dependums.

Model 3) A third, more refined model also includes some traceability links between elements, as suggested by the results of the RISCOSS project.

Key concerns to be analyzed (according to a different author referenced in his slides):
  • task decomposition
  • planing and scheduling
  • coordinating and ommunication
  • intellectual property 
  • motivaation and qulity challenges 

segunda-feira, 11 de junho de 2018

istar@CAiSE2018 - Keynote: Oscar Pastor - Making Software Fulfil Users Goals: From Goals to Code

Context and History

If we want to think of Code as a Model, we should also be able to understand Model as Code -- manifesto with Steven Little, Veda Storey at al.

Oscar told us the history of software from object-oriented software modeled with UML, arriving at GORE, going through model-driven architecture, up to the need of ontologies to make the languages' and models' semantics precise.

From Oscar's PhD (1996) - OO-Method Approach (Problem Space level -- Automated Translation -- Solution Space Level (already doing Model-driven development, with automatic code generation).

At this time, he had also a solution to develop web-based systems, and he talked about the business layer (which includes services).

Old Metaphor: software as a table with three legs: structure, behavior and interaction. This view is still useful. Yesterday, he has seen presentations on the structural part (database schemes, information model etc.).

The MDD transformation may be in this direction:
                                      roles, requirements -> conceptual schema -> code

Oscar thinks Information Systems engineering is more important than Software Engineering, because it is important to handle with socio-technical systems. In ISs, we have not only technical people working, but also lawyers, and other people from the social sciences.

There is an emerging need to focus on interactive requirements - the main thing we must target is our perception of the world. There are different means of interaction between the analyst, the stakeholder and the world, so we must put lots of attention to interactive concepts and interactive requirements.

Since the beginning, Oscar's work focused on providing automation for the software development process, focusing on the whole life cycle. With Hugo and Alicia, he worked on what they called "a complete model based software production process."


Model-driven Engineering: a Practical Experience

He presented the usual MDA models and transformations, connecting them with RE (Computation Independent Model), Software Analysis (Platform Independent Model), Software Design (Platform Specific Model) and Implementation (Code).

He thinks that having an OntoUML compiler that generates code directly could be a good idea.

For model transformation, there are several tools, both for the transformation itself and to each of the modeling languages we must apply. He showed a big list of existing tools.


Communication Analysis: a Requirements Engineering Method for Information Systems

Sergio España's PhD work: still ongoing in terms of using, improving and automating the method.

Oscar highlights that opposite to other kinds of models (such as data models, business process models etc.),  there is no standard language for interaction/presentation model. Giancarlo highlights that there are some standard developed for protocol engineering which may be useful here: e.g. ISDL (see https://link.springer.com/book/10.1007%2F978-3-319-43298-4).

To add to the discussion, in the perspective of HCI, Eric mentions that possibly the work on ISDL cannot capture the complexities of human interaction. In fact, Giancarlo says, interactive and presentation modeling are two different things anyway. Oscar acknowledges that these two perspectives are sometimes inappropriately mixed.

Oscar has a strong opinion that if a software engineer does not have strong skills on abstraction, he/she should not have his/her degree. But in practice, he realizes that most of his students in the master level do not. For example, they mix in one model, things that belong to different abstraction levels. That is a big problem!

Oscar showed an example of a socio-technical system to motivate the use of communication analysis. The main problem in such scenarios is one of communication.


Deriving Conceptual Models from Req Specifications

They propose in OlivaNova (see this article), a Requirements model is compiled into a conceptual model (composed of structural model, communication model and business model).

They apply conceptual schema to generate the class-diagrams they need. This is done interactively.

And in the end, they can also generate code and view the user application.


Linking Goal Models with Communication Analysis Models

Still, there is one missing dimension in this work: the connection to goals, as they understand that the intentional dimension is important to understand why the business processes are executed.

Their work aims at connecting: intention + processes and communication + behavior + interaction

Advantages:
  • integrated approach allows understanding the motivation for processes
  • goals can be used to guide process design
  • traceability is enhanced
  • sustainability in organizations may be achieve
In this work, they apply a design science approach.

They use the FRISCO Ontology to connect i* and communication analysis (the integration should be well founded in theory).

They provide some guidelines of how to go from i* to the process and communication models.

Oscar says that there is an important issue to be targeted, which is the point that people prefer to use BPMN and not the business process modeling language that they propose.

quinta-feira, 24 de maio de 2018

Notes on the RE PhD Course - University of Trento - Class: RE Methodologies - Angelo Susi

Notes on the RE Course - Requirements Engineering Methodologies - 

*while Angelo projected the Day4 slides

The Spiral Model (Boehm 86, 88) is a very well-known iterative model. The interesting thing he wants to highlight is Risk Analysis.

We talked about some examples regarding data protection. For instance, many emails are coming now asking us to click a link in the email (a well-known major source of problem!) to confirm the new policies of different sources, complying with the new European Policy for data protection. So in the end, such policy is inducing a strange behavior on companies and end users. It seems that nobody has performed risk analysis.

He also mentioned the fact that such model inaugurated the software evolution concept connected to software maintenance.

Relying on a risk assessment expert for knowing how to proceed is a good practice.

The Rational Unified Process has been proposed by the Rational company in an attempt to start with business analysis (Inception phase).

I reminded the students that this process was actually empowered by this very popular case tool in the 90s, called Rational Rose. This was a UML modeling tool, which also generated Java code. Angelo complemented saying that besides the emphasis on business modeling, for the first time, somebody allowed software production from start to end (including code automatic generation).

"RUP is a process framework, but unlike ISO 12207, it comes not empty, but prepopulated with a wealth of guidance, methods, techniques, templates, and examples, out of which a concrete process can be instantiated. RUP can actually support an organization that is trying to achieve CMM Level-2 and Level-3" (from the slides)

RUP's emphasized the development of a standard development process.

---

There was an interesting discussion regarding Open Source.

Student A said "Open means that you have open access to knowledge, not that you have unrestricted use of the artifact (i.e. code)."

Angelo reminded us that there are different Open Source models. The problem with OS models is attributing responsibility. Who is liable if something goes wrong?

RISK ANALYSIS IS ESSENTIAL HERE!

Student B said Red Hat, the biggest Linux distributor, gives you the license to contribute, and you can even earn money for producing some enhancements. However, regarding the kernel, this license  does not allowed you to publish any enhancements. This company is worth billions in the marked, so you can trust it.

This is what a lot of CEOs of big organizations take into account to hire OS services.

*I do not agree that you can trust it based on the market value! : ) At least for end users, we must be aware that we give lots of access to big companies, but I am willing to give the same access to small companies, provided that they provide me with useful service that eases my life. It is not a solution for the problem, of course. It is just awareness

Student A joked: for a solution, please read the books by Mauro Corona, who lives in the mountains, with no technology whatsoever!

Angelo: sometimes governments go into OS community to influence them to add new requirements to the software so that it accounts for some ethical issues that allow such government to use the developed software in hospitals or other sensitive environments.

Interesting reference on OS licenses: Roberto di Cosmo.

---

*back to the slides - still on Open Source:
Walter Scacchi (U California, 2003) is one of the most important researchers in OS Communities.

There are several communication tools that support OS communities (threaded discussions, newsgroups, email etc.) and .

There is a high degree of informality: to-do-lists, FAQs, communities' website, bug reports, bug database tracking (E.g. Bugzilla) etc.

Agile Methodologies

*interesting slide comparing agile vs. standard approaches.

Scrum
Requirements are expressed like user stories, following simple templates such as:
As a <role>, I can <activity> so that <business value>

Dynamic System Development Method is an agile method, a bit heavier than Scrum, but that tries to improve Scrum in some points. It may work for some domains.

Such methodologies may completely change the company's power structure. The new roles agile methods propose prevents some people to be recognized as, for instance, analyst (or another kind of) expert in the common sense. This may lead to some resistance from the personnel.

*interesting slide on a REFSQ paper that presents examples of how companies use agile methodologies.

Microservices inaugurate a different perspective on software development. For one micro service, there are different experts involved AT THE SAME TIME, thus there is no division of roles by development phase or activity, as before. See the work of Luciano Baresi, already referenced in the previous post.

quarta-feira, 23 de maio de 2018

Notes on the RE PhD Course - University of Trento - Class: Requirements Prioritization - Angelo Susi

Notes on the RE Course - Requirements Prioritization  

*while Angelo projected the Day3 slides for recap

Luciano Baresi – micro-services (pieces of code that are very good for Agile Team Development – they have a precise goal – not the same of micro-goal, simply precise)
Here is one of his interesting papers

For that to work, you need:
-      Reliable information/documentation about the micro-service
-      Well-developed interface to enable interconnection.

Release Plan– 

*The PhD work by Azevedo, C. seems to be of particular interest.

We must apply algorithms that are agnosticto the problems. The same algorithms that exist for so many years (e.g. genetic algorithms, markov chain based algorithms etc.) may be used to solve new problems. 
These algorithms are sensible to small changes, so you must FIRST understand the problem. 

In terms of agnostic algorithms, the human intuition works like this: the algorithms give you the RIGHT QUESTIONS to ask the stakeholders to find out the information you need.

What to do about the consistency of human information? People may lie, ignore or be bound by ethics not to disclose some information. Angelo says that there are existing decision-making algorithms that enable consistency check using mathematics.

Pareto Optimality in multi criteria

*send to Angelo the reference by … at CIbSE 2018

Interesting discussion on the kinds of approaches to solve the problem: kinds of algorithms and the tradeoff human automated vs. human assisted.

Very interesting slide on RE Prioritization Works in Literature 

Setting requirements with actual measures 

Characteristics of requirement B (on slide): 
-      Title
-      Description
-      Cost of implementation
-      Risk
-      Value for stakeholder

In practice, there is only partial knowledge about each requirement. In company A, for e.g. there are written requirements (text-based) in a worksheet and for 1 requirement in 20, there is an information given by the manager, e.g. “high risk”.

Analytic Hierarchy Process 
Very interesting decision-making algorithm;
Angelo explained it really well!

*Rank Boost (Freund, Iyer, Shapire and Singer 1998) – according to Angelo, a very well-written paper. I found a 2003 paper of this group.

Very interesting Machine learning algorithm  (named CBRank) by Angelo, Anna and Paolo Avesani. Paper on Transaction of Software Engineering 2013. A previous version was published in the RE Conference. 

To learn, the ML algorithm (named CBRank) compares its own results to rankings done by users (called domain knowledge in the algorithm). The principle was combining machine and human-based knowledge.

Disadvantage(according to a Mirheidari): linear learning. With a new/updated domain knowledge, you must of course update the pair sampling. However, you must wait for the system to learn, because it only works well after lots (let’s say 100) iterations.
*Angelo replies: ok, but we can also change the algorithm, which is an old one. However, if you read the 1998 paper, you will see that they talked about user feedback already at that moment.

*Mirheidari presentation in the class:
Paper about detecting problems in decision-making regarding security.
Categorization of over 100 works
Ref: Seyed Ali Mirheidari, Sajjad Arshad, Rasool Jalili. Alert Correlation Algorithms: A Survey and Taxonomy In: CSS

Similarity algorithms
Knowledge-based algorithms
1)   Pre-requisite and consequence
2)   Scenario
Statistical-based algorithms

They discussed advantages and disadvantages of these works based on 5 metrics that are related to their work:
-      Algorithm capability
-      Algorithm accuracy
-      Algorithm computation power
-      Required KB
-      Algorithm extendibility and flexibility.

*After the survey, he designed a hybrid approach to maximize the probability of finding the attack.

Another good survey (Seyed says even better than his): Alert correlation survey: framework and techniques. Sadoddin and Ghorbani (2006) Alert correlation survey: framework and techniques at PTS'06

Empirical Study
Angelo made a very good description of their empirical study to validate CBRank. 

Search-based approach - Angelo explained an approach based on Interactive Genetic Algorithm (IGA).

In this algorithm, an individual is a complete rank of requirements.

Getting information from the user works by restricting the population (in other words, increasing the number of constraints). An important point here is to minimize bothering the user, while also taking from her the right kind of information that will make the algorithm better (better means faster, more accurate and having less conflict).

The Production of individuals phase may also work well to generate test cases for the algorithm.

After the production of individuals, you may have conflicted individuals and this is made explicit, so that we may ask the users preferences regarding such conflict.