Petrography of the Cenomanian-Turonian transgression in the Potiguar Basin: Petroledge Success Case

This article about petrography and Petroledge was written by Ana Bárbara Sampaio da Costa (Terra & Mar, Geophysics and Geology Solutions). Endeeper gratefully acknowledges Terra & Mar, Geophysics and Geology Solutions.

The Cenomanian-Turonian passage is globally known as the largest marine transgression during the 250 Ma.

In the Potiguar Basin, northeastern Brazil, this passage occurs within the stratigraphic interval constituted by the Açu and Jandaíra formations.

A detailed petrographic analysis of this interval was executed by the description of 190 thin sections using the Petroledge® system for petrography.

The study using petrography was performed through the detailed characterization and quantification of the primary and diagenetic constituents, and pore types.

The reconstruction of the primary detrital composition supported the interpretation of the clastic provenance. The analysis of the diagenetic processes and constituents allowed identifying their impacts on the porosity, establishing paragenetic sequences, and inferring paleoenvironmental information. The identification and quantification of the different pore types made possible to reveal the relationships among the diagenetic processes and the modification of pore space.

The effective integration of petrographic data and information, made possible by use of the Petroledge® system, revealed the following:

  • The predominantly siliciclastic units Açu-3 and Açu-4, from the initial phase of development of the marine transgression, provided from uplifted blocks of the plutonic basement, being affected essentially by diagenetic processes indicative of continental eodiagenesis under dry climate, including mechanical clay infiltration.
  • The late phase of eustatic development (upper Açu-4 unit) is represented by the deposition of hybrid sediments, constituted by extrabasinal grains derived from the uplifted basement, carbonate and non-carbonate intrabasinal grains. Their diagenetic alterations are indicative of eodiagenetic conditions transitional between marine and meteoric.
  • The deposition of the Jandaíra Fm. Characterizes the maximum of the transgression, with establishment of a carbonate platform, which sediments were affected by marine eodiagenetic processes, including intense calcite cementation.

The use of the Petroledge® software was fundamental for assuring the quality and coherence of the obtained data, allowing their effective integration with stratigraphic and sedimentologic information.

Digital Petrography by Petroledge - Illustrative
Digital Petrography by Petroledge – Illustrative

Ontologies and data models for petroleum exploration

This post shows how ontologies can play a central role in data integration for petroleum exploration.

Petroleum exploration and production rest on reservoir models that integrate a large set of data of various kinds. The common backbone of these data is the object of the modeling itself: the reservoir and the geological properties attached to it. Each category of professionals involved in the reservoir study views this reality according to some specific field of knowledge. These specialists thus generate various sets of data, each resting on a different conceptualization of one same object: the petroleum prospect. The resulting data models can be efficient in attending a particular application, but they are hardly interoperable and thus difficult to use in federate software environments. In view of this situation, petroleum exploration appears to be a domain rich in challenges related to conceptual modeling and data integration, in which ontologies can play a central role.

Ontology definition

Ontology is a branch of Philosophy that studies the nature of existent beings and their mutual relationships. In Computer Science, the term ontology/ontologies has been used to designate an artifact (a file, a description, a representation) that formally describes, in a computer language, a set of concepts, whose meaning is shared by a community of practitioners. Significant progress was made in the field of ontologies in the late 90’s, when Nicola Guarino analyzed the various meanings in which the word ontology was being used (Guarino 1998). He insisted on the idea that an ontology is, primarily, a logical theory accounting for the intended meaning of the formal vocabulary utilized by a community for naming the elements of its domain. Guarino introduced a few meta‐properties based on philosophical notions, such as identity, unity, rigidity, and dependence (Guarino & Welty 2000), which greatly help to clarify the meaning of the concepts that are currently expressed by means of domain ontologies in the various fields. We intend to demonstrate here, by a gentle introduction of two of these metaproperties – rigidity and dependence ‐ that analyzing information through the view of ontological metaproperties, as proposed by Guarino, can be helpful for reducing both the complexity and the ambiguity of data models.

The use of ontological metaproperties in modeling

