Variability Extraction from Simulator I/O Data Schemata in Agriculture Decision-Support Software

The context of this work is the development of software systems that help in decision making in the agriculture domain at our industrial partner, ITK. These software systems include simulators which help farmers to understand and predict plants life cycle. Each plant and each kind of prediction has its own parameters. For example, yield prediction for wheat is very specific and different from vine disease prediction. There are however some common characteristics, like the fact that these simulators take as input weather data. The goal of the project on which we work is to build a software product-line in order to: i) enable an easy derivation of new products (by IT teams) with new simulators (built by agronomist teams), and ii) simplify the maintenance of the existing large code base of our industrial partner. The construction of this product-line passes through the extraction of variable and common characteristics of all existing products at ITK. The extraction process may be laborious and time consuming. We study in this work the automation of this process, by focusing on the schemata of data received as input and produced as output by simulators. We hypothesize that Formal Concept Analysis (FCA) is a useful tool for extracting software variability, i.e. highlight commonalities and specifics for assisting IT/agronomist teams in software construction. In this paper, we propose a process for variability extraction. This process is based on a set of pre-processing steps to prepare data for FCA tools. These tools build at the end of the process an AOC-Poset, i.e. a conceptual structure derived from the concept lattice in which we can identify common and variable characteristics. We implemented this process and experimented it on a set of six simulators. We obtained promising results towards the construction of the software

[1]  Bernhard Ganter,et al.  Formal Concept Analysis: Mathematical Foundations , 1998 .

[2]  Gerd Stumme,et al.  Ontology Merging for Federated Ontologies on the Semantic Web , 2001, OIS@IJCAI.

[3]  Juan Enrique Ramos,et al.  Using TF-IDF to Determine Word Relevance in Document Queries , 2003 .

[4]  Marie-Catherine Daniel-Vatonne,et al.  On a tree-like representation for symbolic-numeric data and its use in Galois lattice method , 1998, Proceedings SCCC'98. 18th International Conference of the Chilean Society of Computer Science (Cat. No.98EX212).

[5]  Mathieu Acher,et al.  Breathing ontological knowledge into feature model synthesis: an empirical study , 2015, Empirical Software Engineering.

[6]  Klaus Kabitzsch,et al.  Extraction of feature models from formal contexts , 2011, SPLC '11.

[7]  Aleksey Buzmakov,et al.  Exploring Pattern Structures of Syntactic Trees for Relation Extraction , 2015, ICFCA.

[8]  Bernhard Ganter,et al.  Pattern Structures and Their Projections , 2001, ICCS.

[9]  Paul Clements,et al.  Variability in Software Product Lines , 2005 .

[10]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[11]  Abdelhak-Djamel Seriai,et al.  Reverse Engineering Feature Models from Software Configurations using Formal Concept Analysis , 2014, CLA.

[12]  Clémentine Nebut,et al.  Using Formal Concept Analysis to Extract a Greatest Common Model , 2012, ICEIS.

[13]  Clémentine Nebut,et al.  Modelling equivalence classes of feature models with concept lattices to assist their extraction from product descriptions , 2019, J. Syst. Softw..

[14]  Florence Le Ber,et al.  AOC-Posets: a Scalable Alternative to Concept Lattices for Relational Concept Analysis , 2013, CLA.

[15]  F. Loesch,et al.  Restructuring Variability in Software Product Lines using Concept Analysis of Product Configurations , 2007, 11th European Conference on Software Maintenance and Reengineering (CSMR'07).

[16]  Clémentine Nebut,et al.  Towards the Extraction of Variability Information to Assist Variability Modelling of Complex Product Lines , 2018, VaMoS.

[17]  Jessie Carbonnel,et al.  L'analyse formelle de concepts: un cadre structurel pour l'étude de la variabilité de familles de logiciels. (Formal concept analysis: a structural framework to study variability in software families) , 2018 .