Selected Publications


Gonzalo Génova, M. Rosario González. Educational Encounters of the Third Kind. Science and Engineering Ethics, published online 6 December 2016.

Due to their engineering background, engineers may forget that educating a person is not the same as designing a machine, since a machine has a well-defined goal, whilst a person is capable to self-propose his or her own objectives. Educating a free person must leave space for creativity and self-determination in his or her own discovery of the way towards personal and professional fulfillment, which cannot consist only in achieving goals or solving problems selected by others. We think the consideration of three different stages in the educational process (instructing, training and mentoring) may be useful to engineers when they act as educators.

Springer Nature SharedIt full-text view-only version.

(English manuscript, Spanish manuscript)

José Luis de la Vara, Gonzalo Génova, José María Álvarez-Rodríguez, Juan Llorens. An analysis of safety evidence management with the Structured Assurance Case Metamodel. Computer Standards & Interfaces 50:179–198, February 2017.

SACM (Structured Assurance Case Metamodel) is a standard for assurance case specification and exchange. It consists of an argumentation metamodel and an evidence metamodel for justifying that a system satisfies certain requirements. For assurance of safety-critical systems, SACM can be used to manage safety evidence and to specify safety cases. The standard is a promising initiative towards harmonizing and improving system assurance practices, but its suitability for safety evidence management needs to be further studied.



Valentín Moreno, Gonzalo Génova, Manuela Alejandres, Anabel Fraga. Automatic classification of web images as UML diagrams. 4th Spanish Conference in Information Retrieval, 14-16 June 2016, Granada, Spain.

Our purpose in this research is to develop a methodology to automatically and efficiently classify web images as UML static diagrams, and to produce a computer tool that implements this function. The tool receives as input a bitmap file (in different formats) and tells whether the image corresponds to a diagram.

(try the i2m tool: Image to Model)

Gonzalo Génova, M. Rosario González. Teaching Ethics to Engineers: A Socratic Experience. Science and Engineering Ethics 22(2):567-580, April 2016.

In this paper we present the authors’ experience of teaching a course in Ethics for Engineers, which has been delivered four times in three different universities in Spain and Chile. The course has an underlying Socratic structure whose aim is to have students achieve a genuine philosophical reflection on the ethical aspects of the profession, starting from their own mindset as engineers.

(manuscript) (preliminar version in Spanish)

Gonzalo Génova, Hernan Astudillo, Anabel Fraga. The scientometric bubble considered harmful. Science and Engineering Ethics 22(1):227-235, February 2016.

This article deals with a modern disease of academic science that consists of an enormous increase in the number of scientific publications without a corresponding advance of knowledge. Findings are sliced as thin as salami and submitted to different journals to produce more papers. If we consider academic papers as a kind of scientific ‘currency’ that is backed by gold bullion in the central bank of ‘true’ science, then we are witnessing an article-inflation phenomenon, a scientometric bubble that is most harmful for science and promotes an unethical and antiscientific culture among researchers.



Gonzalo Génova. Turing and the Face of the Universe. European Journal on Science and Theology 11(4):65-71, August 2015.

This article addresses issues and individuals as (seemingly) disparate as Atapuerca, the process of hominization, thought experiments with steel balls, Galileo, Descartes, Blade Runner, Turing, and electronic forms on the Internet, in order to recall something that is forgotten time and time again: God is beyond the knowledge that is provided by and achievable through the experimental scientific method.

(preliminar version in Spanish)


Gonzalo Génova. Human factors: Intertwining of formal and empirical methods in software engineering. HaPoC Symposium at IACAP-14 Conference of the International Association for Computing and Philosophy. Thessaloniki, Greece, July 3rd 2014.

What is the science in computer science? Computer Science is a very broad term that encompasses a plurality of research areas and methods, both in “pure” science and in applied science (i.e. engineering). In particular, empirical methods are not enough to account for all kinds of scientific activity in computing. In this talk I will present a three dimensional categorization of research methods in computing: formal-empirical, science-engineering, machine-human. My final focus is on the due consideration of human factors in software engineering research.

(text, slides and recording of the oral presentation)

Gonzalo Génova, Juan Llorens, Anabel Fraga. Metamodeling generalization and other directed relationships in UML. Information and Software Technology 56:718-726, February 2014.

