• Nenhum resultado encontrado

Validation Framework and Quality Assurance System for Furniture Smartification Processes

N/A
N/A
Protected

Academic year: 2023

Share "Validation Framework and Quality Assurance System for Furniture Smartification Processes"

Copied!
97
0
0

Texto

(1)

Validation Framework and Quality Assurance System for Furniture Smartification Processes

Carlos Daniel Rodrigues Caeiro

MASTER IN ELECTRICAL AND COMPUTER ENGINEERING NOVA University Lisbon

November , 2021

DEPARTAMENT OF

ELECTRICAL AND COMPUTER ENGINEERING

(2)
(3)

Adviser: João Filipe dos Santos Sarraipa

Assistant Professor, NOVA University Lisbon

Co-advisers: Jorge Miguel da Silva Calado

Researcher, NOVA University Lisbon

Examination Committee:

Chair: Ana Inês da Silva Oliveira,

Assistant Professor, NOVA University Lisbon

Rapporteurs: Fernando Luís Lourenço Ferreira,

Assistant Professor, NOVA University Lisbon

Adviser: João Filipe dos Santos Sarraipa

Assistant Professor, NOVA University Lisbon

DEPARTAMENT OF

ELECTRICAL AND COMPUTER ENGINEERING

Validation Framework and Quality Assurance System for Furniture Smartification Processes

Carlos Daniel Rodrigues Caeiro

Master in Electrical and Computer Engineering

MASTER IN ELECTRICAL AND COMPUTER ENGINEERING NOVA University Lisbon

November 2021

(4)
(5)

iii

Validation Framework and Quality Assurance System for Furniture Smartification Processes Copyright © Carlos Daniel Rodrigues Caeiro, NOVA School of Science and Technology, NOVA Uni- versity Lisbon.

The NOVA School of Science and Technology and the NOVA University Lisbon have the right, per- petual and without geographical boundaries, to file and publish this dissertation through printed copies reproduced on paper or on digital form, or by any other means known or that may be invented, and to disseminate through scientific repositories and admit its copying and distribution for non-commercial, educational or research purposes, as long as credit is given to the author and editor.

(6)
(7)

v

To my loved ones.

(8)

(9)

vii

A CKNOWLEDGMENTS

I would like to thank my supervisor and co-supervisor, Professor João Filipe dos Santos Sarraipa and Jorge Miguel da Silva Calado, for their availability, patience, guidance, and help provided throughout the development of the master's thesis.

Then, I would like to thank my colleagues Pedro Oliveira, Pedro Amaral, and Miguel Freches, who were responsible for the creation and development of the other systems present in the furniture smartification.

I also want to thank my friends who have followed my academic path and who have always supported me both personally and professionally.

Then I have to thank my love Beatriz Medeiros, for having accompanied me along this path, believing in me, supporting me and helping me to face my difficulties.

Finally, I have to thank my grandparents, Maria do Céu; Maria Luísa; Jasmim Rodrigues and Armando Caeiro, my uncle, Daniel Rodrigues, my sister, Ana Caeiro, and especially my parents, Paula Caeiro and Carlos Caeiro, for all the support, education, advice, motivation and support they gave me since always.

(10)
(11)

ix

A BSTRACT

The integration of electronic hardware into furniture aims to improve the user experience and quality of life. In order for the smartified furniture to have the functionalities predefined by the user, it is necessary to perform validations throughout the process of designing and developing smartified furniture.

The focus of this dissertation is the Quality Assurance System, which is responsible for the validations of the furniture smartification process, ensuring that the hardware components used for the development of the solution are compatible with each other and with the dimensions of the furniture, and that the smartified furniture has the intended functionalities.

A framework scenario of the Quality Assurance System and the intervening systems required for the process of integrating hardware into furniture is presented. Based on the scenario, a validation framework is presented, whose main purpose is to validate the intermediate steps of the furniture smarti- fication process. The applicability of the validation framework in the smartification process, ensures that: the hardware used in the development of the solution is valid, the smartification problem is feasible, the solution and the furniture smartification prototype are both dimensionally and functionally valid.

The implementation and testing of the validation framework are presented and demonstrated on two real-life furniture smartification use cases.

Keywords: Smartified Furniture, Smartification, Quality Assurance System, Validation Frame- work, Furniture Smartification Process.

(12)
(13)

xi

R ESUMO

A integração de hardware no mobiliário tem como objetivo melhorar a experiência e qualidade de vida do utilizador. De modo que o mobiliário smartificado tenha as funcionalidades predefinas pelo utiliza- dor, é necessário executar validações ao longo do processo de projeção e desenvolvimento de smartifi- cação de mobiliário.

O foco da presente dissertação é o Sistema de Garantia de Qualidade, que é responsável pelas validações do processo de smartificação do mobiliário, assegurando que os componentes de hardware utilizados para o desenvolvimento da solução sejam compatíveis entre si e com as dimensões do mobi- liário e que o mobiliário smartificado tenha as funcionalidades pretendidas.

É apresentado um cenário de enquadramento do Sistema de Garantia de Qualidade e os sistemas intervenientes necessários ao processo de integração de hardware em mobiliário. Com base no cenário, é apresentado uma framework de validação, cuja principal finalidade é validar as etapas intermédias do processo de smartificação de mobiliário. A aplicabilidade da estrutura de validação no processo de smar- tificação, assegura que: o hardware utilizado no desenvolvimento da solução é valido, o problema de smartificação é viável, a solução e o protótipo de smartificação do mobiliário são válidos tanto em ter- mos dimensionais como funcionais.

A implementação e testagem da framework de validação são apresentadas e demonstradas em dois casos de uso reais de smartificação de mobiliário.

Palavas chave: Mobiliário Smartificado, Smartificação, Sistema de Garantia de Qualidade, Framework de Validação, Processo de Smartificação de Mobiliário.

(14)
(15)

xiii

C ONTENTS

1 INTRODUCTION ... 1

1.1 Objectives and Motivation ... 2

1.2 Research Question and Hypothesis ... 2

1.3 Document Organization ... 3

1.4 Original Contributions ... 3

2 STATE OF THE ART ... 5

2.1 Smartification ... 5

2.2 Smart Furniture... 5

2.3 Graphical User Interface ... 6

2.4 Databases ... 6

Relational and Non-Relational Databases ... 6

MySQL and PostgreSQL Comparison ... 7

2.5 3D Geometric Shape Fitting ... 7

EasyJet Application ... 8

