![]() Jahic, Benjamin ![]() ![]() ![]() in Information (2023), 14(4), Neural network (NN) components are being increasingly incorporated into software systems. Neural network properties are determined by their architecture, as well as the training and testing datasets used ... [more ▼] Neural network (NN) components are being increasingly incorporated into software systems. Neural network properties are determined by their architecture, as well as the training and testing datasets used. The engineering of datasets and neural networks is a challenging task that requires methods and tools to satisfy customers’ expectations. The lack of tools that support requirements specification languages makes it difficult for engineers to describe dataset and neural network recognition skill requirements. Existing approaches often rely on traditional ad hoc approaches, without precise requirement specifications for data selection criteria, to build these datasets. Moreover, these approaches do not focus on the requirements of the neural network’s expected recognition skills. We aim to overcome this issue by defining a domain-specific language that precisely specifies dataset requirements and expected recognition skills after training for an NN-based system. In this paper, we present a textual domain-specific language (DSL) called SEMKIS-DSL (Software Engineering Methodology for the Knowledge management of Intelligent Systems) that is designed to support software engineers in specifying the requirements and recognition skills of neural networks. This DSL is proposed in the context of our general SEMKIS development process for neural network engineering. We illustrate the DSL’s concepts using a running example that focuses on the recognition of handwritten digits. We show some requirements and recognition skills specifications and demonstrate how our DSL improves neural network recognition skills. [less ▲] Detailed reference viewed: 33 (2 UL)![]() Jahic, Benjamin ![]() Doctoral thesis (2022) Today, there is a high demand for neural network-based software systems supporting humans during their daily activities. Neural networks are computer programs that simulate the behaviour of simplified ... [more ▼] Today, there is a high demand for neural network-based software systems supporting humans during their daily activities. Neural networks are computer programs that simulate the behaviour of simplified human brains. These neural networks can be deployed on various devices e.g. cars, phones, medical devices...) in many domains (e.g. automotive industry, medicine...). To meet the high demand, software engineers require methods and tools to engineer these software systems for their customers. Neural networks acquire their recognition skills e.g. recognising voice, image content...) from large datasets during a training process. Therefore, neural network engineering (NNE) shall not be only about designing and implementing neural network models, but also about dataset engineering (DSE). In the literature, there are no software engineering methodologies supporting DSE with precise dataset selection criteria for improving neural networks. Most traditional approaches focus only on improving the neural network’s architecture or follow crafted approaches based on augmenting datasets with randomly gathered data. Moreover, they do not consider a comparative evaluation of the neural network’s recognition skills and customer’s requirements for building appropriate datasets. In this thesis, we introduce a software engineering methodology (called SEMKIS) supported by a tool for engineering datasets with precise data selection criteria to improve neural networks. Our method considers mainly the improvement of neural networks through augmenting datasets with synthetic data. SEMKIS has been designed as a rigorous iterative process for guiding software engineers during their neural network-based projects. The SEMKIS process is composed of many activities covering different development phases: requirements’ specification; dataset and neural network engineering; recognition skills specification; dataset augmentation with synthetized data. We introduce the notion of key-properties, used all along the process in cooperation with a customer, to describe the recognition skills. We define a domain-specific language (called SEMKIS-DSL) for the specification of the requirements and recognition skills. The SEMKIS-DSL grammar has been designed to support a comparative evaluation of the customer’s requirements with the key-properties. We define a method for interpreting the specification and defining a dataset augmentation. Lastly, we apply the SEMKIS process to a complete case study on the recognition of a meter counter. Our experiment shows a successful application of our process in a concrete example. [less ▲] Detailed reference viewed: 286 (31 UL)![]() Jahic, Benjamin ![]() ![]() ![]() Report (2021) Neural networks are becoming increasingly part of today’s software systems. These neural networks are simplified models of the human brain that are mainly capable of learning from large datasets to ... [more ▼] Neural networks are becoming increasingly part of today’s software systems. These neural networks are simplified models of the human brain that are mainly capable of learning from large datasets to compute some function based on recognized data. Engineering these datasets and these neural network-based software systems is a complicated and challenging task. Software engineers require methods and tools to engineer these datasets and neural networks for their customers and to satisfy their requirements. In general, they lack methods and tools to support the engineering of dataset and neural networks that satisfy the customer’s requirements. They follow traditional approaches consisting of time-consuming, imprecise and manual activities. Typically, these approaches are not supported by any tool that precisely analyse and specify the neural network’s recognition skills. In our previous work, we have introduced the notion of key-properties for describing the neural network’s recognition skills. In this paper, we define a domain-specific language to support our SEMKIS software engineering methodology for the dataset augmentation to improve network’s key-properties. We present the SEMKIS-DSL for the specification of the key-properties of a neural network. We illustrate the concepts of our DSL with a running example specifying a neural network for recognizing a digital meter counter state. This running example demonstrates a specification of the neural network’s key-properties using the SEMKIS-DSL and a successful improvement of the neural network’s recognition skills. [less ▲] Detailed reference viewed: 201 (18 UL)![]() Ries, Benoit ![]() ![]() ![]() in Proceedings of the 9th International Conference on Model-Driven Engineering and Software Development (2021, February) Since the emergence of deep learning (DL) a decade ago, only few software engineering development methods have been defined for systems based on this machine learning approach. Moreover, rare are the DL ... [more ▼] Since the emergence of deep learning (DL) a decade ago, only few software engineering development methods have been defined for systems based on this machine learning approach. Moreover, rare are the DL approaches addressing specifically requirements engineering. In this paper, we define a model-driven engineering (MDE) method based on traditional requirements engineering to improve datasets requirements engineering. Our MDE method is composed of a process supported by tools to aid customers and analysts in eliciting, specifying and validating dataset structural requirements for DL-based systems. Our model driven engineering approach uses the UML semi-formal modeling language for the analysis of datasets structural requirements, and the Alloy formal language for the requirements model execution based on our informal translational semantics. The model executions results are then presented to the customer for improving the dataset validation activity. Our approach aims at validating DL-based dataset structural requirements by modeling and instantiating their datatypes. We illustrate our approach with a case study on the requirements engineering of the structure of a dataset for classification of five-segments digits images. [less ▲] Detailed reference viewed: 347 (42 UL)![]() Jahic, Benjamin ![]() ![]() ![]() in Proceedings of the 2020 European Symposium on Software Engineering (2020, November 06) Software engineers are increasingly asked to build datasets for engineering neural network-based software systems. These datasets are used to train neural networks to recognise data. Traditionally, data ... [more ▼] Software engineers are increasingly asked to build datasets for engineering neural network-based software systems. These datasets are used to train neural networks to recognise data. Traditionally, data scientists build datasets consisting of random collected or generated data. Their approaches are often costly, inefficient and time-consuming. Software engineers rely on these traditional approaches that do not support precise data selection criteria based on customer’s requirements. In this paper, we introduce an extended software engineering method for dataset augmentation to improve neural networks by satisfying the customer’s requirements. We introduce the notion of key-properties to describe the neural network’s recognition skills. Key-properties are used all along the engineering process for developing the neural network in cooperation with the customer. We propose a rigorous process for augmenting datasets based on the analysis and specification of the key-properties. We conducted an experimentation on a case study on the recognition of the state of a digital meter counter. We demonstrate an informal specification of the neural network’s key-properties and a successful improvement of a neural network’s recognition of the meter counter state. [less ▲] Detailed reference viewed: 185 (44 UL)![]() Jahic, Benjamin ![]() ![]() ![]() in Proceedings of 10th IEEE International Conference on Software Engineering and Service Science (2019, October 19) Software engineers require a large amount of data for building neural network-based software systems. The engineering of these data is often neglected, though, it is a critical and time-consuming activity ... [more ▼] Software engineers require a large amount of data for building neural network-based software systems. The engineering of these data is often neglected, though, it is a critical and time-consuming activity. In this work, we present a novel software engineering approach for dataset augmentation using neural networks. We propose a rigorous process for generating synthetic data to improve the training of neural networks. Also, we demonstrate our approach to successfully improve the recognition of handwritten digits using conditional generative adversarial networks (cGAN). Finally, we shortly discuss selected important issues of our process, presenting related work and proposing some improvements. [less ▲] Detailed reference viewed: 283 (147 UL)![]() Jahic, Benjamin ![]() Report (2018) Today, there is a high demand on intelligent systems (e.g chatbots, ob- ject decetors, translators, etc). Engineers have to develop these systems in a lots of di erent domains (e.g. medicine, nance, car ... [more ▼] Today, there is a high demand on intelligent systems (e.g chatbots, ob- ject decetors, translators, etc). Engineers have to develop these systems in a lots of di erent domains (e.g. medicine, nance, car industry). More- over, these intelligent systems are trained on data collected from these do- mains using an iterative training process. Et each training iteration, the parameters of such system are updated intuitivly based on the engineer's experience. However, gathering and labelling these data is very costly and time consuming. Moreover, the systems are often complex. It is recom- mended to have a strong mathematical background. Thus, engineers often design these systems based on their own experience and collected informa- tion about the system. We present the road towards a novel methodology, called SEMKIS, for the design ang generation of intelligent systems and synthetic learning data. We use the model-driven engineering approach in our methodology to specify and design our systems. We generate speci - cations, designs and implementation of our intelligent systems. We used the mathematical set theory to de ne the concepts for the speci cation of intelligent systems and data synthetis within a formal conceptual frame- work. The concepts have been used in a small executable illustration that focuses on the recognition of handwritten digits on a picture. The results show that our concepts are usable and that we reduce the complexitiy of specifying and designing intelligent systems. [less ▲] Detailed reference viewed: 136 (20 UL)![]() Guelfi, Nicolas ![]() ![]() ![]() in Information (2017) Defining and managing teaching programs at universities or other institutions is a complex task for which there is not much support in terms of methods and tools. This task becomes even more critical when ... [more ▼] Defining and managing teaching programs at universities or other institutions is a complex task for which there is not much support in terms of methods and tools. This task becomes even more critical when the time comes to obtain certifications w.r.t. official standards. In this paper, we present an on-going project called TESMA, whose objective is to provide an open-source tool dedicated to the specification and management (including certification) of teaching programs. An in-depth market analysis regarding related tools and conceptual frameworks of the project is presented. This tool has been engineered using a development method called Messir for its requirements elicitation and introduces a domain-specific language dedicated to the teachin [less ▲] Detailed reference viewed: 312 (70 UL)![]() Guelfi, Nicolas ![]() ![]() ![]() in Pyshkin, Evgeny; Vazhenin, Alexander; Klyuev, Vitaly (Eds.) Proceeding of the 2nd International Conference on Applications in Information Technology (2016, October) Defining and managing teaching programs at university or other institutions is a complex task for which there is not much support in terms of methods and tools. This task becomes even more critical when ... [more ▼] Defining and managing teaching programs at university or other institutions is a complex task for which there is not much support in terms of methods and tools. This task becomes even more critical when the time comes to obtain certifications w.r.t. official standards. In this paper, we present an on-going project called TESMA whose objective is to provide an open-source tool dedicated to the specification and management (including certification) of teaching programs. This tool has been engineered using a development method called Messir for its requirements elicitations and introduces a domain-specific language dedicated to the teaching domain. This paper presents the current status of this project and the future activities planned. [less ▲] Detailed reference viewed: 245 (79 UL)![]() Jahic, Benjamin ![]() Bachelor/master dissertation (2016) The definition and organisation of programs related to their courses of educational institutions is a very complex and exhaustive task. There is a demand for such a solution by the educational ... [more ▼] The definition and organisation of programs related to their courses of educational institutions is a very complex and exhaustive task. There is a demand for such a solution by the educational institutions, as they need a detailed program descriptions for students and instructors. This task gets even more complicated if these programs and courses needs to be certified according to some international learning standards. At the moment, the availability of such methods or tools is very limited, except for some ad-hoc guidelines, which are use by some few universities, e.g. the Cornell University. Most of the institutions (e.g. University of Luxembourg) allows the professor to us their own methods for specifying their courses. Hence, most of the institutions are sharing similar problems, but using their own defined methods (e.g. naming conventions for its programs). At an university, professors are working in various domains and using therefore their own methods for specifying their courses, which results often in an incomplete program and course description. Methods such as SWEBOK (Software Engineering Body of Knowledge) and CS2103 (Computer Science Curricula 2013) which are program certifications according to an international learning standard are almost not known and used. Thus, programs and courses from different institution cannot be compared, since there is no common structure and process for specifying them. In this master thesis, we present TESMA (Tool for Educational Specification Management and Assessment of teaching programs), a tool based on a domain-specific language, which is dedicated to the teaching domain, for specifying, managing, and assessing programs. The Messir (Scientific Approach to Requirements Engineering) development method has been used for defining the concept and the requirements of the tool. Our research concentrates on the domain-specific language (DSL) in order to define requirements and improving the quality of the DSL’s. We focus on the development of an intuitive and maintainable domain-specific language, usable by people coming from different domains, e.g. software engineers, natural sciences, social sciences, linguistic, and so on. This thesis describes the requirements, the concepts, the realisation, and implementation of the tool, which are based on a domainspecific language of high quality for specifying programs. The quality of our DSL is assessed by a complete used cases related to the University of Luxembourg. [less ▲] Detailed reference viewed: 244 (72 UL) |
||