Being a directed relationship corresponds to the nature of generalization in the semantic domain of object orientation: a relationship that is directed from the subclass to the superclass. However, we claim that the particular form this relationship adopts in the metamodel is erroneous, which entails a series of inconveniencies for model manipulation tools that try to adhere to the UML specification. Moreover, we think that this error could be due to a misinterpretation of the relationships between metamodeling levels in the UML: represented reality (M0), model (M1) and metamodel (M2). This problem also affects other directed relationships: Dependency and its various subtypes, Include and Extend between use cases, and others.



Gonzalo Génova, José M. Fuentes, Juan Llorens, Omar Hurtado, Valentín Moreno. A framework to measure and improve the quality of textual requirements. Requirements Engineering Journal 18(1):25-41, March 2013.

Improving the quality of software demands quality controls since the very beginning of the development process, i.e. requirements capture and writing. Automating quality metrics may entail considerable savings, as opposed to tedious, manually performed evaluations. We present some indicators for measuring quality in textual requirements, as well as a tool that computes quality measures in a fully automated way.



Gonzalo Génova, Juan Llorens, Jorge Morato. Software engineering research: the need to strengthen and broaden the classical scientific method. In Manuel Mora, Ovsei Gelman, Annette L. Steenkamp and Mahesh Raisinghani (eds.), Research Methodologies, Innovations and Philosophies in Software Systems Engineering and Information Systems. IGI Global, 2012, 106-125.

The classical scientific method has been settled through the last centuries as a cyclic, iterative process of observation, hypothesis formulation, and confirmation/refutation of hypothesis through experimentation. This “experimental scientific method” was mainly developed in the context of natural sciences dealing with the physical world, such as Mechanics, Thermodynamics, Electromagnetism, Chemistry and so on. But when we try to apply this classical view of the scientific method to the various branches of Computer Science and Computer Engineering, among which Software Engineering, we find two kinds of obstacles.


Gonzalo Génova. Conceptos básicos de modelado. En Jesús García Molina, Félix O. García Rubio, Vicente Pelechano, Antonio Vallecillo, Juan Manuel Vara, Cristina Vicente-Chicote (eds.), Desarrollo de Software Dirigido por Modelos: Conceptos, Métodos y Herramientas. RAMA, 2012, pp. 67-80.

En este capítulo se introducen algunos conceptos básicos del Desarrollo de Software Dirigido por Modelos (DSDM): modelo, diagrama, lenguaje de modelado, punto de vista, semántica, sintaxis, metamodelo y lenguaje específico de dominio.


Gonzalo Génova, M. Rosario González. Cuatro problemas del  método científico-experimental que reclaman la apertura a la inteligencia meta-metódica. In Manuel Oriol (ed.), Inteligencia y filosofía. Marova, 2012, pp. 661-680.

El método científico experimental clásico ha quedado establecido en los últimos siglos como un proceso cíclico e iterativo de observación de fenómenos, formulación de hipótesis explicativas, y confirmación o refutación de las mismas mediante experimentación. Por otra parte, ni los métodos formales ni los métodos empíricos pueden explicar completamente la actividad científica, que descansa en algo que está más allá de cualquier método establecido.



Gonzalo Génova. Is Computer Science truly scientific? Reflections on the (experimental) scientific method in Computer Science. Communications of the ACM 53(7): 37-39, July 2010.

We are sorry to inform you that your paper has been rejected, due to the lack of empirical evidence supporting it. It may well happen that some of us, in the course of our academic lives, have received, perhaps more than once, a communication similar to the one at the top of this article. It seems there is a widespread idea that a work only deserves to be qualified as “scientific” if it is supported by “empirical evidence” (from the Greek empeiría, experience). My purpose in this article is to present some arguments (and if possible convince the reader) that this stance is completely insufficient, and to recover a place in our academic lives for a kind of research that is more speculative than experimental in character.



Gonzalo Génova, María C. Valiente, Mónica Marrero. On the difference between analysis and design, and why it is relevant for the interpretation of models in Model Driven Engineering. Journal of Object Technology 8 (1): 107-127, January 2009.