Packit4me ... 8

Box Quantity Calculator ... 9

3D Bin Packing ... 10

Smart Packing using Genetic Algorithm ... 11

Bindrake ... 12

Comparison of the Dimensions Fitting Applications ... 13

2.6 Functional Technology Assessment ... 14

Evaluation Through iSurf Application ... 14

Evaluation of a Smart Home Application... 15

(16)

xiv

Standards for Software and Hardware Verification and Validation ... 15

2.7 State of the Art Review ... 18

3 SCENARIO DESCRIPTION ... 21

3.1 Furniture Smartification Operating Systems ... 21

3.2 System Interactions ... 22

Hardware List Validation Interactions ... 22

Furniture Smartification Problem Description Validation Interactions ... 23

Furniture Smartification Solution Validation Interactions ... 24

Furniture Smartification Prototype Validation Interactions ... 25

4 FRAMEWORK FOR VALIDATION OF THE FURNITURE SMARTIFICATION PROCESS ... 27

4.1 Framework Design ... 27

4.2 Architecture ... 29

Hardware Component Validation Architecture ... 29

Smartification Process Validation Architecture ... 31

5 IMPLEMENTATION ... 37

5.1 Structure of the Validation Application ... 37

5.2 State Diagram of a Smartification Project ... 37

5.3 Database ... 40

Database Tables ... 40

5.4 REST API ... 43

Function SELECT Query Example ... 43

Function UPDATE Query Example ... 44

Function COUNT Query Example ... 45

5.5 Interface ... 45

6 RESULTS FROM THE APPLICATION OF THE VALIDATION FRAMEWORK ... 53

6.1 First Use Case ... 53

6.2 Second Use Case ... 55

7 CONCLUSIONS ... 59

7.1 Main Conclusions ... 59

7.2 Future Work ... 60

(17)

xv

L IST OF F IGURES

Figure 1 - Scanning a bag using the EasyJet Application [23] ... 8

Figure 2 - Graphical interface of the geometric arrangement of 3D objects [24] ... 9

Figure 3 - Graphical interface with an example of dimensions [25] ... 10

Figure 4 - Packing result summary [26] ... 11

Figure 5 - Simulation of the packaging strategy by cycles [27] ... 12

Figure 6 - Input and output of the bindrake application [29] ... 13

Figure 7 - Functional technology assessment ... 14

Figure 8 - Hardware list validation interactions ... 23

Figure 9 - Smartification problem description validation interactions ... 24

Figure 10 - Furniture smartification solution validation interactions ... 25

Figure 11 - Furniture smartification prototype validation interactions ... 26

Figure 12 - Framework diagram ... 28

Figure 13 - Architecture diagram of the hardware component list ... 30

Figure 14 - Global architecture diagram for validation of a new smartification solution ... 32

Figure 15 - Architecture diagram (detail) for validating the smartification problem ... 33

Figure 16 - Architecture diagram (detail) for validating the functional compatibility ... 34

Figure 17 – Architecture diagram (detail) for validating the dimensional compatibility ... 35

Figure 18 - Architecture diagram (detail) for validating the electronic integration instructions ... 35

Figure 19 - Architecture diagram (detail) for validating the smartification solution prototype ... 36

Figure 20 - Structure of the validation application ... 37

Figure 21- State diagram of a smartification project ... 39

Figure 22 - Database diagram... 41

Figure 23 - Function select query ... 44

Figure 24 - Function update query ... 44

Figure 25 - Function count query ... 45

Figure 26 - Interface notification system ... 46

(18)

xvi

Figure 27 - Interface main menu... 46

Figure 28 - Example of displaying the list of interface hardware components in the interface ... 47

Figure 29 - Interface hardware components list validation menu ... 47

Figure 30 - Example of displaying non-validated problem descriptions in the interface ... 48

Figure 31 - Model of the update areas of a problem description in the interface ... 48

Figure 32 - Smartification solutions validation options menu on the interface ... 49

Figure 33 - Example of a detailed description of a smartification solution in the interface ... 49

Figure 34 - Example 1 results obtained from the dimension compatibility algorithm ... 50

Figure 35 - Example 2 results obtained from the dimension compatibility algorithm ... 50

Figure 36 - Example 1 results obtained from the layout solution generator algorithm ... 51

Figure 37 - Example 2 results obtained from the layout solution generator algorithm ... 51

Figure 38 - Example of displaying the electronic integration instructions in the interface ... 52

Figure 39 - Smartification prototype validation options menu in the interface ... 52

(19)

xvii

L IST OF T ABLES

Table 1 - Fitting application comparison... 13

(20)

(21)

xix

A CRONYMS

3D Three Dimensional.

GUI Graphical User Interface.

API Application Programming Interface.

GA Genetic Algorithm.

QAS Quality Assurance System.

PS Prototyping System.

UIS User Interface System.

RS RunTime System.

HTTP MQQT V&V

North Atlantic Treaty Organization.

Message Queuing Telemetry Transport.

Verification and Validation

(22)
(23)

1

1

I NTRODUCTION

The technological evolution is related and associated to the constant evolution of mankind [1]. Through- out history, man has felt the need to discover or invent to make personal and social life easier and more comfortable. For example, the invention of the wheel allowed man to move more quickly to other terri- tories in search of better living conditions. Other major technological innovations have emerged simul- taneously over time and have enabled major social changes.

Nowadays, technologies evolve so fast that it is possible that the current generation will find it difficult to adapt in the future. However, man is increasingly dependent on technology, and this shows that this evolution will never stop. Mankind needs to evolve constantly.

Technological innovations are associated to several areas: sciences, economy, art, communica- tion. In view of the needs presented in each area, studies are carried out and functionalities are created, which enable an efficient solution to be found to satisfy the need.

The integration of technologies in physical spaces is one of the areas under development, which aims to enable the attribution of more functionalities to a simple everyday object, making the object more efficient.

Currently, about 61% of people have a smart device [2]. Smart devices are increasingly sought after due to the functionalities and facilities they provide [3]. However, there may be other options more suited to the specific needs of the user [4].

The interaction of man with furniture is a constant in any everyday situation. It is a common element in homes, offices, and various establishments. It will be interesting to take advantage of the possibility of integrating hardware into furniture to acquire intelligent technological functions.

From the integration of hardware in furniture comes the term smartification, which through sensors collects data, and by means of actuators maximizes comfort, productivity and minimizes the user's operating cost.

