Vous êtes sur la page 1sur 27

-Phrases:(ou analyse)

1-decomposition de la phrase :
- IsThereSubject ?
-IsThereVerb ?
(clef = phrase_class_component_type)
-IsThereCompl ?
2-determination du type de phrase :
-IsEmpty ?
-IsWord ?
-IsAffirmation ?
-IsNegative ?
-IsInterrogative ? (clef = phrase_class_type)
-IsIntNegative ?
3-determination du sujet de la phrase :
3-1-determination du type de sujet :
-isPersonal ? (clef de determination = subject_class_type)
-is
4-Determinatio. du verbe de la phrase :
4-1determination du type de verbe :
-isAuxiliary ?
-isStateVerb ? (clef =verb class_name)
-isOrdinary ?
5-determination du complement de la phrase :
5-1
6-Determination du temps de la phrase :
-IsPast ?
-IsPresent ?
(clef = verbe_class_conjugate_tense or tense_form or rule_for
m)
-IsFutur ?
-IsPresentProgressive ?
-IsPastPerfect ?
7-determination du destinataire de la phrase :
-IsMe ?
-IsAnother ?
(clef = subject_class_issue)

8-determine feelings from phrase (1 ou plusieurs) :


8-1- determine feeling type
-isPositive ? :
( -IsHappy ?)
-IsNegative ?
8-2-determine precise feeling :
-Positive :
--happy
-Negative :
--IsAngry ?
--IsJealous ?
--IsDepressive ?
--IsSad ?
8-3-determine feeling object(cause) :

-determine why - or who?

9-determine state from phrase :


-IsTired ?
-IsFull ?
-IsSoul ?
10-determine clef_words
10-1-determine clef_word_
10-2-bind clef_word_history :
- Clef_word_states
-determine clef_word_state type and save
11- determine phrase meaning :
Dterminer express type :
-request
- (action_express, or abstract_express, or straight_express)
-order
-prohibition
-or others
12--determination de la possibilit de reponse :
-IsAnswerable ?
-Classification_algo :
1-decomposer la phrase
2-determiner l'ordre des mots
3-enregistrer l'ordre
4-charger les criteres de classification :
5-determiner le bon critere :
5-1-examiner la possibilite d'introduction de tous
les elements de la liste des criteres.
-ou bien determiner le type de critere pouvant etre mis en application.
6-lancer le classement selon ce critere
7-Enregistrer la classification
(--options de classifications continues :
classe les elements
ainsi :
- un element peut
- un ou plusieurs
exemple :
-Jenna est une
-Jenna est une

par assignation faite


avoir une ou plusieurs classes d'affectation
elements peuvent avoir une classe d'affectation commune
humaine
professeur )