Our initial concern stems from this question: which is the characteristic difference between an analysis model and a design model? Our research on the related literature will show that there is not a unanimously accepted understanding of this difference among the community of software engineers. In other words, we think this traditional duality conveys really a triple difference that cannot be properly expressed through a single dimension, but rather requires three orthogonal dimensions. Failing to acknowledge this triple difference leads to confuse the meaning of models, which has a practical relevance for the way models are interpreted and used in real software projects.


Gonzalo Génova, M. Rosario González, Anabel Fraga. Ethical education in software engineering: responsibility in the production of complex systems. Science and Engineering Ethics 13(4):505-522, December 2007.

Among the various contemporary schools of moral thinking, consequence-based ethics, as opposed to rule-based, seems to have a good acceptance among professionals such as software engineers. But naïve consequentialism is intellectually too weak to serve as a practical guide in the profession. Besides, the complexity of software systems makes it very hard to know in advance the consequences that will derive from professional activities in the production of software.



Gonzalo Génova, Juan Llorens. The Emperor’s New Use Case. Journal of Object Technology 4(6): 81-94, Aug 2005.

In UML, use cases are meta-modeled as classifiers. Classifiers specify a set of instances, and use case instances are said to be concrete system-actor interactions. But it is not clear how an interaction can have classifier features such as attributes, operations and associations. Therefore, we challenge the notion that use case instances are interactions. We also propose a notion of use case (a coordinated use of system operations) that is very close to the traditional protocol, therefore concluding that use cases and protocols are not essentially different things.

Gonzalo Génova, María C. Valiente, Jaime Nubiola. A Semiotic Approach to UML Models. First International Workshop on Philosophical Foundations of Information Systems Engineering-PHISE, 13-14 June 2005, Porto, Portugal. Proceedings of the CAiSE’05 Workshops, vol. 2, pp. 547-557.

When software engineers say “analysis”, they can refer mainly to two different kinds of modeling activities, or they can even mix them carelessly: building software models (in fact, a first step in design where the external view of the software system is specified) or building “real world” models. The main danger of confusing both kinds of models would be building a model of the real world and then using it as a specification of the software system, producing a system that needlessly matches the structure of the real world.


Gonzalo Génova, Juan Llorens, Jaime Nubiola. Los casos de uso: un método abductivo aplicado a la ingeniería de requisitos. En José María Cavero, Belén Vela y Esperanza Marcos (eds.), Aspectos Filosóficos, Psicológicos y Metodológicos de la Informática, 265-274. Servicio de Publicaciones de la Universidad Rey Juan Carlos, Editorial Dykinson, 2005.

La labor investigadora del ingeniero de requisitos se asemeja en sus procesos de razonamiento a la del científico experimental, salvo que, en lugar de interrogar a la naturaleza para conocer sus leyes, interroga al cliente que solicita una aplicación informática para conocer sus necesidades. Esta actividad requiere tanto trabajo metódico como una buena dosis de creatividad e ingenio.



Gonzalo Génova, Juan Llorens, José Miguel Fuentes. UML Associations: A Structural and contextual View. Journal of Object Technology 3(7): 83-100, Jul-Aug 2004.

The different kinds of communication links that can exist in an interaction among objects pose the question of whether every link is or is not an instance of an association, and whether an association must exist whenever there is a communication path between objects. The distinction between static and dynamic associations is not adequate to solve this problem, since in object-orientation every association has static and dynamic features, so that these two aspects do not serve to define two disjoint subtypes of association.

Gonzalo Génova, Juan Llorens. On the Nature of Use Case-Actor Relationships. Upgrade – The European Journal for the Informatics Professional 5(2), April 2004.

Use case diagrams are one of the key concepts in the Unified Modeling Language (UML), but their semantics and notation have some gaps that lead to frequent misunderstandings among practitioners, even about very basic questions. In this paper we address some issues regarding the relationships in which use cases and actors may take part, presently defined in UML as associations.



Gonzalo Génova, Carlos Ruiz del Castillo, Juan Llorens. Mapping UML Associations into Java Code. Journal of Object Technology 2(5): 135-162, Sep-Oct 2003.

Object-oriented programming languages do not contain syntax or semantics to express associations directly. Therefore, UML associations have to be implemented by an adequate combination of classes, attributes and methods. This paper presents some principles for the implementation of UML binary associations in Java, paying special attention to multiplicity, navigability and visibility. Our analysis has encountered some paradoxes in the specification of visibility for bidirectional associations. These principles have been used to write a series of code patterns that we use in combination with a tool that generates code for associations, which are read from a model stored in XMI format.