The smartification of furniture can, for example, help in the control of the blood pressure of a person with hypertension. The constant need to control blood pressure values can be done through the furniture most used by the hypertensive person. Whether it is a sofa or an office chair, it is possible to implement a system that can measure the blood pressure and give an alert if the values are not normal- ized.

Another example of smartified furniture facilitating everyday activities, applied to the lighting component of a bedroom, arises from the constant need to turn on a light when someone gets out of bed and turn it off when someone lies down in bed. In order to facilitate this process, it is possible to

(24)

2

implement a system in the bed, which can measure the weight that is on the bed and turn the room light on and off depending on whether the person is lying down or not.

1.1 Objectives and Motivation

The smartification process consists of the following steps: identification and understanding of the user's need for furniture smartification, creation of a list of electronic hardware components for use in devel- oping furniture smartification solutions, development of the solution based on the user's need for furni- ture smartification, development of the prototype based on the developed solution, and integration of the prototype into the piece of furniture.

For the smartification process to occur in a continuous manner, it is essential to have validations.

During the process of furniture smartification, several problems and barriers can occur on both a dimen- sional and functional level.

At the dimensional level, several problems and constraints may occur as for example in the development of a solution for furniture smartification it is necessary to use different hardware compo- nents with different dimensions, however, if the dimensions of the hardware components exceed the dimensions or volume of the furniture, it will be an impediment to progress in the process of furniture smartification. Another example at the dimensional level, can be the incorrect placement of sensors and actuators on the furniture, which in turn the sensors will take incorrect readings and the actuators will have undesired actions.

At functional level, different problems and constraints may also occur among which may be the following examples: the hardware components used in the development of the smartification solution may not be compatible with each other and it may not be possible to obtain the expected results, as well as sensors with incorrect data readings due to software problems that will hinder the proper functioning of the smartified furniture.

In order for the process of furniture smartification to occur smoothly, both functionally and dimensionally, the steps mentioned above need to be validated. The goal of this dissertation is to create a framework that indicates which and how these steps should be validated. With the validation frame- work it will be possible to keep the furniture smartification process continuous and uninterrupted, by invalidating steps that are not correct. After making corrections, the steps will be submitted to new validations until they become valid. The validation framework thus facilitates prototyping, helping in the spatial positioning of the hardware electronic components in the furniture, ensuring the desired func- tionalities.

1.2 Research Question and Hypothesis

Considering the proposed objectives, the research method [5] is composed of the Research Question and the respective hypothesis.

Research Question:

(25)

3

• How can the furniture smartification process be made continuous and seamless through a validation system?

Hypothesis:

• If there is a validation system that validates the functional, dimensional, and constraint re- quirements during the steps of the furniture smartification process, then the smartification process can be optimized from the source of the problem to the smartified furniture.

1.3 Document Organization

The dissertation is organised to facilitate the reader's understanding and interpretation. Next, the chap- ters that make up the structure of the document are presented and objectified:

• Introduction - Frames the subject of the dissertation, by means of a motivation and objec- tives. Presents the research question and corresponding hypothesis related to the research to be carried out;

• State of the Art - Presents bibliographical research, where concepts are described in detail, as well as similar existing technologies and projects;

• Scenario Description - Introduces the intervening systems in the smartification process and contextualizes the interactions of the intervening systems in the validation of the furniture smartification process;

• Validation Framework - The Framework for validating furniture smartification processes is presented. The architecture developed, for the implementation of such a framework, is also presented;

• Implementation - Describes the detailed implementation process of the validation frame- work architecture;

• Results - Demonstrates the results obtained by applying the implementation of the valida- tion framework architecture to two real use cases;

• Conclusion – In order to conclude, the final remarks of the dissertation work done and also proposals for future work are made.

1.4 Original Contributions

The creation of the Quality Assurance System, the validation framework and its respective architecture, the implementations of the interface and of the REST API, and the results of the application of the validation framework presented in chapters 4, 5 and 6, are all original contributions of this dissertation.

(26)

4

As for the remaining operational systems of the furniture smartification process, the state dia- grams and the database, presented in sections 3.1, 5.2 and 5.3, were developed in a collaborative process with the other MSc dissertations integrated in the scope of the INEDIT project [6].

All the code developed during the architecture implementations, in the tools Flutter, Ele- phantSQL and Glitch, is also an original contribution.

(27)

5

2

S TATE OF THE A RT

Throughout this chapter, the concepts referring to the dissertation theme are described in detail, as well as similar existing technologies and projects.

The research was carried out with the objective of obtaining knowledge to assist in the devel- opment of the system.

2.1 Smartification

The concept of smartification refers to the digital refinement of an existing product by incorporating digital technologies and smart services to make it more functional, efficient and interactive [7][8].

Currently, there has been an increasing presence of products equipped with sensors, connected to the Internet, with the aim of increasing safety, comfort, and efficiency [9].

Smartification can be done in various spaces, such as a home, an office building, inside a busi- ness park or even in a smart city interconnected by sensors and artificial intelligence [10].

A smartification project consists of hardware and software. The hardware can consist of a mi- crocontroller and sensors, connected, where microcontroller receives the data captured by the sensors and the software analyzes the data and triggers a reaction.

For example, a smart home, may be equipped with thermostats in different rooms so that the temperature is the same throughout the house. Another example, having smart locks on doors to lock them in certain situations [9].

Smartification allows for increased efficiency and effectiveness, reduces costs and the use of resources such as electricity, water, and gas, allowing waste to be reduced [11].

2.2 Smart Furniture

Within the scope of Smartification there are several ramifications at the level of different technologies.

One of these is Smart Furniture.

The term Smart Furniture arises when smart technology is introduced into furniture. This smart furniture is able to communicate and anticipate the user's needs, using sensors and actuators. Function- ality, comfort, and elegance will meet the stated and unstated needs of the user, with the aim of improv- ing their quality of life [12].

(28)

6

Smart furniture is present in the most diverse areas. Considering a home area, there can be em- bedded lamps with the ability to detect luminosity, based on the user's requirements, i.e., that provide the necessary amount of light to reduce visual exhaustion. In Healthcare, there can be smart medicine cabinets, with the ability to identify expired medicines, as well as identify where a particular medicine is. In educational establishments, there can be chairs and tables with the ability to adjust in height, ac- cording to the user's stature, for better ergonomics [13].

2.3 Graphical User Interface

This thesis assumes the development of a graphical user interface (GUI), in the smart furniture area, so that the smartification process takes place. The GUI will be necessary for both communication and dimensional validation.