(-Enregistrement des donnes :


-algo denregistrement des donnees :

// definir apres --> selon chaque classe)


**(**= not basis for. now)
-Rule :
(s'il y a informations s'en servir oi sinon conserver forme prime de l'info)
1-determine (or find) rule :
rule_finding_algo :
1-1_decompose unknown system into components
1-2_determine
2-determine rule components :
3-determine sub-rule or minimal rule (and his type, and his symbole too) betwe
en each
component to another.
4-determine general rule type (from sub-rule or sub-rules) :
-isMathematical ?
-isPhysical ?
4-1_determine rule variability :
-isVariableRule(relative rule)
-isAbsoluteRule(static rule)
5-save rule :
-give rule type
-give rule name
-give rule symbols
-*Autres options de Rule :
-Rule applying (how to) :

1-determine which rule(by finding rule type or rule inquiried)


2-load_rule components
3- load component to component rule type (a list if it is)
4-load component to component rule applying order
5-start applying component to component rule algo(by following order applie
ment)
6-After rule apply check (in this part it check if rule apply result is wha
t expected if requested) :
After rule apply checking algo :
(to finish after (after rule apply checker))
//Fin Rule applying
-Follow_rule_integrity_algo (obwerve les regles(how to) :
1-isRuleEnfreigned ?

2-isRuleRespected ?
3-isRuleChangedToNewRule ?
4-isApplicable ?
(to finnish after( Follow_rule_integrity_algo))
//Fin Follow_rule
(to finish after(Rule algos))
//Fin Rule
-Reponse_Algo :
1-determine possibility to answer :
-IsAnswerable ?
2-Bind answer :
answer binding algo :
//( (2-determine type of answer to give :
var :
-feelings:
-feeling_type:
-negative:
-positive:
-sentences :
-sentence_type:
-affirmative
-sentence_tense :
-past
-present
-future
(2-1-determine :
2-1-1-type of sentence to give :
2-1-1-1-determine or load sentence to give type form
2-1-2-tense_to_give :
2-1-2-1-determine verb to choose :
2-1-2-2-determine verb conjugate form in this time
2-1-3-)
)
3-determine who to answer
-code_example :
-getInteractor_or_Interlocutor_or_mySubject :
-

(to finish after(who to answer))


)//
3-determine subject to give :
4-determine verb to give :
5-determine tense to give :
6789example en code :
reponse :
if(isAnswerable()){
//determine who
if(isMe()){
answer();
}elseif(isAnother()){
//define
}else{
// define after what to do what to do
};
}else{
Build random answer();
};
};
(to finish after(reponse_algo))
//Fin reponse_algo
-Interfaces de l'application :
-Main(Activit) :
*Composants* :
>Vue d'accueuil(Titre + emoticone [montrant huleur de l'utilisateur detecte])
>jauge d'humeur de l'ai [ProgressBar] on peut ajouter aussi celui de l'humain(fa
cultatif)
>jauge de comprehension[ProgressBar (concevoir 'algo de la gestion de la jauge d
e comprehension)]
>Champ de texte (Saisie utilisateur)
>Button de lancement de l'algo(
1-pre enregistrement
2-analyse