Gonzalo Génova, Juan Llorens, Vicente Palacios. Sending Messages in UML. Journal of Object Technology 2(1): 99-115, Jan-Feb 2003.

In this paper we try to clarify the issue of associations as a communication infrastructure between objects, in search for a unified view of the static and dynamic aspects of associations. Communication through associations depends on navigability and visibility, therefore the interlacement of these two concepts is examined. But first the very definition of navigability has to be settled, since the concept of navigability of associations in UML is poorly explained in the official documentation.


Gonzalo Génova, Juan Llorens, Paloma Martínez. The Meaning of Multiplicity of N-ary Associations in UML. Journal on Software and Systems Modeling, 1(2): 86-97, Dec 2002.

The concept of multiplicity in UML derives from that of cardinality in entity-relationship modeling techniques. The UML documentation defines this concept but at the same time acknowledges some lack of obviousness in the specification of multiplicities for n-ary associations. This paper shows an ambiguity in the definition given by UML documentation and proposes a clarification to this definition, as well as a simple extension to the current notation to represent other multiplicity constraints, such as participation constraints, that are equally valuable in understanding n-ary associations.


Note: The UML Specification included in version 2.0 onwards (2005) the following text: “For n-ary associations, the lower multiplicity of an end is typically 0. The lower multiplicity for an end of an n-ary association of 1 (or more) implies that one link (or more) must exist for every possible combination of values for the other ends”.

Gonzalo Génova, Juan Llorens, Víctor Quintana. Digging into Use Case Relationships. The 5th International Conference on the Unified Modeling Language-UML’2002, September 30-October 4 2002, Dresden, Germany. Published in Lecture Notes in Computer Science 2460, Springer 2002, pp. 115-127.

Use case diagrams are one of the key concepts in the Unified Modeling Language, but their semantics and notation have some gaps that lead to frequent misunderstandings among practitioners, even about very basic questions. In this paper we address some issues regarding the relationships in which use cases may take part. The Include and Extend relationships between two use cases have presently an inconsistent definition, since they are represented as stereotyped dependencies, but they are not true dependencies in the metamodel. Besides, the direction of the dependency arrow in the Extend relationship can be misleading, unnatural and difficult to understand for the common practitioner. Finally, we show also some conceptual problems regarding the included or extending use cases, which in our opinion are not true use cases.



Gonzalo Génova. Semantics of navigability in UML associations. Technical Report UC3M-TR-CS-2001-06, Computer Science Department, Carlos III University of Madrid, November 2001, pp. 233-251.

The concept of navigability of associations in UML is poorly explained in the official documentation. This paper tries to express clearly and concisely the conceptual asymmetry of associations that is expressed as navigability, examining its relation to other language elements (association name direction and visibility), showing the main consequences of an association being navigable (ability to send messages and induced dependency), exploring properties that depend on navigability (association invertibility and navigation efficiency), and defining some preferences about the notation of navigability. This analysis of navigability can help to solve the “bidirectional versus unidirectional associations” dilemma, by revealing some central aspects of the concept of association as “knowledge”.

Doctoral Dissertation in Computer Science and Engineering – 2003

Entrelazamiento de los aspectos estático y dinámico en las asociaciones UML (Interlacement of Structural and Dynamic Aspects in UML Associations).

Directed by Prof. Dr. Juan Llorens at Universidad Carlos III de Madrid.

Full text (in Spanish) and summary (in English).

Related publications above:

    • UML Associations: A Structural and contextual View, 2004.
    • Mapping UML Associations into Java Code, 2003.
    • Sending Messages in UML, 2003.
    • The meaning of multiplicity of n-ary associations in UML, 2002.
    • Semantics of navigability in UML associations, 2001.

Masters Thesis in Philosophy – 1997

Charles S. Peirce: La lógica del descubrimiento (Charles S. Peirce: The Logic of Discovery).

Directed by Prof. Jaime Nubiola at Universidad de Navarra.

Cuadernos de Anuario Filosófico, Serie Universitaria Nº 45, Servicio de Publicaciones de la Universidad de Navarra, Pamplona, 1997.

Full text (in Spanish). Also from here (slightly different version).