The GUI were developed to simplify the use of computers. GUIs present information in a way that allows quick understanding and manipulation by the user.

A widget has several functionalities, it can for example imitate physical objects (switches or buttons) at the software level. The use of widgets in GUI's makes it easier for the user to learn, speeding up the process of providing data.

A GUI is intended to simplify the communication process and does not require users to memo- rize the steps needed to perform an action. If necessary, GUIs can present shortcuts in order to simplify as much as possible the tasks desired by the user [14][15].

In the residential area, one of the functionalities in the use of GUI in smartification, is the inter- action with home appliances. The user can view consumptions and control applications by time setting or in real time, such as turning on or off lights and appliances, and closing or opening curtains [16][17].

The main goals of the development of the graphical user interface in the dissertation are to facilitate the visualization of detailed information generated in the furniture smartification process, to improve efficiency in detecting both functional and dimensional constraints, to have an algorithm that suggests geometric layouts for embedding electronic hardware components into the furniture, to be able to validate and provide feedback of corrections in the steps of the furniture smartification process.

2.4 Databases

To implement the framework suggested in the thesis it is necessary to use a database to store different types of data so that it can be accessed and modified when necessary. There are relational and non- relational databases and in order to know which one best suit the implementation, an analysis was per- formed.

Relational and Non-Relational Databases

The structure of the relational database must be designed in advance because once data is entered, the relational database has little flexibility in changing the structure. The structure is made up of organized

(29)

7

tables that contain a single instance, and the tables can have data sharing relationships with each other.

Some of the benefits of using relational database are: the information is stored in the database and not in an application; it is easy to work with the data and the structure is composed of related tables [18]

[19].

The non-relational database does not have a relational structure and can be categorized by: key value stores which through a key and a string, allows to store data without a schema; document stores which through a key and a document allows to store data; graph database which uses graphs to represent data structures, among others. Some of the benefits of using the non-relational database are: it is easily scalable; it has a high data transfer rate and data can be entered at any time without defining a structure [18] [19].

MySQL and PostgreSQL Comparison

In order to better understand the relational database,, a search was done between MySQL, which is a relational database management system and PostgreSQL, which is an object type relational database management system.

The MySQL system keeps data organized in different related tables, providing speed and flex- ibility to the database. MySQL allows users to interact with the database instantly and is compatible with other programs. One disadvantage of MySQL is that it does not have an extensible database [20]

[21].

The PostgreSQL system is similar to MySQL but adds some advantages to database manage- ment such as triggers, foreign keys, and durability properties which makes the PostgreSQL system more productive. The PostgreSQL system is compatible with web services, can have concurrent users and has an extensible database [20] [21].

Comparing the two database management systems, PostgreSQL was the choice for the database implementation of the framework.

2.5 3D Geometric Shape Fitting

A geometric shape can vary in dimensions, positions, and angles. Shapes can appear in two dimensions, length, and width, or in three dimensions, length, width, and height [22].

The 3D Geometric Shape Fitting aims to verify the compatibility between 3D geometric shapes.

The verification is done by means of an algorithm, which checks if one or more 3D objects can be contained in another 3D object.

For example, the purpose of checking the compatibility of dimensions between an Arduino Uno and a drawer is to verify the possibility of placing the Arduino Uno inside the drawer and to present its geometric arrangement.

In the scope of the dimensions fitting verification, research was carried out to obtain already developed algorithms and applications with similar functionalities.

(30)

8

EasyJet Application

The airline EasyJet has an app [23] with a verification feature, which allows passengers to scan their bags to check if the dimensions are within the values considered as limit. The application uses Apple's Arkit 2 technology and the device's camera.

The application has a similar objective to the one intended in this dissertation in the part of checking the compatibility of dimensions. However, the application has limitations since it does not allow changing the boundary dimensions and only the scanning of a single 3D object.

The functionality of the application to represent the fitting of the suitcase with the boundary dimensions (Figure 1), may be a solution to validate the compatibility of dimensions in this dissertation.

Figure 1 - Scanning a bag using the EasyJet Application [23]

Packit4me

The Application Programming Interface Packit4me [24] allows packing 3D objects with different di- mensions, inside another 3D object of larger dimensions.

The application interface does not have an intuitive dynamic of use in the introduction of the dimensions of the objects. There is a limitation in the algorithm in case there is no more space available to place the next object, the algorithm replaces a previously placed object by the new one.

After the wrapping test, it presents in a graphic interface, the objects in a 3D geometrical repre- sentation, identified by colors. In the Figure 2 it is visible the geometric arrangement of three objects, with different dimensions, inside another 3D object, with larger dimensions.

(31)

9

Figure 2 - Graphical interface of the geometric arrangement of 3D objects [24]

The final presentation of 3D objects is the strength of the algorithm used in the Packit4me ap- plication, which will be considered for the development of a similar functionality.

Box Quantity Calculator

The Box Quantity Calculator [25] consists of an intuitive graphical interface, which allows the input of the space available for boxes and the size of the box, i.e. it does not allow putting in boxes of different sizes.

On the same interface, after the dimensions are entered, the total number of boxes that can be placed in the available space and the arrangement of the boxes are displayed.

The Figure 3 shows the graphical interface with example dimensions.

(32)

10

Figure 3 - Graphical interface with an example of dimensions [25]

The simplicity of entering the box dimensions from the user's point of view is an interesting feature of the interface, which can be the basis for the development of a similar interface.

3D Bin Packing

The 3D Bin Packing [26] allows, through a graphical interface, the packing of 3D objects with different dimensions, inside another 3D object of larger dimensions.

The strong point of this packing algorithm is the final report, which presents the packing details.

For the larger object (container) it presents information about dimensions, number of objects packed, space occupied and weight. The number of objects with the same dimensions and the step-by-step of the accommodation of the objects in the container are also referenced.

The Figure 4 shows an example of a report generated by 3D Bin Packing with the above-men- tioned information.

(33)

11

Figure 4 - Packing result summary [26]

The final report generated by 3D Bin Packing is the added value of the algorithm. The final report can be an important feature to consider when developing a fitting algorithm.

Smart Packing using Genetic Algorithm

The intelligent simulator is designed using genetic algorithm (GA) [27] to find the best packing solution.

The length of GA varies depending on the number of boxes. The user inputs the dimensions of the boxes, and the simulator will show the geometric arrangement process.