3-classification
4-creation de l'historique des mots cles
5-repondre l'utilisateur
)
------->Menu :
*Composants menu *:
>>>Parametres (activite) :
*Composants_parametres* :
>Options de retour de la reponse :
>>-texte seulement
>>-voix seulement
>>-texte+voix
------//Fin CORV
(Si voix activ affichez options voix)
>>Options de la voix :
*Composants opt de la voix*
>ton
>frequence
//Fin COV
-------(Peut-etre ajout d'autres options AU PARAMETRE)
//Fin parametres
-------->>>ChexBox d'activation rapide de la voix
>>>
//Fin Menu
--------(//Peut-etre dans menu ou main//)
>Interface de creation de une classe (ICC):
*Composants ICC* Activity:
>Nom de la classe
>critere sur base dInitialisation(ou critere de creation[ valeurs/exemples : pos
ition,(ordre) , taille;] (cela peut-etre une classe ,sous-classe))
>type de la classe
(peut-etre *nom de la classe hirarchique ou *autres
(math,
physique,)
>definition
-du nombre
(domaine de definition : [0,infini]),
-nom,
-et type des elements de la classe(sous-classe
ou elements singuliers non sous-classable)

>definition de la
- regle delements a elements
( soient a,b,c
| a b = addition(symbole_addition= +),
| b c = soustraction(symbole_soustraction= -),
|c a = aucun(symbole_aucun = non_connu)
))
>type de la regle(math ou autre)
>niveau de suivi (ou niveau d'application)de la regle(normal, relative, stricte)
>niveau de la classification de la classe(relative, absolue)
[definir l'interface apres , ces elements cites ci-dessus
peuvent constituer des elements de definition des classes(ou etats acqurir lors
d'une recherche par l'a.i elle-meme)]
//fin creation classe
[Interface] :
---------//Fin Main

/*
Note :
Regles:
-deux classes peuvent etres associes sans que leurs lements(resp. leurs elments son
t associs):
classification inter-classe(indirecte)
-deux elts peuvent etre associs sans etre classs
(classification directe)

*/
//
Note :
Nous pouvons ajouter un menu dans le main dans lequel on
affichera le lien vers une actibvite qui pourra permettre a lutilisateur de cree
r
une classe, son type , ses composants et les les regles la composant
que l'a.i pourra appliquer.(class creation interface)
//

-Options de rappel intelligente dans les parametres

//
L'a.i fonctionne en instantane
possede la capacite de repondre propos d'un
d'un element donn plus haut.
(capacite de rappel intelligente)
//
Et
il fonctionne en live et util
Options intermediaires :
1-enregistre les conversations
-analyse l'historique des reponses de son interlocuteur
et du sien , si possibilite d'en tirer quelque chose
build answer from if not random answer(surtout les sujets de phrase [] avec les
criteres criteres a connaitre : nature du sujet , position spatiale, sentiments,
avec un un classement temporelle lineaire des informations recueuillies
example :
jamina :
-10 h >
-Variables_states(encore appele clef [ avec les parametres suivants : clef_id, c
lef_state, clef_name, clef_type, clef_variability [[variable/relative or absolut
e/static]]) :
-physical_state = null
-spatial_state = dubai
(Always check variables states).
-No_Variable_states :
-Natural_state = human
-11 h >
---11 h 30 >
--- 12 h >
---) :
//Fin rappel intelligente
(to finish after(rappel inetlligent))

En entre l'ai :
1-cre une historique analityque
pour chaque phrase.
dont : les caracteres enumrs ci dessus
en plus du chemin( et les autres parametres de la
phrase ainsi que les caracteristiques de la phrase precedente.
) de stockage de la phrase acquise.

2-pour repondre la prochaine question il analyse les donnes precedentes.


Mais s'il rencontre un cas similaire , il peut choisir de faire un
coup de libre arbitre ou de repondre selon les caracteristiques requises
schematises par les cas similaires precedentes.
3-En mme temps, il cre une historique parallle des mots-cles ou sujets
detects (en inscrivant les etats detectes et le temps de detection correspondant)
dans un fichier
qui servira de memoire rapide en cas de questions sur ces sujets.
pourra s'en servir apres pour
* relater( apres classification bien sur meme classe , meme type, meme valeur, m
eme etat, (etablir types de relations)) ,
*classifier(apres analyse si deja classifi, dans une classe pas besoin de reclass
ifier dans cette meme classe sinon classer dans la nouvelle classe hote , apres
quoi il pourrait etre multiclasse ou monoclasse),
*repondre ,
//
Introduire des notions de temps :
propos dun sujet ou tout autre element
*Historical states*
-last ,
isLast ?
-new ,
isNew ?
-actual ,
isActual ?
-inexistant ,
isInexistant ?
//
General _algo:
-Analysing_phase :
(analyse selon les critres et donnes de classification)
-dtection des critres, paramtres dsigns
-Classification_phase :
(Self doing optionnaly in paramtres if requested
-classify unclassified
-if(cannot)
-ask for(or find means to) )setUnclassified()
-Answering_phase:
(Considering analyse_datas, and rules for answering and others...)
-Phase de rcupration des donnees danalyses de lentree
-Phase de recherche des rgles de rponse
-phase d'application des regles
-phase de rendu du resultat (rendu de la phrase)
Mes codes :
Les boolens :
-isSubject (retro
uver la classe du mot):
*case_defined_subjects_list:
**selon un renseignement textuel :

vars :
file liste_des_sujets = new File();
String nom_intermediaire;
String dataIntermediaire = null;
FileInputStream fis = new FileInputStream(liste_des_sujets);
InputStreamReader lu = new InputStreamReader(fis);
int k;
int file_research_value;
lecteur=liste_des_fichiers.read();
methodes :
//methode scanne_Fichier

//Boolean fileExist()
if(file.Exist()){
return true;
}else{
return false
}
//methode result
if(fileExist()){
String result = null;
public String lis_result(){
while((k=lecteur) != -1){
dataIntermediaire +=(char)k;
result.append(dataIntermediaire);
}
return result;
}
}else{
Toast.makeText(getApplicationContext(),Toast
.LENGTH_SHORT, "File does not exist"). show();
}
//Boolean isSubject()
int reseach_value = lis_result().indexOf();
public boolean isSubject( ){
if(file_research_value != -1){
Toast.makeText(getApplicationContext(), TOAS
T.LENGTH_SHORT, "l\'element est un fichier");

return true;
}else{
/*
Ou encore faire un textView.se
tText(" application not subject");
*/
Toast.makeText(getApplicationContext
(), TOAST.LENTGH_SHORT, "l\'element n\'est pas un sujet");
return false;
//fin condition
};
//fin methode isSubject()
}
||lecture auquel il faudra asocier un handler et un thread
-lire(fichier)

**cas ou la phrase n'est pas liste(renseigne), classe(apreslequel il es


t enregistre dans un fichier),
** si elle est classe on fait la meme chose qu'en liste renseigne.
-Mme processus, qu'avec les verbes et complements.
Note :
Mais pour eviter de crer chaque fois une methode pour une classe
on pourrait crer un seul lecteur commun(lecteur de classes) qui lirait ch
aque fichier correspondant .
//methode du lecteur de classe
qui lit les fichiers contenu dans le dossier des classes
//
lecteur_de_classe
( editer aprs)
boolean isRepertory() ?
filelist fList
Path DirectoryPath
File classFile
FileInputStream fis
InputStream fListReader
et apres on a qu'a repeter presque similairement le meme
processus qu'avec la methode is subject.
//methode associee findClass()
List/String class_name = null;
public List/String findClass(){
/*Lis le dossier des classes avec le lecteur de classes et retou
rne si une ou
plusieurs classes trouves

|Definir que faire pour la rechrche dune classe specifique (resu


lt = class_name.substring(classe_recherche))
|Que faire dans le cas de la recherxhe de plusieurs classes
et reutourne au choix une liste de noms de classes
correspondants
*/
return class_name;
}
ReadClassRepertory
boolean isRepertoryExist()
boolean isRepertory()
String class_nameBis
findClassName(){
if(isRepertory() || isRepertoryExist()){

String className = null;


For (classNameFileList:fileNameIntermediaire){
ReadClassFile(fileNameIntermediaire){
//meme methode que lis_fichier()
}
try{
(condition while --> facultatif
ou while(classNameFileList.hasNext())
la place de for() avec uk arrayList )

while((int bit =ReadClassFile(fNameIntermediaire))!= -1){


int k = ReadClassFile(fileNameIntermediaire).indexOf(researched_element);
if(k != -1){
class_nameBis = f.getFileName();
//show or write class_nameBis
}else{
class_nameBis
//fin condition if()...else }
//fin condition for() }
//fin condition while()}
}catch(IOException e){

}catch(FileNotFoundException e){

//fin condition try...catch(). };


return class_nameBis;
//.fin condition if()...else{} }else{
Toast.makeText(getApplicationContext(), TOAST.LENTGH_SHORT, "Le repertoire n
\'existe pas ! || le fichier n\'est pas un repertoire ").show();
}
//fin findClassName()
}

//methode getClassName()
getClassName(){
//permet de trouver le nom dune classe correspondante a un mot
encore appele elements de classe
int barre_pos = filePath.lastIndexOf("/") ;
int dot_pos = filePath.lastIndexOf(".txt",barre_pos);
String ClassName = null;
String filePath = file.getPath();
ClassName = filePath.substring(barre_pos+1, dot_pos);
return ClassName;
//fin getClassName()(non fait)
//Fini
/*
Meme principe que pour retrouver le filePath
*/
}(fait)
//Crer une classe de lecture-criture
( reorganiser et ameliorer, terminer aprs lecture de classe et find class)
-sinon lancer le processus de classification :
Classifier

//
Another note :

/*Maybe this list


private String class_ClassificationName;//nom de la classe
private String classification_criterium;//critere a la source_ a la base
de la classification
private String classification_ClassLevel;// values : Absolute or Relativ
e
private String classificationMode;// values : with rule or not
private String class_classificationRuleName;//nom du fichier de la regle
qui sera : ruleName+"rule.txt"
private String class_classificationRuleData;//Pour inscrire les composan
ts et symboles des regles a incrire dans le fichier de la regle
private String class_classificationType_or_TypeName;//sert a stocker le
nom du type de la classe qui sera inscrit dans le fichier des caracteristiques d
e la classe
*/
ruleName//
ruleComponentype//
ruleComponentsValue//
ruleComponentValuesType//
ruleComponentToComponentRelationName//
ruleComponentToComponentRelationType//
ruleComponentTocimponentRelationValue//
ruleComponentToComponentRelationSymbol
ruleComponentSymbol// ,null or others
(a editer, definir apres)

//
Analyze_phase_algo
analyze
-Get analyzeCriteriaName;
-Get analyzeCriteriaType;
-Cet analyzeCriteriaRuleForm;(=x=notResolved)
analyze_subject_criteria_name :tense
analyze_subject_criteria_type : temporal
-Search type like(algo) : temporal;
analyze_subject_criteria_matching_type_like_Name :
-present
-futur
-past

-pastPresent
analyze_subject_RuleForm = s+v(in prsent)+c
analyze_subject_criteria_matchingTypeLike_ruleForm : s+v(in present)+c
-Save matching temporal type like ;
-Get matching temporal type likeName;
-Get matching temporal type likeRuleForm;
-Compare oneByOne matchingTemporalLikeRuleForm with analyzeSubjectRuleForm;
-Get matchingTemporalLikeRuleForm;(=xValue=resolvedValue)
-Get matchingTemporalLikeRuleForm and show/send it if requested.
(Analyze resultType boolean , values : [true(if matches and success with all pro
cess), false( if not , un the same way like true stage), null(if none of) ]
dfinie what to do with un this case.
Classe des lments :
".ety" type
".etxt" noms de classes de l'Elt
".enat" nature de lElt
-Dterminer et ralisez l'algo d'analyse et aussi peut-tre de rsolution gnralise
-diter les rules et leurs mthodes
-diter les classes et leurs methodes
----------Note: concernant les classes
/*Class Files :
-".cbc" contient le nom du/des criteres de creation de la base
-".cru" contient le nom de la/des regle lies a la classe
-".cty" contient le nom du/des type de la classe
-".ctxt" contient les noms du/des elts
-".cinfos" contient les infos/resume des autres files sur la classe
-".clvl" contient le niveau de la classe(absolute,relative,mixte)
-".cety" contient le nom_du_type/type du/des elts de la classe si au moi
ns un dentre eux nest pas une classe qui sera cree et correspondra au type deriv
e de la classe
-".ccrit" contient les infos sur le nom et type du criteres de classific
ation
-".cnat" contient le nom de la nature type de la classe (elle est Primit
ive)
Tous nommes comme-ci nomDeClasse+extension
*/
//Classe de classification dun element
/*Necessite d'integrer des runnables piur plus de rapidite
et moins de temps dexecution
*/
/*
Need FileManager, RepertoryManager, Runnable, Thread,
*/

//Vars to get from element


private String ElementToClassifyName;
//Vars for classification tools
//To create, read in, write in, delete them
private FileManager FM;
private FileManager cbcFileCreator;//-".cbc" contient le nom du/des crit
eres de creation de la base
private FileManager cruFileCreator;//-".cru" contient le nom de la/des r
egle lies a la classe
private FileManager ctyFileCreator;//-".cty" contient le nom du/des type
de la classe
private FileManager ctxtFileManagerOrCreator;//-".ctxt" contient les nom
s du/des elts
private FileManager cinfosFileCreator;//-".cinfos" contient les infos/re
sume des autres files sur la classe
private FileManager clvlFileManagerOrCreator;//-".clvl" contient le nive
au de la classe(absolute,relative,mixte)
private FileManager cetyFileManagerOrCreator;//-".cety" contient le nom_
du_type/type du/des elts de la classe si au moins un dentre eux nest pas une cla
sse
private FileManager cnatFileManagerOrCreator;//-".cnat" contient le nom
de la nature type de la classe (elle est Primitive)
private RepertoryManager classRepertoryManager;
//For any class create a rule repertory
//Vars for classification results(classification caracteristics, clefs,
states, or criteres)
/*Maybe this list
private String class_ClassificationName;//nom de la classe
private String classification_criterium;//critere a la source_ a la base
de la classification
private String classification_ClassLevel;// values : Absolute or Relativ
e
private String classificationMode;//(facultatif) values : with rule or
not
private String class_classificationRuleName;//nom du fichier de la regle
qui sera : ruleName+"rule.txt"
private String class_classificationRuleData;//Pour inscrire les composan
ts et symboles des regles a incrire dans le fichier de la regle
private String class_classificationType_or_TypeName;//sert a stocker le
nom du type de la classe qui sera inscrit dans le fichier des caracteristiques d
e la classe
private String classClassificationNature//pour stocker la nature /nature
du type de la classe/cladsification
/Note :
<!--Chaque fichier portant le nom dune classe contiendra ses typ
es derivees dans
lequel il faudra aller fouiller pour trouver le type-mer
e dun type, elle servira/permettra
au traiteur/manipulateur de type de savoir quoi
faire avec les elts qu'ils traitent-->

*/
/*
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!--Class Name-->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:text="CRATION DE LA CLASSE"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center" />
</LinearLayout>
<!--Class Level spinner-->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:text="Niveau de classification_r
esolution de la classe : " />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Spinner
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/CLevel" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:text="Nom de la classe : " />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<EditText
android:id="@+id/CNE"

android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:hint="Nom de la classe"
android:background="#FFFFFF" />
</LinearLayout>
<!--Class creation Nature or Primitive Type of the classType -->
<!--Class creation Nature -->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<CheckBox
android:id="@+id/PrimitiveNativeCheck"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Est-elle de nature primiti
ve ?"
android:checked="true"
android:gravity="center" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:text="Nature classification_reso
lution de la classe : " />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Spinner
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/CNature" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:text="Nature de la classe : " />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<EditText
android:id="@+id/CNaE"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:hint="Nom de la nature de la cla
sse"
android:background="#FFFFFF" />
</LinearLayout>

<!--Class Criterium Basis Name-->


<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:text="LMENTS DE CRITERE DE LA CLAS
SE : "
android:gravity="center" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<CheckBox
android:id="@+id/WithCriteriaCheck"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Want to provide directly criteriaN
ame and Type or To Choose among existing"
android:checked="true"
android:gravity="center" />
</LinearLayout>
<!--Les infos seront inscrites dans le fichier ".ccrit"-->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText
android:id="@+id/CCTE"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:hint="Type du critere de la classe,calcu
lable || not-calculable || abstract,real|| others"
android:background="#FFFFFF" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText
android:id="@+id/CCNE"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:hint=" Veuillez fournir le nom du criter
e de la classe"
android:background="#FFFFFF" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:text="Type du critere de la classe :"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Spinner
android:text="Type du critere"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/CCT" />
</LinearLayout>
<!--For criteriaType checked
set criteriumName among same type criterium defined
-->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:text="Nom du critere de la class
e : "
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Spinner
android:text="Nom du critere"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/CCN" />
</LinearLayout>
<!--Classification TypeName-->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:text="LMENTS DU TYPE DE LA CLASSE
: "
android:gravity="center" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<CheckBox
android:id="@+id/WithTypeC"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Avec un type ?"
android:checked="true"
android:layout_weight="1"
android:gravity="center" />
</LinearLayout>
<!-- if WTC check All from down visible-->
<LinearLayout

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<!--provide or choose among defined-->
<CheckBox
android:id="@+id/POCC"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Fournir ou choisir le type et nom
du type de la classe ?"
android:checked="true"
android:layout_weight="1" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:text="Type de la classe : " />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<!--Choosing line, Spinners-->
<Spinner
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/CTN" />
</LinearLayout>
<!--Providing line, edt-->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:text="Type du type de la classe
: " />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText
android:id="@+id/CTNTypeE"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:hint="Type du type de la classe"
android:background="#FFFFFF" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_height="wrap_content"

android:layout_width="fill_parent"
android:text="Nom du type de la classe :
" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText
android:id="@+id/ClassTypeNameEdit"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:hint="Nom du type de la classe"
android:background="#FFFFFF" />
</LinearLayout>
<!--Class creation Mode -->
<!--Others check-->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<!--Elts Check-->
<CheckBox
android:id="@+id/WithElementCheck"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Avec des lments ?"
android:checked="true"
android:layout_weight="1" />
<!--Rule Check-->
<CheckBox
android:id="@+id/WithRuleCheck"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Avec des rgles entre eux ?"
android:checked="true"
android:layout_weight="1" />
</LinearLayout>
<!--Getting infos lines-->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<!--Button for getting infos , and past to the next Acti
vit-->
<Button
android:id="@+id/PasserelleB"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Creer rule_rules_class_elt_elts/ p
asser aux attributs"
android:background="#FFFAFA"
android:layout_weight="1" />
<!-cbn : notWith or with
elt can be checked/added without rule
if ruleChecked go elt go rule passerelle.setText(crea
teElt)
if eltChecked

go rule

passerelle.setTe

xt(creer la classe)
if typeChecked go direct class passerelle.setText()
1-go elt
2-go rule
3-go direct class
noelt =
norule >
go direct class =like el
t but class
elt
no rule > go direct class
always with type
: -selected(among defined[-provi
ded directly by user -among them too there founded by AI] ) -provided directly b
y user
rule :
-type :
*general rule to all components (type like : -ordered(se
quentialy), follow )
-general to all elts
*rule with subrules/law :
a)calculable ((type)-calculability)
1-slct elts
2-slct elt to elt relation type(by selecting symbols)
3-save
before applying rule : -all elts are same types
(calculability)
-elts types must matches law/ctc_rule applyability types
b)figured, abstract(not computable)
1-slct elts
2-elts are not same types
3-but formula can be established between them to general
type/ eg : phrase = phrase;
ph = s + v + c; :s_type ="mot" , v_type="mot" , c_type="
mot" ,
4-save ( applyable all forms)

Hierarchy : e > c >type ||( e > sub-c > c)

ru_c el_c ty_c


ru_c el_c not_ty_c
ru_c not_el_c ty_c
not_ru_c el_c ty_c
ru_c not_el_c not_ty_c
not_ru_c el_c not_ty_c
not_ru_c not_el_c ty_c
not_ru_c not_el_c not_ty_c
ru_c el_c ty_c
rule elt type

c
c
c
nc
nc
nc
nc
c
nc

c
c
nc
c
nc
c
nc
nc
nc

c
nc
c
c
c
nc
c
nc
nc

-->
</LinearLayout>
<!-- /*Maybe this list
private String class_ClassificationName;//nom de la classe
private String classification_criterium;//critere a la source_ a
la base de la classification
private String classification_ClassLevel;// values : Absolute or
Relative
private String classificationMode;// values : with rule or not
private String class_classificationRuleName;//nom du fichier de
la regle qui sera : ruleName+"rule.txt" peut-etre cree avec le nom de la classe
mere : className+"rule.cru"
private String class_classificationRuleData;//Pour inscrire les
composants et symboles des regles a incrire dans le fichier/repertoire de la reg
le
private String classificationRuleType//type de la regle
private String class_classificationType_or_TypeName;//sert a sto
cker le nom du type de la classe qui sera inscrit dans le fichier des caracteris
tiques de la classe, temporal mathematical physical
*/-->/*
</LinearLayout>
<!--Termine, juste a reajuster, mais peut-etre modifie apres-->
</ScrollView>
*/
//ClassCreation Code :
[Interface_algo] or [Algo] :
//
<!--set Visible POCCDTCheckBoxLinearLayout if PrimitiveTypeCheck comes f
alse-->
//
comes true-->

<!--set Invisible ClassNatureSpinnerLinearLayout if POCCDTCheck

//
<!--setVisible ClassDerivateTypeEditTextLinearLayout if POCCDTCh
eck comes true-->
//

<!--SetVisible POCCCCheckLinearLayout if WCCheck comes true-->

//

<!--set Visible POCCCEditCheckLinearLayout if POCCCCheck comes tr

//

<!--set Visible CriteriaSpinnersLinearLayout if WCCheck comes tr

//

<!--set Visible POCCTCheckLinearLayout if WTCheck comes true-->

ue-->
ue-->

//

<!--set Visible ClassTypeSpinnerLinearLayout if WTCheck comes tr

//
s true-->

<!--set Visible ClassTypeEditTextLinearLayout if POCCTCheck come

ue-->

// <!--classCreationProgressLinearLayout-->
//
<!-- setVisible WithRuleCheckLinearLayout when WithElementCheck
comes true -->
/*ChecBox*/
//<!--CBox Id :
//<!--CBox Id :
//<!--CBox Id :
//<!--CBox Id :
//<!--CBox Id :
//<!--CBox Id :
//
<!--CBox
//<!--CBox Id :

PrimitiveTypeCheck -->
POCCNatCheck > POCCDTCheck-->
WithCriteriaCheck-->
POCCCheck-->
WithTypeC-->
POCCTCheck-->
Id : WithElementCheck -->
WithRuleCheck -->

/*EditText*/
//<!--EdTxt id :
//<!--EdTxt id :
//CCTE
//
<!--EdTxt
//<!--EdTxt id :
//
<!--EdTxt

CNE -->
CNaE-->
id : CCNE-->
CTNTypeE -->
id : ClassTypeNameEdit-->

private Intent classCreationActivityToRuleCreationActvityIntent = null;


private Intent classCreationActivityToGetClassElementActivityIntent =
null;

//Button
classCreationToRuleCreation =(Button)findViewById(R.id.CTRC);
//Spinners
classCriteriaTypeSpinnerList =(Spinner)findViewById(R.id.CCTS);
classCriteriaNameSpinnerList =(Spinner)findViewById(R.id.CCNS);//To set
Visible if user doesn't want to provide directly Type and name
classLevelSpinnerList =(Spinner)findViewById(R.id.CLevelS);// value = ab
s, rela,mixt
classNatureOrPrimitiveTypeNameSpinnerList =(Spinner)findViewById(R.id.C
NatureS);// Hierarchical,
//LinearLayout
POCCDTCheckBoxLinearLayout =(LinearLayout)findViewById(R.id.POCCDTCheck
BoxLinearLayout);
ClassNatureSpinnerLinearLayout =(LinearLayout)findViewById(R.id.);
ClassDerivateTypeEditTextLinearLayout =(LinearLayout)findViewById(R.id.
ClassDerivateTypeEditTextLinearLayout);
POCCCCheckLinearLayout =(LinearLayout)findViewById(R.id.POCCCCheckLinea
rLayout);
POCCCEditCheckLinearLayout =(LinearLayout)findViewById(R.id.POCCCEditCh
eckLinearLayout);

CriteriaSpinnersLinearLayout =(LinearLayout)findViewById(R.id.CriteriaS
pinnersLinearLayout);
POCCTCheckLinearLayout =(LinearLayout)findViewById(R.id.POCCTCheckLinea
rLayout);
ClassTypeSpinnerLinearLayout =(LinearLayout)findViewById(R.id.ClassType
SpinnerLinearLayout);
ClassTypeEditTextLinearLayout =(LinearLayout)findViewById(R.id.ClassTyp
eEditTextLinearLayout);
classCreationProgressLinearLayout =(LinearLayout)findViewById(R.id.);
//CheckBox
PrimitiveTypeCheck =(CheckBox)findViewById(R.id.PrimitiveTypeCheck);
POCCDTCheck =(CheckBox)findViewById(R.id.POCCDTCheck);
WithCriteriaCheck =(CheckBox)findViewById(R.id.WithCriteriaCheck);
POCCCCheck =(CheckBox)findViewById(R.id.POCCCCheck);
WithElementCheck =(CheckBox)findViewById(R.id.WithElementCheck);
WithRuleCheck =(CheckBox)findViewById(R.id.WithRuleCheck);
//EditText
ClassNameEdit =(EditText)findViewById(R.id.CNE);
ClassNatureEdit =(EditText)findViewById(R.id.CNaE);
ClassCriteriaTypeEdit =(EditText)findViewById(R.id.CCTE);
ClassCriteriaNameEdit =(EditText)findViewById(R.id.CCNE);
ClassTypeNameTypeEdit =(EditText)findViewById(R.id.CTNTypeE);
ClassTypeNameEdit =(EditText)findViewById(R.id.ClassTypeNameEdit);
//ProgressBar
classCreationProgress =(ProgressBar)findViewById(R.id.classCreationProg
ress);
//-CTRC Button
classCreationToRuleCreation.setOnClickListener(new View.OnClickListener(
){
@Override
public void onClick(View v){
/*On pourrait les executer les processus a faire dans un
runnable pour eviter une surcharge du buffer dAndroid
que l'application par manque de memoire
associe a un thread et un handler qui re
nveont le niveau dAvance
dans la creation de la classe a
vec un ProgessBar creationProgress*/
};
});
public void manageViewsVisibilities(){

}
public void writeClassPrimaryDatas(){

}
public void manageButtonText(){
if(WithElementCheck.isChecked()){
classCreationToRuleCreation.setText("Appuyez pour passer la saisie des lm
ents de la classe ");
writeDatas();
intent = new Intent(MainActivity.this, GetClassElement.class);
starActivity(intent);
}else{
classCreationToRuleCreation.setText("Appuyez pour crer la classe ");
writeCPDatas();
};
}
finir demain 16/11/2016
//
<!-- setVisible WithRuleCheckLinearLayout when WithElementCheck
comes true -->
ruleCreationActvity

// finir