The first useful ontological notion is essence. According to (Guarino & Welty 2004), a property attached to an entity is essential to this entity if it must hold for it in every possible world. For example, being crystalline is an essential property for a mineral but it is not for a gemstone, since we can produce gemstone from non‐crystalline material, like amber. When a property is essential for every instance that can exhibit it, we say that this property is rigid. The notion of property, in Logic, refers to every predicate that can be applied to a given instance, like “being a horse”, “being a mineral” or “having a brain”. In our example, “being crystalline” is essential for minerals, but not for other substances, like glass, so it is not a rigid property. Considering another example, a human being is an instance of the concept person and a human being is a person along all his life (and even after). Then the quality of “being a person” is rigid since there is no instance of human being that can stop being a person. Conversely, being a student is not a rigid property, since someone can stop being a student without stopping existing. A piece of mineral cannot stop being a mineral, but an entity which we consider being a gemstone, has not been a gemstone all along its existence since it was not one before having been cut and polished in order to be used in jewelry. Student and gemstone are defined by anti‐rigid properties that define roles, like a student related to a person, or phases, like gemstones related to some mineral piece.

The notions of essence and rigidity help in identifying the concepts in the domain that provide the identity to individuals and can be tracked in the models. It thus allows one to identify vocabulary practices that may cause ambiguity like denominating instances of a domain according to anti‐rigid properties and building models over anti‐rigid concepts. For example, naming a person as a “client”, a geographic area as a “prospect”, a geological unit as an “economic target” hardly help in producing long term integrable models.
In the field of data models, considering essential properties allows one to correctly identify entities and to produce a more precise representation, which facilitates further integration and interoperability. We will analyze here a simple example related to petroleum exploration: the modeling of the entity reservoir.

In the context of petroleum exploration, a reservoir is a volume inside a prospect, which may contain petroleum and water. For modeling it, we must examine whether the property of “being a reservoir” is rigid or not. In other words, we should decide whether some entity called “reservoir” may stop being a reservoir and still exist. The answer strongly depends on the modeler’s conceptualization of a reservoir. Some geologists may simply define a reservoir as a portion of rock having high porosity/permeability. This definition is rooted in some intrinsic properties of the entity (porosity and permeability) that cannot be lost . In this case, “being a reservoir” is a rigid property. This first conceptualization will produce the model showed in the Figure 1(a).

Alternative models for the entity reservoir based on intrinsic essential properties (a) or on external dependence (b).
Figure 1 – Alternative models for the entity reservoir based on intrinsic essential properties (a) or on external dependence (b).

However, some other geologists will consider that a portion of rock with high porosity and permeability is not a reservoir until its voids actually contain petroleum or water. This second definition implies that an instance will stop being a reservoir if it stops having water or petroleum inside its empty voids. If a reservoir is exposed to air, it will lose its content of petroleum or water, but the volume of rock to which it corresponds will not disappear. But, according to our second model definition, it will stop being a reservoir. The property of being a reservoir in this second model is anti‐rigid. It is just a role of some existent portion of rock that should be considered as an entity of another concept, such as Rock body, and modeled in this way in the data model.

As shown in Figure 1 (b), this second model requires the modeling of a second entity, petroleum or water, which specifies the relational dependence that affects the instance of the reservoir that we consider. Any instance of an anti‐rigid role concept has a relational dependence on some instance of another concept. It can exist only if the relationship exists. For example, a “student” cannot be a student if there does not exist some school or university in which he/she is registered. In our second model, an instance of reservoir cannot exist if there does exist a fluid (water or petroleum) inside its voids.

Deciding what is the rigid entity that provides identity to the several roles that an instance can assume is a central task in producing precise and efficient data models. The taxonomic (or hierarchical) structures that are defined, determine the subsumption relations that can be established between the various entities. Entities defined by anti‐rigid properties cannot subsume entities (i.e. be the super class of) rigid ones (Guizzardi & Wagner 2005). Let us consider the schema shown in figure 2, which intends to model the variety of reservoirs that are explored in a petroleum company.

Wrong use of the subsume relation.
Figure 2 – Wrong use of the subsume relation.

The model shown in figure 2 is wrong because the class Reservoir cannot subsume the subclasses Sandstone and Fractured schist. According to the schema of figure 2, the reason is that, the extensions (instances) of Sandstone and Fractured schist should be also extensions of Reservoir but this is not right since these rocks do not always constitute reservoirs. According to the design pattern proposed Guizzardi in (Guizzardi & Wagner, 2005) for dealing with such cases, we propose a better model on the schema of Figure 3. In this schema, the entities marked in grey are defined by rigid properties.