Each box will occupy four chromosome spaces, where the first is its initial position and the others are height, width, and length. The length of the chromosome will always be the four chromosome spaces multiplied by the number of boxes.

The packing strategy starts with the boxes scattered in the volume space, with random origin point and orientation. After each cycle of the algorithm, the boxes will move closer to each other, until the outer container has the minimum possible volume (Figure 5).

(34)

12

Figure 5 - Simulation of the packaging strategy by cycles [27]

The previous process occurs through mutations and crossovers between the chromosomes. Mu- tation is based on assigning a new starting position and changing the order of the other chromosomes in the box (height, width, and length). Crossover is done, if there is more than one chromosome, i.e., di- rectly exchanging boxes between two or more chromosomes.

The process developed in Smart Packing using genetic algorithm could be considered in devel- opment of a fitting algorithm.

Bindrake

The Bindrake application [28] allows packing 3D objects with different dimensions, inside another 3D object of larger dimensions.

The application interface is easy to use and has the functionality of only allowing the packaging of 3D objects if the sum of the volumes of the 3D objects does not exceed the volume of the larger 3D object, and also if none of the 3D objects does not exceed the dimensions of the larger 3D object, the 3D objects can be rotated.

After packaging, it displays in a graphical interface, the objects in a 3D geometric representa- tion, identified by colours. Figure 6 shows the geometric arrangement of three objects, with different dimensions, inside another 3D object, with larger dimensions.

(35)

13

Figure 6 - Input and output of the bindrake application [29]

The strength of this application beyond the representation of 3D objects packaged is the initial restrictions that can be an asset to the development of a similar functionality

Comparison of the Dimensions Fitting Applications

After analysing the previous algorithms, there are several features that may be useful. However, there may be some impediments to the direct use of the referenced algorithms.

Table 1 - Comparison of fitting applications with the characteristics of each marked in blue

In Table 1, the fields filled in blue represent the features present in each application. The ap- plications with the greatest potential for use are Bindrake and Smart Packing (GA). Smart Packing has the algorithm available and can be changed and used. Both algorithms have no subscription fees and allow the embedding of multiple 3D objects of different dimensions inside another 3D object of larger dimensions.

The Bindrake application is distinguished by its features, of 3D representation of the packaged objects, and initial layout constraints can be placed on each 3D object. The Smart Packing (GA) appli- cation is distinguished by the goal of the algorithm, which is for the 3D objects to occupy the smallest possible volume. With the distinct functionalities of both applications, an advantage is obtained in the case of developing an application with similar functionality.

EasyJet Aplica-

tion

Packit4me

Box Quantity Calcula-

tor

3D Bin Packing

Smart Packing

(GA)

Bindrake

Algorithm Availability

Can be tested

Free

Single 3D Object

Multiple 3D Ob- jects

Equal Dimensions

Different Dimensions

(36)

14

2.6 Functional Technology Assessment

The Functional Technology Assessment aims at identifying and correcting errors, for the validation of a smartification solution. The purpose of this validation process is to ensure that user needs are identified and met.

The validation process of a smartification solution, at the software system level, consists of assessing functional and non-functional requirements. Functional requirements are responsible for func- tionalities and non-functional requirements serve to place assumptions and technical restrictions on the systems. The evaluation of the software system consists in establishing and specifying requirements, which allow its execution and the description of the evaluation.

The tests made during the validation process (Figure 7) are mostly performed by users through questionnaires, which will later be used to provide feedback to the developers. The purpose of the feed- back is to help correct and improve the smartification solution according to user needs.

Figure 7 - Functional technology assessment

Within the scope of functional technology assessment, a search was conducted to obtain meth- ods and frameworks already developed with similar objectives.

Evaluation Through iSurf Application

The iSurf application evaluates based on user feedback. The purpose of feedback is to provide infor- mation to the participating system about the development of a particular task. The evaluation through iSurf, serves to highlight the strengths and weaknesses of a system, which allows a better adaptability of the end user, based on the pre-defined requirements. The evaluation process allows developers to eliminate technical errors present in the evaluated system.

To implement the method described above, it is necessary to use the "DECIDE" evaluation framework, which is divided into six phases: determining the overall objectives of the evaluation; ex- ploring the issues; choosing the evaluation approach and methods; identifying the practical issues; de- ciding how to deal with the ethical issues; and evaluating, analyzing, interpreting, and presenting the data [30].

(37)

15

Through the iSurf application and the "DECIDE" evaluation framework, there can be an ap- plicability of the evaluation process during the functionality validation of the smartification solution.

Evaluation of a Smart Home Application

The present evaluation method is applied in a smart home, intended for older people, with the aim of maintaining their independence for as long as possible. The technology is a useful tool to assist people with reduced mobility or cognitive impairments and makes it possible to monitor conditions and inter- vene early.

To enhance the purpose of the smart home, interviews and observations are made with the res- idents. The aim is to understand if there is any interference of the technology used with daily activities, as well as to receive suggestions about the technology used in relation to the needs. The user is asked to perform daily activities, to be able to compare the collected data with the observed data [31].

The described method allows to evaluate the usability and functionality of the technology with the user experience, as well as to check if the technology is intrusive during daily activities at home and if it has the functionalities intended by the user.

Standards for Software and Hardware Verification and Validation

Verification and Validation (V&V) processes can be applied to software as well as hardware. Its main purpose is to determine whether a product under development conforms to pre-defined requirements and meets user needs, through early detection and correction of anomaly, insight into managing process and product risks, ensuring conformity to product performance, performance assessment, improving products from the procurement, delivery, development, and maintenance process, and supporting pro- cess improvement activities [32] [33] [34].

The verification process verifies conformity to requirements, compliance with standards and practices, and successful completion of each activity meeting predefined criteria. The validation process aims at knowing whether the system requirements have been successfully met, supports the resolution of a certain problem, and satisfies the user's needs through use in an operational environment [32] [33]

[34].

Software V&V processes [32] aim at ensuring that the results of the software requirements anal- ysis process are achieved. Software V&V processes are composed of:

• Software concept V&V process aims to provide assurance of the results of the software re- quirements analysis process through, for example, concept documentation evaluation, re- quirements allocation analysis, and criticality analysis;

• Software requirements analysis process V&V aims to provide assurance that the results of the software requirements analysis process, the software qualification testing process, and the software acceptance support process are achieved through, for example, requirements assessment, criticality analysis, and risk analysis;

(38)

16

