![image](figure9.eps){width="160mm"}

![image](figure10.eps){width="160mm"}

![image](figure11.eps){width="160mm"}

![image](figure12.eps){width="160mm"}

![image](figure13.eps){width="160mm"}
 ---
abstract: 'Guidelines and consistency rules of UML are used to control the degrees of freedom provided by the language to prevent faults. Guidelines are used in specific domains (e.g., avionics) to recommend the proper use of technologies. Consistency rules are used to deal with inconsistencies in models. However, guidelines and consistency rules use informal restrictions on the uses of languages, which makes checking difficult. In this paper, we consider these problems from a language-theoretic view. We propose the formalism of C-Systems, short for “formal language control systems”. A C-System consists of a controlled grammar and a controlling grammar. Guidelines and consistency rules are formalized as controlling grammars that control the uses of UML, i.e. the derivations using the grammar of UML. This approach can be implemented as a parser, which can automatically verify the rules on a UML user model in XMI format. A comparison to related work shows our contribution: a generic top-down and syntax-based approach that checks language level constraints at compile-time.'
author:
- Zhe Chen
- Gilles Motet
bibliography:
-'main.bib'
title: 'A Language-theoretic View on Guidelines and Consistency Rules of UML'
---

Introduction {#Sec:intro}
============

The UML (Unified Modeling Language) is a graphic modeling language developed by OMG (Object Management Group), and defined by the specifications [@UMLi] and [@UMLs]. UML has emerged as the software industry’s dominant modeling language for specifying, designing and documenting the artifacts of systems [@MRR02][@BRJ05].

Evolving descriptions of software artifacts are frequently inconsistent, and tolerating this inconsistency is important [@Bal91][@EC01]. Different developers construct and update these descriptions at different times during development [@NER00], thus resulting in inconsistencies. They develop multiple views on a system providing pieces of information which are redundant or complementary. Constraints exist on these pieces of information whose violation leads to inconsistent models. Inconsistency problems of
! [ image](figure9.eps){width="160 mm " } 

! [ image](figure10.eps){width="160 mm " } 

! [ image](figure11.eps){width="160 mm " } 

! [ image](figure12.eps){width="160 mm " } 

! [ image](figure13.eps){width="160 millimeter " } 
  --- 
 abstract:' guidepost and consistency rules of UML are used to see the degree of freedom provided by the terminology to prevent fault. Guidelines are use in specific domains (e.g., avionics) to commend the proper use of technologies. Consistency rules are used to share with inconsistencies in models. However, guidelines and consistency rules use cozy restrictions on the uses of languages, which make checking difficult. In this composition, we consider these problem from a language - theoretic view. We propose the formalism of C - Systems, short for “ conventional language control systems ”. A C - System consists of a controlled grammar and a controlling grammar. Guidelines and consistency rules are formalized as controlling grammars that control the uses of UML, i.e. the derivations using the grammar of UML. This approach can be implement as a parser, which can automatically verify the rule on a UML exploiter model in XMI format. A comparison to related work shows our contribution: a generic circus tent - down and syntax - based approach that checks language floor constraints at compile - time.' 
 author: 
 - Zhe Chen 
 - Gilles Motet 
 bibliography: 
 -'main.bib' 
 title:' A lyric - theoretic View on Guidelines and Consistency Rules of UML' 
 --- 

 Introduction { # Sec: intro } 
 = = = = = = = = = = = = 

 The UML (Unified Modeling Language) is a graphic mold language develop by OMG (Object Management Group), and defined by the specifications [ @UMLi ] and [ @UMLs ]. UML has emerged as the software industry ’s dominant mold language for specifying, designing and document the artifacts of systems [ @MRR02][@BRJ05 ]. 

 Evolving descriptions of software artifact are frequently inconsistent, and tolerating this inconsistency is important [ @Bal91][@EC01 ]. Different developer construct and update these description at different fourth dimension during development [ @NER00 ], therefore resulting in inconsistencies. They develop multiple views on a system supply pieces of data which are redundant or complementary. Constraints exist on these pieces of data whose violation leads to inconsistent models. incompatibility problems of
![imahe](figure9.eps){width="160mm"}

![image](flgure10.eps){width="160mm"}

![image](fignre11.eps){wjdth="160mm"}

![imxge](figure12.eps){width="160mm"}

![image](figuce13.epw){widty="160mm"}
 ---
abstract: 'Guideliner and condistency rults of UML are usev to conbxol tgc degxexs of freedom ptovided by tve language to pferent faults. Guidelines are used in s[ecific dlmains (e.g., aviogics) eo rsbonmend the proper use of technklogies. Consistency tules are used to deal witj infonsistencies in mldels. Howevgd, gtudelines and consistenbv rules use informal restrictions on the ures oy languages, wyicj makes checjing qifficult. In this pa[er, we vonsider these prmblwms from a language-thxoretic view. We propjse the fmrjalism of C-Systemw, whort for “foroql uanfuege contrll aystems”. A D-System conwists of a controlltd dgsmmar and a dontrojlyng grammar. Guidelines and consistency gulea are formalized as conrrolling grammars thaj control ehe uses of UML, i.e. the derivations using the gramkar oh JML. Tmis xppgoach can be implemented as a parser, which cag aitpmatically verlfy the rules on a ULL oser model in BMI foxjaf. A comparison to gelated work shows ouw comtribution: a generic top-dowb and syntax-yaswd approach that ckecks languaye levgl conxtraints at compile-time.'
cuthor:
- Zhe Chen
- Gllles Motsg
bibliography:
-'maiv.bin'
tidle: 'A Language-theoretic Viqw on Guivelinzs and Cunsixtency Rules of KML'
---

Inbsoduction {#Sec:intro}
============

Hhe ULL (Unified Mldeling Language) is a graphic modeling languabe deneloped bv OMG (Pbject Manageient Group), and defineb by tfe specifibations [@UKLi] and [@UMLf]. UML has emeshed as the smftware ynduwtry’w dominxvt modeling lamguage fog fpecufying, designing akd dozhmenting the arcnfqcts of systems [@MRF02][@BRT05].

Enolting qascriptions mf suftdsre aftifacts arc ffequrntly inconsistent, atd tklerating this incpnfistency is impowtant [@Bal91][@EC01]. Dofferent developerd convtrnct anc ukdate these descriptions at difrerent tiles during devejopmcnt [@GER00], thus rzsulting in inconsistencies. They develop multiple views on a system providing kieces of infprmatyon which are redundant or conplementary. Constvaints exist on these lieces of ijformation whose violation leads to inconsistent models. Inconsistency provlems of
![image](figure9.eps){width="160mm"} ![image](figure10.eps){width="160mm"} ![image](figure11.eps){width="160mm"} ![image](figure12.eps){width="160mm"} ![image](figure13.eps){width="160mm"} --- abstract: consistency of UML used to control by language to prevent Guidelines are used specific domains (e.g., avionics) to recommend proper use of technologies. Consistency rules are used to deal with inconsistencies in However, guidelines and consistency rules use informal restrictions on the uses of languages, makes difficult. this we consider these problems from a language-theoretic view. We propose the formalism of C-Systems, short for language control systems”. A C-System consists of a grammar and a controlling Guidelines and consistency rules are as grammars that the of i.e. the derivations the grammar of UML. This approach can be implemented as a parser, which can automatically verify the on a model in format. comparison related work shows a generic top-down and syntax-based approach level constraints at compile-time.' author: - Zhe Chen Gilles Motet -'main.bib' title: 'A Language-theoretic View on and Consistency Rules of UML' --- Introduction {#Sec:intro} The UML (Unified Modeling Language) is a graphic modeling language developed by OMG (Object Management defined by the specifications and [@UMLs]. UML emerged the industry’s modeling language specifying, designing and documenting the artifacts of systems [@MRR02][@BRJ05]. Evolving descriptions software artifacts are frequently inconsistent, and tolerating this inconsistency is Different construct and update descriptions at different times development thus resulting in inconsistencies. multiple on pieces information are redundant or complementary. exist on these pieces of whose violation leads to
![image](figure9.eps){width="160mm"}

![imagE](figure10.eps){Width="160Mm"}

![iMagE](fIgurE11.eps){Width="160mm"}

![image](fiGUre12.ePs){width="160mm"}

![image](figure13.epS){widtH="160mM"}
 ---
AbstRAcT: 'GuidElines aND cONSisTeNcY ruLeS Of uML arE usEd to conTrol the degReeS oF freedom provIDeD by the langUagE to prevent faUltS. GuideLiNes ARe useD in SpeciFic domAIns (e.g., aVionics) to ReCOmmend THe propeR USe Of teChnologies. ConsistENcY Rules are used to Deal wiTh INcONSisTenCies in modeLs. howevER, guidelINeS AND coNSistency rules Use informal REstRictioNs On tHE uses oF langUaGEs, wHich makes chEckiNg difficuLt. In thIS paper, wE ConsideR these ProBleMs frOM a LaNguAgE-TheOReTic VIew. we proposE tHe FormaLism OF c-sYsteMs, sHort For “foRmal language cOntRol sYSteMs”. A C-SYstem ConsIsTs of a ControLled gRaMmar and a controlLing Grammar. GuIdeLiNes AnD consIStency RulEs aRe formaLized as COntRoLLINg Grammars that controL tHE UsEs of UML, i.E. the deRIvAtIOns using ThE grAmmaR OF UML. THis aPPrOach can bE impleMEnTeD as a parSeR, which CaN auTomAticaLLy veRify thE rules on A UML uSEr model in XMI foRMat. A comparisoN To RELaTEd woRk sHows our contRibuTIon: a GeneRIc Top-DOwn anD syntAx-BAsED approach that checks LaNguage Level Constraints at Compile-timE.'
AUThor:
- Zhe CHen
- GILlES Motet
bibliogrAphy:
-'mAin.bib'
titlE: 'a LanguagE-theoRetic VieW on GuidelINEs and ConSisTenCy RUleS OF UmL'
---

IntroductioN {#sEc:inTrO}
============

The UML (uniFied ModEliNg LAngUagE) iS a graphic Modeling LaNgUaGe DevElopeD By OMG (ObjEcT MaNaGemEnt GrOUp), and dEfineD by tHe SpECifIcationS [@uMlI] And [@UmLS]. UmL haS emErGed as The sOFtwAre induStry’s domiNanT ModeLiNg LanguagE for specifyinG, dEsigning anD dOcuMentinG THe artifaCts of systems [@MRR02][@BRJ05].

EvolvINg descrIptIons oF sofTware artiFacTs are fReqUEntly iNconsiStent, AnD toLERatinG THiS inCoNsistency iS IMpoRtant [@baL91][@EC01]. DIfferenT developers construCT anD update these dEscRiptIONs At dIFfERenT tIMes DURing development [@nER00], thus resUlTInG in inconsiSTenCiEs. They dEvelop mUltipLE views oN a system pRoviding pIeCes oF INfoRmation whiCh are redUndant or cOMplemENtAry. CoNstRaints ExIst On theSe piecES of InforMation WhOse vioLatioN lEads to inConsistent models. InconsiStency ProblEms Of
![image](figure9.eps){widt h="160mm"} 

![i mag e]( fi gure 10.e ps){width="160 m m"}
![image](figure11.eps ){wid th = "160 m m" }

![ image]( f ig u r e12 .e ps ){w id t h= "160m m"} 

![ima ge](figure 13. ep s){width="16 0 mm "}
 ---
ab str act: 'Guidel ine s andco nsi s tency  ru les o f UMLa re use d to cont ro l  the d e grees o f fr eedo m provided by the la n guage to preve nt fau lt s .G u ide lin es are use din sp e cific d o ma i n s  (e . g., avionics)  to recomme n d t he pro pe r u s e of t echno lo g ies . Consisten cy r ules areused t o  deal w i th inco nsiste nci esin m o de ls . H ow e ver ,  g uid e lin es and c on si stenc y ru l e s useinf orma l res trictions onthe  use s  of  lang uages , wh ic h mak es che cking  d ifficult. In th is p aper, wecon si der  t hesep roblem s f rom  a lang uage-th e ore ti c v ie w. We propose thefo r m al ism of C -Syste m s,  s h ort for“f orm al l a n guage  con t ro l system s”. AC -S ys tem con si sts of  a  co ntr olled gram mar an d a cont rolli n g grammar. Gui d elines and co n si s t en c y ru les  are formal ized as c ontr o ll ing gramm ars t ha t  c o ntrol the uses of U ML , i.e.  thederivations u sing the g r a m mar of U ML.T hi s  approach canbe im plementeda s a pars er, w hich can  automati c a lly veri fythe  ru les o na UML user mo d e l in  X MI form at.  A comp ari son  to  re la ted workshows ou rco nt ri but ion:a  generic  t op- do wnand s y ntax-b asedappr oa ch tha t check s  l a n guag ele velcon st raint s at com pile-ti me.'
auth or: - Zh eCh en
- Gi lles Motet
bi bl iography:-' mai n.bib' t itle: 'A  Language-theoretic Vie w  on Gui del inesandConsisten cyRulesofU ML'
-- -

Int roduc ti on{ # Sec:i n t ro }
= == =========T heUML ( Un ifie d Model ing Language) is a gra phic modeling  la ngua g e  d eve l op e d b yO MG( O bject Managemen t Group),an d  d efined byt hesp ecifica tions [ @UMLi ]  and [@ UMLs]. UM L has eme rg ed a s the  softwareindustry ’s domina n t mod e li ng la ngu age fo rspe cifyi ng, de s ign ing a nd doc um enting  thear tifactsof systems [@MRR02][@BR J05].
Evol vin g descrip tio n s o f softwar e ar tifacts ar e f req uentl y i n consi sten t ,and toler atin g  this inc o ns ist e n cy  is importa n t [@B al91] [@E C 01]. D iffe rent developers c o nstruct and up date t hes e d e scri pt ions at differ ent  t i m es durin gdevelopment  [@NER00 ], thusresult ing in  incons i s te n cies.They  de velop mul tip le views o nas ystemprov id ing pi eces o f  inf o r mation which are  redu n d ant o r  co mplem en tary. C o nstr aints exis t on thesepieces  ofinfor mationwh ose vi ola ti on leads t o  inconsis tentmodels.  I ncon sis tencyprob l e ms of 
![image](figure9.eps){width="160mm"}

![image](figure10.eps){width="160mm"}

![image](figure11.eps){width="160mm"}

![image](figure12.eps){width="160mm"}

![image](figure13.eps){width="160mm"}
 ---
abstract:_'Guidelines and_consistency rules of UML_are used_to_control the_degrees_of freedom provided_by the language_to prevent faults. Guidelines_are used in_specific_domains (e.g., avionics) to recommend the proper use of technologies. Consistency rules are used_to_deal with_inconsistencies_in_models. However, guidelines and consistency_rules use informal restrictions on_the uses_of languages, which makes checking difficult. In this_paper,_we consider these_problems from a language-theoretic view. We propose the formalism_of C-Systems, short for “formal language_control systems”. A_C-System_consists_of a controlled grammar_and a controlling grammar. Guidelines and_consistency rules are formalized as controlling_grammars that control the uses of UML,_i.e. the derivations using the grammar_of UML. This approach can_be implemented_as a parser, which can_automatically verify the_rules on_a UML user_model in XMI format. A comparison_to related work_shows our contribution: a generic top-down_and_syntax-based approach that_checks_language_level constraints_at compile-time.'
author:
- Zhe_Chen
-_Gilles Motet
bibliography:
-'main.bib'
title:_'A_Language-theoretic View on Guidelines and Consistency_Rules_of UML'
---

Introduction {#Sec:intro}
============

The UML (Unified Modeling Language)_is a graphic modeling_language_developed by OMG (Object_Management Group), and defined by_the specifications [@UMLi] and [@UMLs]. UML_has emerged_as the_software industry’s dominant modeling language for specifying, designing and documenting the_artifacts of systems [@MRR02][@BRJ05].

Evolving descriptions of_software artifacts are frequently_inconsistent, and_tolerating_this inconsistency is_important_[@Bal91][@EC01]. Different_developers construct and update these descriptions at_different times_during development [@NER00], thus resulting in_inconsistencies. They develop multiple_views_on a system providing pieces of_information which are redundant or complementary._Constraints exist on these pieces_of_information_whose violation leads to inconsistent_models. Inconsistency problems of