Conceptual modeling based on ontology properties - ontologies.
Figure 3 – Conceptual modeling based on ontology properties.

Advantages on ontological analysis

Ontological choices are not only an academic issue related to different modeling options. These choices have practical consequences for model usage and data consultation. In the example, the option of considering the reservoir entity as dependent of the entity fluid allows to create instances of fluid types or occurrences and to associate them to a particular instance of reservoirs. The first modeling option doesn´t allow this usage. Moreover, the model ambiguity can be reduced when the meaning of the represented entities is made explicit. This avoids that the same vocabulary be used to refer to two or more concepts that modelers or users consider being distinct. We additionally claim that providing a common framework based on essential entities allows reducing the number of entities and complexity of the resulting model. Other ontological metaproperties require a better analysis in conceptual modeling activity. Especially in Petroleum Geology, properties like identity and unity can help in defining what exactly are the entities of reality that are being modeled in the database and also provide a good support to integrate models in the several scales of analysis (microscopic, well, reservoir, basin scales) into the petroleum chain. These metaproperties will be object of a further discussion.

Example of ontology for rock data management: Strataledge.

Acknowledgement: This article about ontologies is a corrected version of those published on Foundation Journal of the Professional Petroleum Data Management Association, Vol 3, Issue 1, pp.18‐19, 2016. We are grateful to Nicola Guarino by the improvement in conceptual issues after the publication.

Authors: Abel, M.(1); Perrin, M.(2) ; Carbonera, J.L. (1); Garcia, L. (1)
(1)Informatics Institute – Universidade Federal do Rio Grande do Sul, Brazil
(2) Geosiris, France.


  • Abel M., Perrin M. & Carbonera J. (2015). Ontological analysis for information integration in geomodeling. Earth Science Informatics, 8, 21‐36. Springer.
  • Guarino, N., ed. (1998), Formal Ontology in Information Systems. Proceedings of FOIS’98, Trento, Italy, 6‐8 June 1998, 3‐15. IOS Press,
  • Guarino, N., ed. (1998), Formal Ontology in Information Systems. Proceedings of FOIS’98, Trento, Italy, 6‐8 June 1998. Amsterdam, IOS Press, pp. 3‐15.
  • Guarino N. & Welty C. (2000). “A Formal Ontology of Properties”. In: The ECAI‐2000 Workshop on Applications of Ontologies and Problem‐Solving Methods. IOS Press
  • Guarino N. & Welty C.A. (2004). “An overview of OntoClean”. In: Handbook of Ontologies (eds. Staab S & Studer R). pp. 151‐171. Springer
  • Guizzardi G. & Wagner G. (2005). Some applications of a unified foundational ontology in business modeling. Ontologies and Business Systems Analysis, 345‐367. IGI Global.

The Power of Ontologies for Knowledge Management

Ontologies, as a tool for knowledge management, contribute to organize and make explicit the knowledge modeller intentions. Let’s take a look.

Tacit knowledge, as defined by Nonaka and Takeuchi, is the type of knowledge residing in people’s minds, while explicit knowledge is the type of knowledge not residing in people’s minds but in structured documents and central repositories of knowledge, for example [Nonaka, 2008] . A knowledge management project is an effort developed by companies in order to collect the tacit knowledge, which is distributed among the employees, and turn it into a company asset as explicit knowledge [Davemport, 1998].

Ontologies have their origin in the Philosophy field and refer to a system of categories that commit to a certain vision of the world [Guarino, 1998]. They are applied in computer science in order to capture domain knowledge and to explicit the assumptions that define the knowledge’s intended meaning [Guarino, 1998]. The picture below shows a simple example where two people use the same vocabulary to communicate. They use the same vocabulary representation (the word “Orange”), but they refer to different meanings: one talks about the color, while the other talks about the fruit. This is a common communication problem when exchanging information using documents or when integrating software systems. Applying ontologies to capture domain knowledge allows the knowledge engineer, responsible for a knowledge management project, to identify the company’s knowledge, structure it, and store it independently from the people who use that knowledge on their daily activities.

Ambiguity - Knowledge Management