• Software design V&V process aims to provide assurance that the results that the software architectural design process, the software detailed design process, the software integration process, the software qualification testing process, and the software acceptance support pro- cess are achieved through, for example, the software component testing plan, the software integration testing plan, and the software qualification testing design;

• Software build V&V process aims to provide assurance that the software build process, the software integration process, the software qualification test process, and the software ac- ceptance support process are achieved through, for example, source code evaluation, source code documentation, and the software qualification test procedure;

• Software integration process V&V aims to provide assurance that the results of the software integration process are achieved through, for example, software integration test execution, traceability analysis, and hazard analysis;

• Software qualification test process V&V aims to provide assurance that the results of the software qualification test process are achieved through, for example, the software qualifi- cation test, software qualification test execution and risk analysis;

• Software acceptance test process V&V aims to provide assurance that the results of the soft- ware acceptance support process and the software operation process are achieved through, for example, the software acceptance test procedure, software acceptance test execution, and safety analysis;

• Software installation and V&V verification process aims to provide assurance that the re- sults of the software installation process and the software acceptance process are achieved through, for example, the installation configuration audit, installation verification, and haz- ard analysis;

• Software operation process and V&V aims to provide assurance that the outcomes of the software operation process have been achieved through, for example, the evaluation of new constraints, evaluation of operating procedures, and hazard analysis;

• Software maintenance V&V process aims to provide assurance that the software results of the software maintenance process are met through, for example, anomaly assessment, criti- cality analysis, and migration assessment;

• Software discard V&V process aims to provide assurance that the software outcomes of the discard process are met through, for example, software discard assessment;

• Software validation process V&V aims to provide evidence to know if the requirements al- located to the final product have been met, if the resolution has been performed on the cor- rect problem, if the user needs have been achieved through the processes previously pre- sented;

(39)

17

• Software verification process V&V aims to provide evidence to know if the results achieved compliance with the requirements, if the user needs were met and if all activities were com- pleted through the processes previously presented.

Hardware V&V processes [32] aim at ensuring that the results of the hardware requirements analysis process are achieved. Hardware V&V processes are composed of:

• Hardware concept V&V processes aim to ensure that the results of the hardware-related system architecture process have been achieved by, for example, evaluating concept docu- mentation, requirements allocation analysis, and criticality analysis;

• Hardware requirements analysis V&V process aims to ensure that the results of the hard- ware requirements analysis process, the hardware qualification test process, and the hard- ware acceptance process are achieved through, for example, the requirements evaluation, criticality analysis, and hardware qualification test plan;

• Hardware design V&V process aims to ensure that the results of the hardware architectural design process, the hardware integration process, the hardware qualification test process, and the hardware acceptance support process are achieved through, for example, design evaluation, hardware component test plan evaluation, and hardware integration test plan evaluation;

• Hardware manufacturing V&V process aims to ensure that the results of the hardware man- ufacturing process, the hardware integration process, the hardware qualification test pro- cess, and the hardware acceptance process are achieved through, for example, evaluation of the manufactured component documentation, hardware qualification test case, and hardware acceptance test case;

• Hardware integration V&V process aims to ensure that the results of the hardware integra- tion process are achieved through, for example, hardware integration test execution evalua- tion, traceability analysis and hazard analysis;

• Hardware qualification test process V&V aims to ensure that the results of the hardware qualification test process are achieved through, for example, hardware qualification test ex- ecution, hazard analysis, and risk analysis;

• Hardware acceptance test process V&V aims to ensure that the results of the acceptance support process are achieved through, for example, the hardware acceptance test procedure, hardware acceptance test execution, and hazard analysis;

• Hardware transition V&V process aims to ensure that the results of the hardware transition process are achieved through, for example, the installation configuration audit, the installa- tion verification and the hazard analysis;

(40)

18

• Hardware operation V&V process aims to ensure that the results of the hardware operation process are achieved through, for example, evaluation of new constraints, evaluation of op- erating procedures and hazard analysis;

• Hardware maintenance V&V process aims to ensure that hardware maintenance process re- sults are achieved through, for example, anomaly assessment, criticality analysis, and task iteration;

• Hardware disposal V&V process aims to ensure that the results of the hardware disposal process are achieved through hardware disposal assessment;

• Hardware verification V&V process aims to ensure that there is conformance to require- ments, that usage standards have been met, and that activity conclusions are achieved through the previously mentioned processes;

• Hardware validation process aims to ensure that allocated requirements, troubleshooting and satisfaction of user needs are achieved through the previously mentioned processes.

Based on the standards described above, there is a division between software and hardware verification and validation standards. Since this dissertation focuses on the development of a validation framework, there is a connection between the standards presented and what is to be developed. It is an added value to take advantage of the software and hardware verification and validation standards and apply them during the furniture smartification process.

2.7 State of the Art Review

Through the research carried out it is possible to identify several aspects in the scope of smartification, some already developed, such as smart homes, others under development, as is the case of smart furni- ture. There are ideas of hardware integration in furniture in several scenarios, however, the implemen- tation of hardware in furniture is limited.

The smartification process requires communication and sending of information between the intervening systems. The use of GUI's allows the previous actions to be done in an intuitive and dynamic way.

To store the information generated during the furniture smartification process it is necessary to use a database. From the research done, the most suitable is a relational database with the PostgreSQL management system.

For the smartification process to be valid, it is necessary to assess the intermediate steps. A hardware integration solution in furniture needs to be tested for size and functionality compatibility.

The applications of dimension compatibility verification between 3D objects, obtained during the research, present differentiated results. After the analysis of the advantages and disadvantages in each application, based on the characteristics of each one (Table 1), it is verified that the applications that have characteristics that meet the desired functionalities are Bindrake and Smart Packing (GA).

(41)

19

Through iSurf and Smart Home Application, obtained during the research, different results were ob- tained for the identification of problems and constraints, so that corrections and improvements can be made so that the smart furniture is according to the user's needs. The first result that was obtained was, through the interaction with the smart furniture, users provide feedback to the developers and the second, the request to users to perform daily activities, under observation by the developers, to have the possi- bility to compare the data collected with the observed data.

With the Standards for Software and Hardware Verification and Validation it was possible to have an approximation of the requirements needed during the execution of the validation framework that will be developed.

(42)

20

(43)

21

3

S CENARIO D ESCRIPTION

In order to understand the need for the validation framework, in this chapter, a presentation and contex- tualization of the systems that intervene in the smartification process of the furniture is made. The pro- cess of furniture smartification is also presented, where a description and characterization of the valida- tion stages is made.

The interconnection of the systems with the quality assurance system, which is the focus of the dissertation, is demonstrated.

3.1 Furniture Smartification Operating Systems

The process of smartifying furniture consists of the following steps: identification and definition of the smartification problem, creation of a list of hardware electronics components, development of the smartification solution and prototype, integration of the prototype into the furniture, maintenance, and firmware update for the smartified furniture.

Each step of the smartification process has at least one of the following responsible parties for execution: User, User Interface System, Prototyping System, Quality Assurance System, Furniture Man- ufacturer, and RunTime System.

The User is the person who interacts with the furniture and feels the need to assign technological functions to the furniture. The User is responsible for initiating the smartification process, presenting the need for smartified furniture and the desired functionalities, and has the possibility to suggest solu- tions for the resolution. The User validates the solution proposal presented before the solution is devel- oped. After the solution is developed, there is the possibility to request reconfigurations. When testing the smart furniture, the User can provide feedback.

The User Interface System develops a graphical interface that allows communication with the user at different times. Initially, the graphical interface serves so that the User can explain the problem and present solution suggestions. The User validates the solution proposal presented through the graph- ical interface. There are two more areas in the graphical interface, one for reconfiguring the developed solution and the other for general feedback.

The Prototyping System creates a list of hardware electronic components based on user needs.

It analyses the problem description and the user's solution proposal, making the necessary changes to make it valid. Develops the solution and the prototype for furniture smartification. Participates in the process of integrating the prototype into the furniture.

(44)

22

The Quality Assurance System verifies and validates: the User furniture smartification problem, the list of hardware electronics created by the Prototyping System, the furniture smartification solution and prototype developed by the Prototyping System, and the electronic integration instructions produced by the Prototyping System.

The Furniture Manufacturer verifies the availability of the dimensions in the furniture to proceed with the smartification of the furniture and is responsible for the integration of the prototype into the furniture and the delivery of the smartified furniture.

The Runtime System is responsible for acquiring and processing data generated by the smarti- fied furniture and is also responsible for the maintenance and firmware updates of the smartified furni- ture.

3.2 System Interactions

For a better understanding of the interactions between the systems presented and the quality assurance system, a description is made of the procedure of interactions where the Quality Assurance System is one of the responsible parties.

Hardware List Validation Interactions

Initially, the Prototyping System creates a list of hardware electronic components based on the require- ments for use in developing the furniture smartification solution (Figure 8).

The Quality Assurance System has access to the list of hardware electronic components and the responsibility to validate each hardware electronic component present in the list. The purpose of the validation is to ensure that all information regarding the hardware electronic component is correct and therefore there are no problems when selected for the development of a furniture smartification solution.

(45)

23

Figure 8 - Hardware list validation interactions

In case of incomplete or erroneous information, the Prototyping System is notified to make the necessary changes and after changes are made, it is submitted to a new validation by the Quality Assur- ance System.

Furniture Smartification Problem Description Validation Interactions

When the User has a need for furniture smartification, he exposes the need to the User Interface System (Figure 9). The User Interface System, through exposing the User's need generates a description of the furniture smartification problem.

The Quality Assurance System has access to the furniture smartification problem description and the responsibility to validate the problem description. The goal of validation is, through a study, to verify that the problem description is feasible, i.e. that it is possible to be developed.

(46)

24

Figure 9 - Smartification problem description validation interactions

If the problem description is incomplete or not possible to develop, the User is notified through the User Interface System to reformulate the problem description or to accept some description sugges- tion. By rephrasing or accepting a suggestion, the problem description undergoes a new validation by the Quality Assurance System.

Furniture Smartification Solution Validation Interactions

When the list of hardware components and the description of the smartification problem are validated, the Prototyping System develops a furniture smartification solution (Figure 10).

The Quality Assurance System has access to the technical information of the furniture smartifi- cation solution and the responsibility to validate the furniture smartification solution. The purpose of the validation is, to verify that the hardware electronic components are compatible with each other and have the intended functionality, that the set of hardware electronic components, used in the development of the smartification solution, is dimensionally compatible with the furniture. If the previous validations are valid, the Quality Assurance System also needs to validate the electronic integration instructions, developed by the Prototyping System in order to check for any incomplete or incorrect information.

(47)

25

Figure 10 - Furniture smartification solution validation interactions

In case the smartification solution has any invalidity, the Prototyping System is notified to re- formulate the invalidity identified by the Quality Assurance System of the smartification solution. When reformulating, the smartification solution is submitted to a new validation by the Quality Assurance System.

Furniture Smartification Prototype Validation Interactions

Once the smartification solution is validated, the Prototyping System develops the furniture smartifica- tion prototype (Figure 11).

The Quality Assurance System has access to the technical information of the solution and the explanatory video of the prototype furniture smartification and the responsibility to validate the proto- type furniture smartification. The objective of the validation is to verify that the smartification prototype has all the pre-defined functionality and is functioning well.

(48)

26

Figure 11 - Furniture smartification prototype validation interactions

If some functionality is not implemented or is working incorrectly, the Prototyping System is notified to reformulate the smartification prototype. After the changes are made, the smartification pro- totype is submitted to a new validation by the Quality Assurance System.

(49)

27

4

F RAMEWORK FOR V ALIDATION OF THE

F URNITURE S MARTIFICATION P ROCESS

In this chapter, a developed framework is presented, which allows for optimization during the furniture smartification process, through a set of validations performed at different times.

The architecture used to implement the framework and respective modules will also be pre- sented.

4.1 Framework Design

The validation framework developed, shown in Figure 12, is composed of two asynchronous processes.

The first process is related to the validation of hardware components. The second process is related to the validations of the problem description, the smartification solution, and that of the developed piece of furniture and smartification prototype. The previous validations ensure that the smartified furniture is valid.

(50)

28

Figure 12 - Framework diagram

The validation framework is structured to receive an input. Each input has a validation phase, which can focus on one or several validations for the same input. In the same way, each validation phase will have an output.

The main goal of the framework is to create a set of ordered validations to evaluate the func- tional and dimensional requirements of a furniture smartification solution, so that product integration and design can be optimized for seamless manufacturing and use.

The first process has a new hardware component as input. For the previous input it is necessary to validate that technical characteristic of the new hardware component are correct. After the new hard- ware component is validated, the new hardware component is certified for use in the furniture smartifi- cation process.