The problem of ambiguity: two people talking to each other and using the same vocabulary, while the intended meanings are different.

Ontologies are currently being applied to the petroleum exploration chain to make it possible to capture the semantics behind the representations defined for geological reservoir models. They also provide support for data interoperability among the software systems applied to the petroleum exploration chain. Endeeper develops a family of ontology-based software systems. Petrographic software systems like Petroledge, Hardledge, and RockViewer are based on the Petrographic Ontology, which was created by [Abel, 2001]. Strataledge is based on the Stratigraphic Ontology, which was created by [Lorenzatti, 2010]. Both ontologies are maintained by Endeeper and are in constant evolution in order to better capture the geological knowledge applied by companies to describe rocks and evaluate the quality of petroleum reservoirs.


  • Abel, M. The study of expertise in Sedimentary Petrography and its significance for knowledge engineering (in Portuguese). (Doctoral Thesis ). Informatics Institute Federal University of Rio Grande do Sul, Porto Alegre, 2001. 239 p.
  • Davenport, Thomas H., David W. De Long, and Michael C. Beers. “Successful knowledge management projects.” MIT Sloan Management Review 39.2 (1998): 43.
  • Guarino, N. Formal Ontology in Information Systems In: N. GUARINO (Ed.). Formal Ontology in Information Systems, FOIS’98. Trento, Italy: IO Press, 1998. Formal Ontology in Information Systems p.6-8 June 1998.
  • Lorenzatti, A. Ontology for Imagistic Domains: combining textual and pictorial primitives (in Portuguese). (Master Dissertation). Informatics Institute Federal University of Rio Grande do Sul, Porto Alegre, 2010.
  • Nonaka, Ikujiro. The knowledge-creating company. Harvard Business Review Press, 2008.

Importance of Android source code obfuscation

Obfuscation is a method applied to transform a message into a difficult to read message. Android source code obfuscation is applied to make it difficult the reverse engineering of some application code.

However, it is important to mention that it is a method which is not a complete protection and it is just a way of discouraging others from accessing the code.

Proguard is the obfuscation tool used in Android projects and it is supported by Android Studio and Eclipse using the Android SDK. Besides obfuscating the code, it removes unused or unreachable code, sorts and optimizes the application bytecode and simplifies the logical and arithmetic operations. There are many restrictions in the mobile software development environment. Restricted access to the Internet and limited power availability are just two of them. Thus, using a tool like Proguard is interesting to improve the quality of your software and consequentially the user experience.

In order to illustrate the application of Proguard tool with obfuscation enabled, we created a Java class named Sample which contains a method implementing the factorial function and some other controlling code. Obfuscation changes the names of the class, methods, and variables to random symbols which makes much more difficult to understand the code. Unused code (unusedMethod) and the unreacheable code (debug ‘if’ clause) are removed by Proguard in order to optimize the final code used by the software application.

When publishing your application on the Play Store remember that developers are required to obfuscate the application code. Recently, the Android developer console started to offer developers the possibility to associate the generated obfuscation map to each of the published versions of the application. Using this feature, developers are able to visualize the non-obfuscated stack trace of an error right through the console and identify the source of the problem.

Android and Java projects developed by Endeeper are always obfuscated in order to keep the quality of our products. Contact us if you have any comments or questions.