The first process has a new hardware component as input. For the previous input, there is vali- dation of the technical characteristics of the new hardware component to verify that the technical char- acteristics are correct. After the new hardware component is validated, the new hardware component is certified to be used in the furniture smartification process.

The second process starts with the smartification problem as the entry point. For the input of the smartification problem, there is the validation of the functional requirements through the problem description. Through the previous validation the feasibility of the smartification problem is checked.

(51)

29

Given that the problem is feasible, the smartification solution and the piece of furniture associ- ated with the smartification is given as the entry point. The previous input requires three validations.

The first validation concerns the compatibility between the hardware components used in the smartifi- cation solution and their functionality. The second validation is related to the dimensional compatibility between the hardware components used in the smartification solution and the piece of furniture. Finally, the third validation focuses on the electronic integration instructions. With the previous validations, the smartification solution is certified dimensionally, functionally, and contains correct electronic integra- tion instructions.

Through the certified smartification solution is developed the smartification prototype which is the next entry point. The validation, associated with the entry point mentioned above, is at the level of the functionalities of the smartified furniture prototype, to confirm that the previously proposed func- tionalities exist and function correctly.

With the set of validations performed in the two processes, presented in the framework, the valid smart furniture is achieved.

4.2 Architecture

The architecture presented in Figure 13 and Figure 14 was built with the focus on implementing the framework presented in Figure 12 in Section 4.1. As in the framework, the architecture is composed of two asynchronous processes. Through the architecture a structural design of the validation system and the behavioral relationship after each validation feedback is presented.

The validations present in the validation architecture are based on the standards for software and hardware verification and validation, specifically, on the following V&V process presented: soft- ware concept, software requirements analysis, software integration, software qualification testing, soft- ware acceptance testing, software installation, software operation, software maintenance, software dis- posal, hardware requirements analysis, hardware integration, hardware qualification testing, hardware acceptance testing, hardware transition, hardware operation, hardware maintenance, and hardware dis- posal.

Hardware Component Validation Architecture

The architecture for the validation process of the new hardware component is represented in Figure 13.

The validation process of the new hardware component starts by using the GUI that is connected to the hardware list database.

(52)

30

Figure 13 - Architecture diagram of the hardware component list

To validate a new hardware component, the new hardware component id is entered in the GUI and access to the hardware component datasheet link is returned to be able to validate the technical data.

If the technical data is not valid, the id of the new hardware component is inserted into the GUI and subsequently the validation status is changed to invalid and the reasons why the hardware component is not valid are described. The changes made earlier are automatically updated in the database, so that it can be modified for a new validation later.

In case the technical data is valid, the validation of functionality usability needs to be validated.

The validation of functionality usability checks whether the hardware component's functionality is com- patible with the intended functionality. In case of incompatibility between the hardware component's functionality and the desired functionality, the process mentioned above is used to change the hardware component's validation status to invalid.

With the previous two validations completed, the hardware component is valid. Via the GUI, the id of the hardware component is selected and then its validation status is changed to valid. Thus, the hardware component can now be used in the smartification process.

The validation of a new hardware component was based on the software and hardware verifica- tion and validation standards, specifically on the following V&V processes presented: software concept, software requirements analysis, software integration, hardware concept, hardware requirements analy- sis, and hardware integration.

(53)

31

Smartification Process Validation Architecture

The architecture represented in Figure 14, presents a set of validations required for the furniture smarti- fication process to be valid. The validation process relies on the use of the GUI that is linked to the database.

(54)

32

Figure 14 - Global architecture diagram for validation of a new smartification solution

(55)

33

The process of validating furniture smartification starts with the validation of the smartification problem (Figure 15). To validate the smartification problem, the smartification problem id is entered in the GUI and the problem description is returned.

Through the problem description there is a check for constraints to the development of the prob- lem. If there are constraints for the development of the problem, once the id of the problem description is entered, the validation status of the problem description is changed to invalid and the reasons why the problem description is not valid are described, so that the problem description can be modified and submitted to a new validation. Otherwise, through the same process, the validation status of the problem description is changed to valid and can be further developed. The changes made previously via the GUI, are updated in the database.

The validation of the furniture smartification problem was based on the software and hardware verification and validation standards, specifically on the following V&V processes presented: software requirements analysis and hardware requirements analysis.

Figure 15 - Architecture diagram (detail) for validating the smartification problem

The validation of the smartification solution and the furniture part is composed of four valida- tions: compatibility between different hardware components, hardware functionality, dimensional, and electronic integration instructions.

For the development of the smartification solution there is a selection of previously validated hardware components. The selected hardware components must be compatible with each other and have the desired functionality.

To validate the compatibility between the hardware components and the intended functionali- ties, the smartification solution id is entered in the GUI and a list of hardware components proposed for the smartification solution is returned. With the list of hardware components and by accessing the datasheet of each hardware component it is possible to verify if there is compatibility between the hard- ware components and if the hardware components fit the intended functionalities (Figure 16).

In case there is no compatibility, or some hardware component does not have the desired func- tionality, once the smartification solution id is entered, the validation status of the smartification solution is changed to invalid and the reasons why the smartification solution is not valid are described, so that the smartification solution can be modified and submitted to a new validation. Otherwise, the smartifi- cation solution proceeds to the next validation.

Referências

Documentos relacionados

A infestação da praga foi medida mediante a contagem de castanhas com orificio de saída do adulto, aberto pela larva no final do seu desenvolvimento, na parte distal da castanha,

Immobilization has long been used to improve enzyme activity and stability in aqueous media, and, more recently, also in nonaqueous media (Bickerstaff, 1997; Bornscheuer, 2003),

The probability of attending school four our group of interest in this region increased by 6.5 percentage points after the expansion of the Bolsa Família program in 2007 and

didático e resolva as ​listas de exercícios (disponíveis no ​Classroom​) referentes às obras de Carlos Drummond de Andrade, João Guimarães Rosa, Machado de Assis,

Assim, este estudo visa determinar a composição química dos ácidos graxos presentes na borra de neutralização do óleo de andiroba antes e após a reação

Despercebido: não visto, não notado, não observado, ignorado.. Não me passou despercebido

Além disso, o Facebook também disponibiliza várias ferramentas exclusivas como a criação de eventos, de publici- dade, fornece aos seus utilizadores milhares de jogos que podem

Na hepatite B, as enzimas hepáticas têm valores menores tanto para quem toma quanto para os que não tomam café comparados ao vírus C, porém os dados foram estatisticamente