public class Sample {
    private static final boolean DEBUG_ON = false;
    public int factorial(int number) {
        if (DEBUG_ON) {
            System.out.println("This will be removed");
        if (number == 0) {
            return 1;
        } else {
            return number * factorial(number - 1);
    private void unusedMethod() {
        // This method will be removed
public class A {
  public int b(int a) {
    if (a==0) {
      return 1;
    return a*b(a-1);


Benefits of CSS Styling in JavaFX Projects

One of the great features brought by JavaFX is the support to Cascading Style Sheets (CSS) to style the application and its graphic components.

The JavaFX supports version 2.1 of the CSS specification and adds a few own extensions with the prefix -fx. In web pages the CSS interacts with the Document Object Model (DOM) of HTML and allows the style applied in a parent element to be available to all children elements. In this way, if a font size of 14 points is applied in a parent list element all list-items elements will have a font size of 14 points. The CSS behavior in JavaFX is very similar but using the Node hierarchy. If a style is defined in a parent Node all children Node will have the same style.

The CSS code responsible for styling a graphic component is saved in a style file (with .css suffix) detached from the code responsible for component structure. Therefore, the Java classes will be smaller and simpler, and the style changing will be directly in the style file. To exemplify the benefits of CSS styling in JavaFX graphic components we will build and style a simple component using Java and CSS code.

Our component has two vertically stacked buttons and we want both to have the same style. In the first case we only use Java code to define the style of the buttons. In the second case we create a CSS class and apply it to both buttons.

The visual result of both codes is the same, but the difference in size and complexity of the code is huge. Thereby, the systems developed by Endeeper with JavaFX technology use CSS to style the graphic components. A single Endeeper software may have different visual according to the individual requirements of each client.

Button button = new Button("Geology Rocks!");
button.setBackground(new Background(new BackgroundFill(Color.web("CC7722"), new CornerRadii(127), Insets.EMPTY)));
button.setBorder(new Border(new BorderStroke(Color.TRANSPARENT, BorderStrokeStyle.NONE, new CornerRadii(127), BorderWidths.EMPTY)));
button.setEffect(new InnerShadow(BlurType.THREE_PASS_BOX, Color.web("27496d"), 2, 0, 0, 0));
button.setFont(Font.font("Trebuchet MS", 18.0));
Button button2 = new Button("Geology Rocks even more!");
button2.setBackground(new Background(new BackgroundFill(Color.web("CC7722"), new CornerRadii(127), Insets.EMPTY)));
button2.setBorder(new Border(new BorderStroke(Color.TRANSPARENT, BorderStrokeStyle.NONE, new CornerRadii(127), BorderWidths.EMPTY)));
button2.setEffect(new InnerShadow(BlurType.THREE_PASS_BOX, Color.web("27496d"), 2, 0, 0, 0));
button2.setFont(Font.font("Trebuchet MS", 18.0));
Button button1 = new Button("Geology Rocks!");
Button button2 = new Button("Geology Rocks even more!");
.geology-btn {
    -fx-font: 18px "Trebuchet MS";
    -fx-text-fill: white;
    -fx-background-color: #CC7722;
    -fx-effect: innershadow( three-pass-box , #27496d , 2, 0, 0, 0);
    -fx-border-radius: 15px;
    -fx-background-radius: 15px;
JavaFX with CSS
JavaFX with CSS






Petrography by Petroledge: Campos Basin success case

This post presents an example of project that uses Petroledge for understanding the Campos Basin rift reservoirs using petrography.


Digital Petrography by Petroledge and Stageledge
Digital Petrography by Petroledge and Stageledge

An integrated, seismic-stratigraphic-sedimentological-petrographic project, developed by Brazil’s Rio Grande do Sul Federal University for BG Group, shed new light on the depositional and diagenetic controls on the origin, geometry, distribution, quality and heterogeneities of Campos Basin rift reservoirs and associated lithologies.

The use of the PETROLEDGE® system was vital for the systematic acquisition, storage and processing of petrographic data from the complex and unconventional rocks that constitute the pre-salt, rift section of the basin. “Our understanding of the dominantly intrabasinal nature of the rift sediments and their conspicuous re-deposition by gravitational processes was enhanced by the detailed, yet flexible petrographic descriptions allowed by PETROLEDGE®”, says Dr. Karin Goldberg, head of UFRGS project. Campos rift sediments are essentially constituted by complex mixtures of carbonate bioclasts, siliciclastic and volcaniclastic particles, and stevensite (Mg-smectite) ooids and peloids.

Endeeper PETROLEDGE® system is being used globally by a series of universities and exploration companies, which are taking advantage of the systematic and efficient acquisition and processing of petrographic information generated by the system.

Tools for RESQML data management

RESQML™, according to Energistics, is an industry initiative to provide open, non-proprietary data exchange standards for reservoir characterization, earth and reservoir models.

We have recently released an article that describes the public domain tools that the RESQML community is offering for allowing developers and end users to validate RESQML EPC instances written and read by RESQML users: software vendors (Paradigm, Schlumberger, and others), petroleum companies (Total, Shell, Chevron) owning proprietary products or international research centres.

Endeeper team can help oil and gas companies to evaluate the adoption of RESQML standard.

Click here to get more information about the RESQML tools article.