Background: #fff
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #18f
PrimaryMid: #04b
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
/*{{{*/
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}

a {color:[[ColorPalette::PrimaryMid]];}
a:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];}
a img {border:0;}

h1,h2,h3,h4,h5,h6 {color:[[ColorPalette::SecondaryDark]]; background:transparent;}
h1 {border-bottom:2px solid [[ColorPalette::TertiaryLight]];}
h2,h3 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];}

.button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];}
.button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}
.button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}

.header {background:[[ColorPalette::PrimaryMid]];}
.headerShadow {color:[[ColorPalette::Foreground]];}
.headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
.headerForeground {color:[[ColorPalette::Background]];}
.headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}

.tabSelected{color:[[ColorPalette::PrimaryDark]];
	background:[[ColorPalette::TertiaryPale]];
	border-left:1px solid [[ColorPalette::TertiaryLight]];
	border-top:1px solid [[ColorPalette::TertiaryLight]];
	border-right:1px solid [[ColorPalette::TertiaryLight]];
}
.tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];}
.tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
.tabContents .button {border:0;}

#sidebar {}
#sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];}
#sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}

.wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
.wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;}
.wizard h2 {color:[[ColorPalette::Foreground]]; border:none;}
.wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];
	border:1px solid [[ColorPalette::PrimaryMid]];}
.wizardStep.wizardStepDone {background:[[ColorPalette::TertiaryLight]];}
.wizardFooter {background:[[ColorPalette::PrimaryPale]];}
.wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
.wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
	border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
.wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
.wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
	border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}

#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
#messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}

.popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}

.popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];}
.popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
.popup li.disabled {color:[[ColorPalette::TertiaryMid]];}
.popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;}
.popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
.listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}

.tiddler .defaultCommand {font-weight:bold;}

.shadow .title {color:[[ColorPalette::TertiaryDark]];}

.title {color:[[ColorPalette::SecondaryDark]];}
.subtitle {color:[[ColorPalette::TertiaryDark]];}

.toolbar {color:[[ColorPalette::PrimaryMid]];}
.toolbar a {color:[[ColorPalette::TertiaryLight]];}
.selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}
.selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}

.tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}
.selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
.tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}
.tagging .button, .tagged .button {border:none;}

.footer {color:[[ColorPalette::TertiaryLight]];}
.selected .footer {color:[[ColorPalette::TertiaryMid]];}

.sparkline {background:[[ColorPalette::PrimaryPale]]; border:0;}
.sparktick {background:[[ColorPalette::PrimaryDark]];}

.error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
.warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
.lowlight {background:[[ColorPalette::TertiaryLight]];}

.zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}

.imageLink, #displayArea .imageLink {background:transparent;}

.annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}

.viewer .listTitle {list-style-type:none; margin-left:-2em;}
.viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}
.viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}

.viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}
.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];}

.viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}
.viewer code {color:[[ColorPalette::SecondaryDark]];}
.viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}

.highlight, .marked {background:[[ColorPalette::SecondaryLight]];}

.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
.editorFooter {color:[[ColorPalette::TertiaryMid]];}

#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
#backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
#backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}
#backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
.backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:'alpha(opacity:60)';}
/*}}}*/
/*{{{*/
* html .tiddler {height:1%;}

body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}

h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}
h4,h5,h6 {margin-top:1em;}
h1 {font-size:1.35em;}
h2 {font-size:1.25em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}

hr {height:1px;}

a {text-decoration:none;}

dt {font-weight:bold;}

ol {list-style-type:decimal;}
ol ol {list-style-type:lower-alpha;}
ol ol ol {list-style-type:lower-roman;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:lower-alpha;}
ol ol ol ol ol ol {list-style-type:lower-roman;}
ol ol ol ol ol ol ol {list-style-type:decimal;}

.txtOptionInput {width:11em;}

#contentWrapper .chkOptionInput {border:0;}

.externalLink {text-decoration:underline;}

.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}

.tiddlyLinkExisting {font-weight:bold;}
.tiddlyLinkNonExisting {font-style:italic;}

/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
a.tiddlyLinkNonExisting.shadow {font-weight:bold;}

#mainMenu .tiddlyLinkExisting,
	#mainMenu .tiddlyLinkNonExisting,
	#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}

.header {position:relative;}
.header a:hover {background:transparent;}
.headerShadow {position:relative; padding:4.5em 0em 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0em 1em 1em; left:0px; top:0px;}

.siteTitle {font-size:3em;}
.siteSubtitle {font-size:1.2em;}

#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}

#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0em 0.2em; padding:0.2em 0.3em; display:block;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 .3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}

.wizard {padding:0.1em 1em 0em 2em;}
.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0em 0em 0em; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0em;}
.wizardFooter .status {padding:0em 0.4em 0em 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em 0.1em 0.2em;}

#messageArea {position:fixed; top:2em; right:0em; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
.messageToolbar {display:block; text-align:right; padding:0.2em 0.2em 0.2em 0.2em;}
#messageArea a {text-decoration:underline;}

.tiddlerPopupButton {padding:0.2em 0.2em 0.2em 0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em 1em 1em 1em; margin:0;}

.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}
.popup .popupMessage {padding:0.4em;}
.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0em;}
.popup li.disabled {padding:0.4em;}
.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}
.listBreak {font-size:1px; line-height:1px;}
.listBreak div {margin:2px 0;}

.tabset {padding:1em 0em 0em 0.5em;}
.tab {margin:0em 0em 0em 0.25em; padding:2px;}
.tabContents {padding:0.5em;}
.tabContents ul, .tabContents ol {margin:0; padding:0;}
.txtMainTab .tabContents li {list-style:none;}
.tabContents li.listLink { margin-left:.75em;}

#contentWrapper {display:block;}
#splashScreen {display:none;}

#displayArea {margin:1em 17em 0em 14em;}

.toolbar {text-align:right; font-size:.9em;}

.tiddler {padding:1em 1em 0em 1em;}

.missing .viewer,.missing .title {font-style:italic;}

.title {font-size:1.6em; font-weight:bold;}

.missing .subtitle {display:none;}
.subtitle {font-size:1.1em;}

.tiddler .button {padding:0.2em 0.4em;}

.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
.isTag .tagging {display:block;}
.tagged {margin:0.5em; float:right;}
.tagging, .tagged {font-size:0.9em; padding:0.25em;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
.tagClear {clear:both;}

.footer {font-size:.9em;}
.footer li {display:inline;}

.annotation {padding:0.5em; margin:0.5em;}

* html .viewer pre {width:99%; padding:0 0 1em 0;}
.viewer {line-height:1.4em; padding-top:0.5em;}
.viewer .button {margin:0em 0.25em; padding:0em 0.25em;}
.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}

.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}
.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}
table.listView {font-size:0.85em; margin:0.8em 1.0em;}
table.listView th, table.listView td, table.listView tr {padding:0px 3px 0px 3px;}

.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
.viewer code {font-size:1.2em; line-height:1.4em;}

.editor {font-size:1.1em;}
.editor input, .editor textarea {display:block; width:100%; font:inherit;}
.editorFooter {padding:0.25em 0em; font-size:.9em;}
.editorFooter .button {padding-top:0px; padding-bottom:0px;}

.fieldsetFix {border:0; padding:0; margin:1px 0px 1px 0px;}

.sparkline {line-height:1em;}
.sparktick {outline:0;}

.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
.zoomer div {padding:1em;}

* html #backstage {width:99%;}
* html #backstageArea {width:99%;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0em; right:0em;}
#backstageButton a {padding:0.1em 0.4em 0.1em 0.4em; margin:0.1em 0.1em 0.1em 0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; margin:0em 3em 0em 3em; padding:1em 1em 1em 1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em 0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}

.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
/***
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which use a logographic writing system and need larger font sizes.
***/

/*{{{*/
body {font-size:0.8em;}

#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}

.subtitle {font-size:0.8em;}

.viewer table.listView {font-size:0.95em;}

.htmlarea .toolbarHA table {border:1px solid ButtonFace; margin:0em 0em;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none ! important;}
#displayArea {margin: 1em 1em 0em 1em;}
/* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
noscript {display:none;}
}
/*}}}*/
<!--{{{-->
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar closeTiddler closeOthers +editTiddler > fields syncing permalink references jump'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar +saveTiddler -cancelTiddler deleteTiddler'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></span></div>
<!--}}}-->
To get started with this blank TiddlyWiki, you'll need to modify the following tiddlers:
* SiteTitle & SiteSubtitle: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* MainMenu: The menu (usually on the left)
* DefaultTiddlers: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
These InterfaceOptions for customising TiddlyWiki are saved in your browser

Your username for signing your edits. Write it as a WikiWord (eg JoeBloggs)

<<option txtUserName>>
<<option chkSaveBackups>> SaveBackups
<<option chkAutoSave>> AutoSave
<<option chkRegExpSearch>> RegExpSearch
<<option chkCaseSensitiveSearch>> CaseSensitiveSearch
<<option chkAnimate>> EnableAnimations

----
Also see AdvancedOptions
!! Capitol de carte
Simona Motogna, Ioan Lazar, Bazil Parv. //An MDA Approach for Developing Executable UML Components//. in Model-Driven Domain Analysis and Software Development: Architectures and Functions (editori Erika Asnina, Janis Osis), IGI Global - Publishing Academic Excellence. 2010 (To appear).
!!Articole in jurnale internationale
# [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]]. [[ComDeValCo framework - the modeling language for procedural paradigm|http://www.journal.univagora.ro/?page=article_details&id=118]]. //[[International Journal of Computers, Communications & Control  (IJCCC)|http://journal.univagora.ro/]]//, Vol. 3, No. 2, 2008, pp. 183-195. (''ISI'')
# [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]], ~Codrut-Lucian Lazar, [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]]. [[ComDeValCo Tools for Procedural Paradigm|http://www.journal.univagora.ro/?page=article_details&id=287]]. //[[International Conference on Computers, Communications and Control|http://www.iccc.univagora.ro/]]//, Felix, Romania, 15-17 May, 2008, pp. 243-247. ISSN 1841-9836, e-ISSN 1841-9844 (''ISI'')
# ~Codrut-Lucian Lazar, [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]]. Code Generation from an fuml Action Language. //[[International Conference on Computers, Communications and Control|http://www.iccc.univagora.ro/]]//, Felix, Romania, 12-16 May, 2010. (A se vedea paper 33 in [[ICCC accepted papers|http://www.cd-agora.ro/Final_list_papers_ICCCC_2010.pdf]]. Va fi publicat in [[IJCCC|http://journal.univagora.ro/]], 2010.
# [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]], ~Codrut-Lucian Lazar. ComdevAlco Framework: Working with Objects and Components. //[[International Conference on Computers, Communications and Control|http://www.iccc.univagora.ro/]]//, Felix, Romania, 12-16 May, 2010. (A se vedea paper 47 in [[ICCC accepted papers|http://www.cd-agora.ro/Final_list_papers_ICCCC_2010.pdf]]. Va fi publicat in [[IJCCC|http://journal.univagora.ro/]], 2010.

!!Articole in volume cu lucrari ale unor conferinte internationale 
# [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]], ~Codrut-Lucian Lazar. [[An Agile MDA Approach for the Development of ~Service-Oriented ~Component-Based Applications|http://portal.acm.org/citation.cfm?id=1602929.1602957]]. //Proceedings of the International Conference “Complexity and Intelligence of the artificial and Natural Complex Systems. Medical Applications of the Complex Systems, Biomedical Computing//, Editors: Barna Iantovics, Calin Enachescu, Florin Filip, Tg. Mures, Romania, 2008, pp. 37-46. (''ISI'')
# [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]], ~Codrut-Lucian Lazar. [[iComponent: A Platform-independent Component Model for Dynamic Execution Environment|http://www.computer.org/portal/web/csdl/doi/10.1109/SYNASC.2008.71]]. //[[10th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing|http://synasc08.info.uvt.ro/]]//, Timisoara, Romania, September 26-29, 2008. Accepted (''ISI'')
# [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]], ~Codrut-Lucian Lazar. Component Classification Criteria for a Platform-independent Component Repository. //[[5th International Conference of Applied Mathematics|http://stiinte.ubm.ro/icam.php/]]//, ~Baia-Mare, Romania, September 18-20, 2008. 
# [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]]. [[An Agile MDA Approach for Service-Oriented Components|http://portal.acm.org/citation.cfm?id=1621377]]. //Electronic Notes in Theoretical Computer Science// 253 (2009), 95-110.
# [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]], ~Codrut-Lucian Lazar. [[ComDeValCo Framework - Procedural and Modular Issues|http://www.cs.ubbcluj.ro/~studia-i/2009-kept/Studia-2009-Kept-3-KSE.pdf]]. //The Second International Conference Knowledge Engineering: Principles and Techniques (KEPT 09)//, ~Cluj-Napoca, Romania, July 2-3, 2009. Selected papers (eds. M. Frenţiu and H.F. Pop), pp. 213-222, Cluj University Press, ISSN 2067-1180.
# [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]]. [[Rapid Prototyping of Conversational Web Flows|http://www.cs.ubbcluj.ro/~studia-i/2009-kept/Studia-2009-Kept-3-KSE.pdf]]. //The Second International Conference Knowledge Engineering: Principles and Techniques (KEPT 09)//, ~Cluj-Napoca, Romania, July 2-3, 2009. //[[Studia Universitatis Babes-Bolyai, Informatica|http://www.cs.ubbcluj.ro/~studia-i/]]//, Vol. LIV, Special Issue, ~KEPT-2009, Knowledge in Software Engineering, 2009, Selected papers (eds. M. Frenţiu and H.F. Pop), 2-4 July 2009, 223-230, Cluj University Press, ISSN 2067-1180
# [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], ~Codrut-Lucian Lazar. [[Rapid prototyping of service-oriented applications on OSGi platform|http://www.computer.org/portal/web/csdl/doi/10.1109/BCI.2009.31]]. //4th Balkan Conference in Informatics (BCI 09)//, Thessaloniki, Greece, September 17-19, 2009. 217-222, IEEE Computer Society, ISBN 978-0-7695-3783-2 (''ISI'')
# ~Codrut-Lucian Lazar, [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]]. [[Using a fUML Action Language to construct UML models|http://www.computer.org/portal/web/csdl/doi/10.1109/SYNASC.2009.49]]. //[[11th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing|http://synasc09.info.uvt.ro/]]//, Timisoara, Romania, September 26-29, 2009, pp. 93-101, IEEE Computer Society, ISBN 978-0-7695-3694-5.  (''ISI'')
# [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]] [[Behaviour-Driven Development of Foundational UML Components|http://sdq.ipd.kit.edu/conferences_and_events/fesca10/]]. //Electronic Notes in Theoretical Computer Science// 253 (2010), 131-147.
# [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]] Realizing Use Cases for Full Code Generation in the Context of fUML. [[Model-Driven Architecture and Modeling Theory-Driven Development - MDA & MTDD 2010|http://www.enase.org/MDA_MTDD.htm]] 2010 MDA & MTDD 2010 Athens, July 2010, pp. 80-89 (ISI).
# [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]] ComDeValCo Framework, An approach to MDA. In 7th INTERNATIONAL CONFERENCE ON APPLIED MATHEMATICS, Minisymposium ”Software Engineering - Principles and Practices”, Baia Mare, 1-4 sept. 2010. Accepted for publication as invited lecture.

!!Articole in jurnale nationale
# [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]], ~Codrut-Lucian Lazar. [[ComDeValCo - A Framework for Software Component Definition, Validation, and Composition|http://www.cs.ubbcluj.ro/~studia-i/2007-2/06-Parv.pdf]]. //[[Studia Universitatis Babes-Bolyai, Informatica|http://www.cs.ubbcluj.ro/~studia-i/]]//, Vol. LII, No. 2, 2007, pp. 59-68.
# [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]], ~Codrut-Lucian Lazar. [[An Agile MDA Approach for Executable UML Structured Activities|http://www.cs.ubbcluj.ro/~studia-i/2007-2/10-Lazar.pdf]], //[[Studia Universitatis Babes-Bolyai, Informatica|http://www.cs.ubbcluj.ro/~studia-i/]]//, Vol. LII, No. 2, 2007, pp. 101-114.
# [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]], ~Codrut-Lucian Lazar.  [[Extension of an ~OCL-based Executable UML Components Action Language|www.cs.ubbcluj.ro/~studia-i/2008-2/02-MotognaParv.pdf]]. //[[Studia Universitatis Babes-Bolyai, Informatica|http://www.cs.ubbcluj.ro/~studia-i/]]//, Vol. LIII, No. 2, 2008, pp. 15-26.
# ~Codrut-Lucian Lazar, [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]]. [[On Simplifying the Construction of Executable UML Structured Activities|http://www.cs.ubbcluj.ro/~studia-i/2008-2/13-Lazar.pdf]]. //[[Studia Universitatis Babes-Bolyai, Informatica|http://www.cs.ubbcluj.ro/~studia-i/]]//, Vol. LIII, No. 2, 2008, pp. 147-160.
# [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]], ~Codrut-Lucian Lazar. An Agile MDA Approach for Component-Based Development. //Proceedings of the International Conference “Complexity and Intelligence of the Artificial and Natural Complex Systems. Medical Applications of the Complex Systems, Biomedical Computing//, Editors: Barna Iantovics, Calin Enachescu, Florin Filip, Tg. Mures, Romania, 2008, pp. 147-150.
# [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]]. [[Rapid Prototyping of Conversational Web Flows||http://www.cs.ubbcluj.ro/~studia-i/2009-kept/Studia-2009-Kept-3-KSE.pdf]]. //The Second International Conference Knowledge Engineering: Principles and Techniques (KEPT 09)//, ~Cluj-Napoca, Romania, July 2-3, 2009. //[[Studia Universitatis Babes-Bolyai, Informatica|http://www.cs.ubbcluj.ro/~studia-i/]]//, Vol. LIV, Special Issue, ~KEPT-2009, Knowledge in Software Engineering, 2009, pp. 194-197. 
# [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]], ~Codrut-Lucian Lazar. [[ComDeValCo Framework - Procedural and Modular Issues||http://www.cs.ubbcluj.ro/~studia-i/2009-kept/Studia-2009-Kept-3-KSE.pdf]]. ~Cluj-Napoca, Romania, July 2-3, 2009. //[[Studia Universitatis Babes-Bolyai, Informatica|http://www.cs.ubbcluj.ro/~studia-i/]]//, Vol. LIV, Special Issue, ~KEPT-2009, Knowledge in Software Engineering, 2009, pp. 189-193.

!!Articole in volume cu lucrari ale unor conferinte nationale 
# [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]]. ~ComDeValCo Workbench: Activity Modeling and Execution. In Proc. //"Zilele Academice Clujene 2008" - Computer Science Section//, June 4, 2008, pp. 67-74.
!Prezentari la conferinte nationale 
# [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]]. ~ComDeValCo Project: Goals, Current Status, and Future Plans. //"Zilele Academice Clujene 2008" - Computer Science Section//, June 4, 2008.
# [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]]. ~ComDeValCo Project: Platform-independent Component Repository. //"Zilele Academice Clujene 2008" - Computer Science Section//, June 4, 2008.
# ~Codrut-Lucian Lazar. ~ComDeValCo Workbench: Activity Modeling using Graphical Notations. //"Zilele Academice Clujene 2008" - Computer Science Section//, June 4, 2008.

!!Rapoarte tehnice (interne)
# Simona Motogna. Starea actuala a cercetarilor privind verificarea si validarea componentelor software, Raport stiintific intern.
# Ioan Lazar. Starea actuala a cercetarilor privind executia si testarea modelelor, Raport stiintific intern.
ComDeValCo is a conceptual framework for Software Components Definition, Validation, and Composition. Its constituents are meant to cover both component development and component-based system development.
The sub-process of component development starts with its definition, using an object-oriented modeling language, and graphical tools. Modeling language provides the necessary precision and consistency, and use of graphical tools simplifies developer’s work, which is not forced to know the notations of modeling language. Once defined, component models are passed to a V & V (verification and validation) process, which is indended to check their correctness and to evaluate their performances. When a component passes V & V step, it is stored in a component repository, for later (re)use.
ComDeValCo is a conceptual framework for Software Components Definition, Validation, and Composition. Its constituents are meant to cover both : component development and component-based system development.
Component repository is storing valid components, ready to be composed in order to build more complex components or systems.
|[[Validarea si Verificarea Sistemului]]|[[Simularea Sistemului]]|
|~|[[Definirea Sistemului]]|
|[[Validarea si Verificarea Componentelor|Validarea si Verificarea Componentelor (ValComp)]]|[[Simularea Componentelor]]|
|[[Intretinerea Depozitului de Componente|Intretinerea Depozitului de Componente (RepComp)]]|[[Definirea Componentelor|Definirea Componentelor (DefComp)]] |
[[Descriere proiect]]
TO DO 
Pentru a putea modela o aplicatie folosind mediul de dezvoltare ComDeValCo, trebuie creat un proiect.
Structura proiectului e alcatuita din mai multe pachete, fiecare proiect continand cazuri de testare si operatii, si e aratat in ProjectView (1). Aceasta vedere permite o navigare usoara prin pachetele si operatiile din proiect.
In Perspectiva de Modelare, utilizatorul poate modela aplicatia folosind PalTextEditor (2) sau PalGraphicalEditor (3).
 
[img[metamodel|toolset/modelperspective.jpg]]
''Perspectiva de Modelare''

Amandoua editoarele folosesc acelasi model si fieacare poate fi folosit in procesul dezvoltarii aplicatiei, sau amadoua, deoarece modificarile facute intr-un editor sunt vizibile si in celalalt editor.

[img[metamodel|toolset/model.jpg]]
''Metamodel''
|!Proiect |Idei 546/2007 |
|!Titlu |Un cadru conceptual pentru definirea, validarea si compunerea componentelor software |
|!Obiective |Scopul proiectului este realizarea unui cadru conceptual pentru definirea, validarea si compunerea componentelor soft. Finalmente, acest cadru va fi folosit pentru realizarea de sisteme soft folosind paradigma programarii bazate pe componente. |
|!Durata |Octombrie 2007  -- Septembrie 2010|
Pentru instrumentul DEFCOMP - definirea componentelor software - s-a dezvoltat un //limbaj procedural pentru actiuni, PAL (Procedural Action Language)//. PAL are o sintaxa concreta (textuala) si notatii grafice ce corespund obiectelor instructiune si componenta software  - a se vedea [[modelul obiect|Finalizarea modelului obiectual initial]].  Sintaxa concreta permite construirea rapida a unei operatii (procedura/functie), la fel ca in mediile de dezvoltare evoluate, iar notatiile grafice aduc un grad suplimentar de intelegere a fluxului de control, intr-o maniera apropiata schemelor logice. 

//Instrumentul de dezvoltare// realizat permite construirea, executia si testarea modelelor, acoperind astfel si o parte din functionalitatea instrumentului VALCOMP. In faza actuala, un model contine un program care apeleaza proceduri si functii. Programul poate fi editat folosind notatiile grafice sau sintaxa concreta, textuala. Cele doua perspective de editare oferite de instrument sunt sincronizate - o modificare in una dintre ele se regaseste imediat in cealalta. Aceasta sincronizare este realizata prin folosirea unui model unic de reprezentare al programului bazat pe meta modelul limbajului.
Instrumentul VALCOMP este gandit ca parte integranta a procesului agil de dezvoltare dirijata de teste. Procesele de dezvoltare agile ofera dezvoltatorilor posibilitatea de construi, executa si testa aplicatiile intr-o maniera incrementala, cu cicluri de dezvoltare scurte. In acelasi timp, procesele agile tind sa minimizeze faza de modelare, reducand astfel numarul de modele pentru sistemul care se dezvolta.

//Procesul agil de dezvoltare// de tip //Agile MDA// propus de noi stipuleaza construirea programelor prin folosirea de cicluri (incremente) formate din patru pasi:
# //Adauga un test//. Pentru orice functionalitate noua ce trebuie inclusa in program, se creeaza mai intai un caz de testare, exprimat in limbajul PAL, cu notatii grafice sau textuale. Pentru aceasta, limbajul include si constructii bazate pe asertiuni. Cazurile de testare sunt conforme cu profilul UML standard pentru testare - //UML Testing Profile//.
# //Executa toate testele//, obtinand ca rezultat faptul ca testul adaugat la pasul 1 esueaza. Motorul de executie al instrumentului (masina virtuala) este folosit si pentru executia testelor raportarea rezultatelor executiei acestora, similar instrumentelor traditionale de testare automata. Diferenta dintre abordari consta in faptul ca instrumentul propus de noi executa modele independente de platforma (PIM - //~Platform-Independent Models//), din care ulterior se pot genera modele dependente de o anume platforma (PSM - //~Platform-Specific Models//) sau chiar implementari complete. La generarea unor implementari concrete se vor genera si cazurile de testare automata pentru platforma aleasa.
# //Adauga codul functional// (de productie), exprimat independent de platforma prin folosirea limbajului PAL.
# //Executa din nou toate testele// si eventual se revine la pasul 3 daca cel putin un test esueaza. Daca toate testele se executa cu succes, atunci se continua cu un alt ciclu de dezvoltare pentru o noua functionalitate (un nou increment), adica cu pasul 1.

Instrumentul realizeaza si simularea executiei prin //depanare//. In acest sens, modelul poate fi adnotat cu puncte de oprire conform specificatiei pentru testare si depanare //UML Model-level testing and debugging//. Alaturi de asertiuni, care sunt folosite atat pentru testare, cat si pentru codul functional, limbajul include si celelalte constructii ale programarii bazate pe asertiuni - //preconditii// si //postconditii// pentru proceduri/functii si //invarianti// pentru cicluri.
* Prof. dr. Bazil Parv, director, [ [[web|http://www.cs.ubbcluj.ro/~bparv]] ]
* Conf. dr. Simona Motogna, membru, [ [[web|http://www.cs.ubbcluj.ro/~motogna/CV]] ]
* Lect. dr. Ioan Lazar, membru, [ [[web|http://www.cs.ubbcluj.ro/~ilazar]] ]
* Dr. ~Istvan-Gergely Czibula, membru, [ [[web|http://www.cs.ubbcluj.ro/~istvanc]] ]
* Drd. ~Codrut-Lucian Lazar, membru, [ [[web|http://www.cs.ubbcluj.ro/~llazar]] ]
[img[toolset/textEditor.jpg]]
[img[toolset/textEditor.jpg]]
Modelul obiect initial a fost dezvoltat in cadrul studiului de fezabilitate intreprins in perioada de elaborare a propunerii de grant, si a avut ca scop punerea in opera si validarea modelului obiect care serveste la definirea componentelor software. Modelul obiect realizat este structurat pe trei nivele, de jos in sus: (1) constructii low-level, de natura sintactica, (2) instructiuni pentru controlul executiei si (3) unitati de program.

Nivelul cel mai simplu al modelului obiect contine constructii de baza ale limbajului de modelare, clasele {{{Type}}}, {{{Declaration}}}, {{{Value}}}, {{{Variable}}} si {{{Expression}}}. Obiectele {{{Type}}} abstractizeaza conceptul de tip de date, iar obiectele {{{Declaration}}} asociaza unui nume (identificator) un obiect {{{Type}}} specific, corespunzand unei declaratii explicite de variabile dintr-un limbaj de programare. Obiectele {{{Value}}} incapsuleaza o valoare (literal) de un {{{Type}}} specific, fiind folosite in mai multe locuri in model: obiectele {{{Variable}}} reprezinta nume alternative pentru valori memorate la adrese specifice, o functie definita returneaza o valoare, si, mai general, procesul de evaluare a unei expresii produce o valoare. 

''Figura 1. Ierarhia clasei Expression''
[img[expression.jpg]]

Clasele {{{Value}}} si {{{Variable}}} sunt subclase ale clasei abstracte {{{Expression}}}, a carei ierarhie completa este prezentata in figura 1. Singura operatie abstracta a clasei {{{Expression}}} este {{{getValue()}}}, suprascrisa in toate subclasele, ce produce un obiect {{{Value}}} ca rezultat. Subclasele concrete ale clasei de baza {{{Expression}}} sunt: {{{Value}}}, {{{Variable}}}, {{{BinaryExpression}}}, {{{UnaryExpression}}}, si {{{DefinedFunction}}}.

{{{Variable}}} este una dintre cele mai importante subclase expresie, avand utilizari multiple in model: (1) obiectele {{{Variable}}} sunt expresii simple; (2) toate obiectele {{{Statement}}} opereaza asupra unor obiecte {{{Variable}}} si (3) starea unei untati de program este considerata ca o colectie de obiecte {{{Variable}}}.

Clasele expresie specifice luate in considerare in aceasta versiune a limbajului de modelare sunt {{{BinaryExpression}}} si {{{UnaryExpression}}}, avand un operator si doi, respectiv un operand. Clasa extensibila {{{Operator}}} implementeaza operatii evaluate() pentru toate tipurile de operanzi luate in considerare. In sfarsit, obiectele {{{DefinedFunction}}} corespund apelurilor de functii cu un singur argument.

Urmatorul nivel al limbajului contine obiecte specifice instructiunilor pentru controlul executiei, care mostenesc toate de la clasa de baza {{{Statement}}}. La proiectarea ierarhiei acesteia s-a folosit sablonul de proiectare {{{Composite}}}, iar rezultatul este prezentat in figura 2.

''Figura 2. Ierarhia clasei Statement''
[img[statement.jpg]]

Singura operatie abstracta a clasei {{{Statement}}} este {{{execute()}}}, care produce in cele mai multe cazuri o modificare de stare. Subclasele clasei abstracte {{{SimpleStatement}}} sunt: {{{AssignmentStatement}}}, {{{CallStatement}}}, {{{InputStatement}}}, {{{OutputStatement}}}, {{{LoopStatement}}} si {{{BranchStatement}}}, acoperind toate instructiunile de control importante dintr-un limbaj de programare imperativa si continand implementari corespunzatoare semanticii lor pentru {{{execute()}}}.

Obiectele {{{AssignmentStatement}}} au ca variabile de instanta obiecte {{{Expression}}} si {{{Variable}}}; dupa executie, variabila primeste valoarea expresiei. Semantica obiectelor {{{InputStatement}}} poate fi considerata caz particular al atriburii: ele citesc o valoare de la intrarea standard, o evalueaza si o atribuie obiectului {{{Variable}}} propriu. Executia unui obiect {{{OutputStatement}}} extrage valoarea obiectului {{{Variable}}} la iesirea standard.

Obiectele {{{CallStatement}}} corespund unei instructiuni de apel de procedura, vand ca variabile de instanta procedura apelata (obiectul apelat) si parametrii actuali, ale caror valori se extrag din starea obiectului apelator. Sunt considerate trei liste distincte de parametri: in, in-out, si out, iar executia cuprinde cinci pasi: (1) extragerea valorilor parametrilor in si in-out din starea obiectului apelator; (2) construirea starii (inregistrarii de activare a) obiectului apelat; (3) executia obiectului apelat; (4) extragerea valorilor parametrilor in-out si out din starea obiectului apelat si (5) actualizarea starii obiectului apelator cu valorile de la pasul (4).

Toate instructiunile de ciclare executa repetat corpul lor, un obiect {{{Statement}}}. Modelul are trei subclase ale clasei abstracte {{{LoopStatement}}}: {{{ForStatement}}}, {{{RepeatStatement}}} si {{{WhileStatement}}}. 

Pentru obiectele {{{ForStatement}}}, numarul de iteratii este cunoscut inainte de inceperea executiei, prin folosirea unui contor - obiect {{{Variable}}}, si precizarea subdomeniului de variatie a valorii acesteia. Obiectele {{{WhileStatement}}} si {{{RepeatStatement}}} folosesc un obiect de test {{{Expression}}} pe baza valorii caruia se continua procesul iterativ. Ele difera prin strategia de test: evalueaza expresia de test apoi executa corpul (while), respectiv executa corpul si apoi evalueaza expresia de test (repeat).

Obiectele {{{BranchStatement}}} corespund constructiilor if-then-else, in care conditia de test este un object {{{Expression}}}, iar ramurile sunt obiecte {{{Statement}}}. Executia sa evalueaza expresia de test si continua cu executia ramurii adecvate. 

Unitatile de program considerate pana in prezent sunt prezentate in figura 3: {{{Program}}}, {{{Procedure}}} si {{{Function}}}, fiind specifice paradigmei procedurale. 

Obiectele {{{Program}}} sunt singurele componente software executabile de sine statator. Ele au nume, stare si corp; starea este formata din toate obiectele {{{Variable}}} locale in componenta, iar corpul este un obiect {{{Statement}}}. Singura operatie a clasei {{{Program}}} este {{{run()}}}, implementata printr-un apel al metodei {{{execute()}}} a corpului sau.

''Figura 3. Unitati de program - componente software specifice programarii procedurale''
[img[program.jpg]]

{{{Procedure}}} si {{{Function}}} sunt componente software propriu-zise. Declaratia unui obiect {{{Procedure}}} trebuie sa precizeze numele, parametrii formali, starea locala si corpul de instructiuni. Este natural prin urmare sa consideram clasa {{{Procedure}}} ca subclasa a clasei {{{Program}}}; listele separate de parametri in, in-out si out sunt necesare pentru implementarea completa a metodei {{{CallStatement.execute()}}}.

Conceptal, o functie definita de utilizator din limbajele de programare imperative nu are efecte secundare, singurul efect al executiei sale fiind producerea unei valori, fara modificarea starii programului apelant. In consecinta, clasa {{{Function}}} are doar parametri de intrare si produce ca rezultat un obiect {{{Value}}}.
!! Czibula Istvan
* mobilitate la WSU
* lucrari - vezi lista din sectiunea publicatii
* teza de doctorat finalizata
** Search-based software engineering
** conducator stiintific prof. dr. Parv Bazil
** sustinuta public in dec 2009
** premiata de CNCSIS: cea mai buna teza de doctorat in Informatica pe 2009
!! Lazar Codrut Lucian
* mobilitate la WSU
* lucrari - a se vedea lista din sectiunea [[Articole publicate]]
* teza de doctorat in curs de finalizare
!!!Research Project
[[Idei 546/2007]]
[[Description|Project Description]]
[[Working Plan|Working Plan]]
[[Team|Project Team]]
|//Project Title//|A Framework for Software ''COM''ponent ''DE''finition, ''VAL''idation, and ''CO''mposition |
|//Project Obiectives//|The overall goal of the project is to develop a conceptual framework for software components, involving their definition, verification and validation, and composition into software systems. <br> @@TO DO...@@|
|//Time Frame//|2007, October  -- 2010, September|
TO DO
[img[UBB|logo.jpg]][[English|http://www.cs.ubbcluj.ro/~bparv/ComDeValCo/index_en.html]]
[[Descriere proiect]]
[[Echipa]]
[[Obiective si activitati]]
[[Tineri cercetatori|Gradul de implicare al tinerilor cercetatori]]
[[Rezultatele obtinute]]
[[Articole publicate]]
[[Alte rezultate]]
|!An|!Obiective|!Activitati asociate|!Grad de realizare|
|2007|Finalizarea studiului proof-of-concept <br>pentru paradigma procedurala|Finalizarea modelului obiectual initial|Realizata|
|~|~|Dezvoltarea DEFCOMP pentru definirea obiectelor Program si Procedure|Realizata|
|~|~|Dezvoltarea VALCOMP|Realizata|
|2008|Implementarea conceptelor <br>programarii modulare|Implementarea claselor Function si Module|Realizata|
|~|~|Extinderea modelului pentru lucrul cu tipuri structurate - tablou si lista|Realizata|
|~|~|Extinderea DEFCOMP si VALCOMP cu noile constructii incluse in limbajul de modelare|Realizata|
|~|~|Dezvoltarea DEFSYS si VALSYS|Realizata|
|~|Proiectarea depozitului <br>de componente|Stabilirea criteriilor de clasificare a componentelor|Realizata|
|~|~|Stabilirea limbajului de descriere a componentelor|Realizata|
|~|~|Stabilirea formatului de reprezentare a componentelor|Realizata|
|~|~|Dezvoltarea REPCOMP|Realizata|
|2009|Implementarea conceptelor <br>programarii obiectuale|Implementarea claselor Class si Interface|Realizata|
|~|~|Extinderea claselor din model pentru lucrul cu tipuri obiectuale |Realizata|
|~|~|Extinderea DEFCOMP pentru Class si Interface|Realizata|
|~|Implementarea conceptelor <br>programarii bazate pe componente|Implementarea clasei Component|Realizata|
|~|~|Extinderea DEFCOMP pentru Component|Realizata|
|~|~|Extinderea claselor din model pentru lucrul cu componente|Realizata|
|~|~|Extinderea DEFSYS si VALSYS pentru sisteme obiectuale|Realizata|
|2010|Implementarea instrumentelor <br>de simulare si popularea <br>depozitului de componente|Analiza robustetii modelului realizat|Realizata|
|~|~|Dezvoltarea SIMCOMP si SIMSYS|Realizata|
|~|~|Popularea depozitului de componente|Realizata|
|~|Generarea codului executabil si <br>popularea in continuare a <br>depozitului de componente|Dezvoltarea GENEXE|In lucru|
|~|~|Popularea depozitului de componente|In lucru|
|~|~|Realizarea de aplicatii prototip|In lucru|

Pentru detalii, a se vedea sintezele:
* [[Sinteza 2007|http://www.cs.ubbcluj.ro/~bparv/ComDeValCo/PARV_ID_546_Sinteza_2007.doc]]
* [[Sinteza 2008|http://www.cs.ubbcluj.ro/~bparv/ComDeValCo/PARV_ID_546_Sinteza_2008.doc]]
* [[Sinteza 2009|http://www.cs.ubbcluj.ro/~bparv/ComDeValCo/PARV_ID_546_Sinteza_2009.doc]]
This editor allows the user to create programs or operations made of statements from the structured programming (compound statement, decision statement, loop statement) using graphical primitives. PAL uses traditional graphical representations for these constructs. The tool supports simple statements like: variable declaration statement, assignment statement, etc., which also use the traditional representations.
The editor automatically performs syntactic analysis of PAL code, providing this way an immediate feedback for the developer concerning the typed code fragment. Syntactic errors are reported and can be analyzed using ErorLogView.

In order to facilitate test driven development, the editor automatically creates default implementations for attributes and referred but un-implemented operations. Following the test first design approach, the developer has to create a test case, then to run the test (in order to assure that the test fails), and finally to implement the code (in order to pass the test). 
Limbajul Procedural de Actiuni (Procedural Action Language - PAL) este introdus pentru a simplifica constructia activitatilor structurate UML. PAL defineste o sintaxa concreta reprezentand noduri ale activitatilor structurate pentru cicluri, secvente de actiuni si conditii. Sintaxa PAL este, de asemenea, folosita pentru a scrie instructiuni de atribuire si expresii in noduri de activitati structurate. PAL incude, de asemenea, constructii bazate pe asertiuni, asa cum sunt descrise in sectiunea anterioara. Un profil PAL este definit pentru a putea interschimba modelele cu alte utilitare ce se conformeaza standardului UML 2.

[img[metamodel|toolset/umlprofile.jpg]]
''Profilul UML pentru PAL''

Depanarea si testarea modelelor executabile cat mai devreme in procesul de dezvoltare al aplicatiei ajuta la validarea bucatilor de model si la imbunatatirea modelului. Specificarea de Testare si Depanare a Modelelor (Model-level Testing and Debugging Specification) si Profilul UML de Testare (UML Testing Profile) definesc infrastructura standard pentru testare si depanare la nivelul modelelor independente de platforma (Platfor Independent Model - PIM), modelelor dependente de platforma (Platform Specific Model - PSM) si la nivelele implementarii.

Tehnicile de testare si depanare implementate in mdeliul de dezvoltare ComDeValCo sunt definite in conformitate cu Model-level Testing and Debugging Specification si cu UML Testing Profile.
!!Articole in jurnale internationale
# [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]]. [[ComDeValCo framework - the modeling language for procedural paradigm|http://www.journal.univagora.ro/?page=article_details&id=118]]. //[[International Journal of Computers, Communications & Control  (IJCCC)|http://journal.univagora.ro/]]//, Vol. 3, No. 2, 2008, pp. 183-195. (''ISI'')
# [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]], ~Codrut-Lucian Lazar, [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]]. [[ComDeValCo Tools for Procedural Paradigm|http://www.cs.ubbcluj.ro/~bparv/ComDeValCo/publication/czibula-08-procedural-paradigm-tools.pdf]]. //[[International Conference on Computers, Communications and Control|http://www.iccc.univagora.ro/]]//, Felix, Romania, 15-17 May, 2008, pp. 243-247. ISSN 1841-9836, e-ISSN 1841-9844 (''ISI'')

!!Articole in volume cu lucrari ale unor conferinte internationale 
# [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]], ~Codrut-Lucian Lazar. An Agile MDA Approach for the Development of ~Service-Oriented Component-Based Applications. //Proceedings of the International Conference “Complexity and Intelligence of the artificial and Natural Complex Systems. Medical Applications of the Complex Systems, Biomedical Computing//, Editors: Barna Iantovics, Calin Enachescu, Florin Filip, Tg. Mures, Romania, 2008, pp. 37-46. (''ISI'')
# [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]], ~Codrut-Lucian Lazar. iComponent: A Platform-independent Component Model for Dynamic Execution Environment. //[[10th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing|http://synasc08.info.uvt.ro/]]//, Timisoara, Romania, September 26-29, 2008. Accepted (''ISI'')
# [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]], ~Codrut-Lucian Lazar. Component Classification Criteria for a Platform-independent Component Repository. //[[5th International Conference of Applied Mathematics|http://stiinte.ubm.ro/icam.php/]]//, ~Baia-Mare, Romania, September 18-20, 2008. 
# [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]]. An Agile MDA Approach for Service-Oriented Components. //Electronic Notes in Theoretical Computer Science// 253 (2009), 95-110.
# [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]], ~Codrut-Lucian Lazar. ~ComDeValCo Framework - Procedural and Modular Issues. //The Second International Conference Knowledge Engineering: Principles and Techniques (KEPT 09)//, ~Cluj-Napoca, Romania, July 2-3, 2009. Selected papers (eds. M. Frenţiu and H.F. Pop), pp. 213-222, Cluj University Press, ISSN 2067-1180.
# [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]]. Rapid Prototyping of Conversational Web Flows. //The Second International Conference Knowledge Engineering: Principles and Techniques (KEPT 09)//, ~Cluj-Napoca, Romania, July 2-3, 2009. //[[Studia Universitatis Babes-Bolyai, Informatica|http://www.cs.ubbcluj.ro/~studia-i/]]//, Vol. LIV, Special Issue, ~KEPT-2009, Knowledge in Software Engineering, 2009, Selected papers (eds. M. Frenţiu and H.F. Pop), 2-4 July 2009, 223-230, Cluj University Press, ISSN 2067-1180
# [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], ~Codrut-Lucian Lazar. Rapid prototyping of service-oriented applications on ~OSGi platform. //4th Balkan Conference in Informatics (BCI 09)//, Thessaloniki, Greece, September 17-19, 2009. 217-222, IEEE Computer Society, ISBN 978-0-7695-3783-2 (''ISI'')
# ~Codrut-Lucian Lazar, [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]]. Using a fUML Action Language to construct UML models. //[[11th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing|http://synasc09.info.uvt.ro/]]//, Timisoara, Romania, September 26-29, 2009, pp. 93-101, IEEE Computer Society, ISBN 978-0-7695-3694-5.  (''ISI'')
# [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]] ~Behaviour-Driven Development of Foundational UML Components. //Electronic Notes in Theoretical Computer Science// 253 (2010), 131-147.

!!Articole in jurnale nationale
# [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]], ~Codrut-Lucian Lazar. [[ComDeValCo - A Framework for Software Component Definition, Validation, and Composition|http://www.cs.ubbcluj.ro/~studia-i/2007-2/06-Parv.pdf]]. //[[Studia Universitatis Babes-Bolyai, Informatica|http://www.cs.ubbcluj.ro/~studia-i/]]//, Vol. LII, No. 2, 2007, pp. 59-68.
# [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]], ~Codrut-Lucian Lazar. [[An Agile MDA Approach for Executable UML Structured Activities|http://www.cs.ubbcluj.ro/~studia-i/2007-2/10-Lazar.pdf]], //[[Studia Universitatis Babes-Bolyai, Informatica|http://www.cs.ubbcluj.ro/~studia-i/]]//, Vol. LII, No. 2, 2007, pp. 101-114.
# [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]], ~Codrut-Lucian Lazar.  Extension of an ~OCL-based Executable UML Components Action Language. //[[Studia Universitatis Babes-Bolyai, Informatica|http://www.cs.ubbcluj.ro/~studia-i/]]//, Vol. LIII, No. 2, 2008, pp. 15-26.
# ~Codrut-Lucian Lazar, [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]]. On Simplifying the Construction of Executable UML Structured Activities. //[[Studia Universitatis Babes-Bolyai, Informatica|http://www.cs.ubbcluj.ro/~studia-i/]]//, Vol. LIII, No. 2, 2008, pp. 147-160.
# [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]], ~Codrut-Lucian Lazar. An Agile MDA Approach for Component-Based Development. //Proceedings of the International Conference “Complexity and Intelligence of the Artificial and Natural Complex Systems. Medical Applications of the Complex Systems, Biomedical Computing//, Editors: Barna Iantovics, Calin Enachescu, Florin Filip, Tg. Mures, Romania, 2008, pp. 147-150.
# [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]]. Rapid Prototyping of Conversational Web Flows. //The Second International Conference Knowledge Engineering: Principles and Techniques (KEPT 09)//, ~Cluj-Napoca, Romania, July 2-3, 2009. //[[Studia Universitatis Babes-Bolyai, Informatica|http://www.cs.ubbcluj.ro/~studia-i/]]//, Vol. LIV, Special Issue, ~KEPT-2009, Knowledge in Software Engineering, 2009, pp. 194-197. 
# [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]], [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]], [[Simona Motogna|http://www.cs.ubbcluj.ro/~motogna/]], [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]], ~Codrut-Lucian Lazar. ~ComDeValCo Framework - Procedural and Modular Issues. ~Cluj-Napoca, Romania, July 2-3, 2009. //[[Studia Universitatis Babes-Bolyai, Informatica|http://www.cs.ubbcluj.ro/~studia-i/]]//, Vol. LIV, Special Issue, ~KEPT-2009, Knowledge in Software Engineering, 2009, pp. 189-193.

!!Articole in volume cu lucrari ale unor conferinte nationale 
# [[Istvan Czibula|http://www.cs.ubbcluj.ro/~istvanc/]]. ~ComDeValCo Workbench: Activity Modeling and Execution. In Proc. //"Zilele Academice Clujene 2008" - Computer Science Section//, June 4, 2008, pp. 67-74.
!Prezentari la conferinte nationale 
# [[Bazil Parv|http://www.cs.ubbcluj.ro/~bparv/]]. ~ComDeValCo Project: Goals, Current Status, and Future Plans. //"Zilele Academice Clujene 2008" - Computer Science Section//, June 4, 2008.
# [[Ioan Lazar|http://www.cs.ubbcluj.ro/~ilazar/]]. ~ComDeValCo Project: Platform-independent Component Repository. //"Zilele Academice Clujene 2008" - Computer Science Section//, June 4, 2008.
# ~Codrut-Lucian Lazar. ~ComDeValCo Workbench: Activity Modeling using Graphical Notations. //"Zilele Academice Clujene 2008" - Computer Science Section//, June 4, 2008.

!!Rapoarte tehnice (interne)
# Simona Motogna. Starea actuala a cercetarilor privind verificarea si validarea componentelor software, Raport stiintific intern.
# Ioan Lazar. Starea actuala a cercetarilor privind executia si testarea modelelor, Raport stiintific intern.
A se vedea [[lista de publicatii|Articole publicate]] si [[capitolul de carte|Alte rezultate]] aflat in curs de publicare.
!! Instrumente soft realizate
* [[Definirea Sistemului]]
* [[Simularea Sistemului]]
* [[Profil UML]]

Pentru detalii, a se vedea sintezele:
* [[Sinteza 2007|http://www.cs.ubbcluj.ro/~bparv/ComDeValCo/PARV_ID_546_Sinteza_2007.doc]]
* [[Sinteza 2008|http://www.cs.ubbcluj.ro/~bparv/ComDeValCo/PARV_ID_546_Sinteza_2008.doc]]
* [[Sinteza 2009|http://www.cs.ubbcluj.ro/~bparv/ComDeValCo/PARV_ID_546_Sinteza_2009.doc]]
TO DO 
Perspectiva de Depanare / Simulare permite dezvoltatorului de model sa depaneze aplicatia, executand-o in modul de depanare. Perspectiva de depanare are un DebugView (1) care arata lantul de invocare intre operatii, pana la un punct de oprire (breakpoint). Dupa ce se ajunge la punctul de oprire, utilizatorul poate folosi aceasta vedere pentru a continua executia sau pentru a executa programul pas cu pas.

Apasand pe o operatie in DebugView, utilizatorul poate sa vada variabilele din VariablesView (2). Punctele de oprire sunt, de asemenea, vizibile in BreakpointsView (2). Ambele editoare mentionate inainte pot fi folosite in timpul procesului de depanare (3, 4), pentru a vedea instructiunile programului. ConsoleView si ErrorLogView (5) sunt, de asemenea, vizibile in perspectiva de depanare / simulare.

[img[metamodel|toolset/debugperspective.jpg]]
'''Perspectiva de Depanare / Simulare' 
Prof. Dr. Bazil Parv
ComDeValCo
|!An|!Obiective|!Activitati asociate|
|2007|Finalizarea studiului proof-of-concept <br>pentru paradigma procedurala|[[Finalizarea modelului obiectual initial]] <br> a se vedea [[Snapshots]]|
|~|~|[[Dezvoltarea DEFCOMP pentru definirea obiectelor Program si Procedure]] <br> a se vedea [[Snapshots]]|
|~|~|[[Dezvoltarea VALCOMP]] <br> a se vedea [[Snapshots]]|
|2008|Implementarea conceptelor <br>programarii modulare|Implementarea claselor Function si Module|
|~|~|Extinderea modelului pentru lucrul cu tipuri structurate - tablou si lista|
|~|~|Extinderea DEFCOMP si VALCOMP cu noile constructii incluse in limbajul de modelare|
|~|~|Dezvoltarea DEFSYS si VALSYS|
|~|Proiectarea depozitului <br>de componente|Stabilirea criteriilor de clasificare a componentelor|
|~|~|Stabilirea limbajului de descriere a componentelor|
|~|~|Stabilirea formatului de reprezentare a componentelor|
|~|~|Dezvoltarea REPCOMP|
|2009|Implementarea conceptelor <br>programarii obiectuale|Implementarea claselor Class si Interface|
|~|~|Extinderea claselor din model pentru lucrul cu tipuri obiectuale |
|~|~|Extinderea DEFCOMP pentru Class si Interface|
|~|Implementarea conceptelor <br>programarii bazate pe componente|Implementarea clasei Component|
|~|~|Extinderea DEFCOMP pentru Component|
|~|~|Extinderea claselor din model pentru lucrul cu componente|
|~|~|Extinderea DEFSYS si VALSYS pentru sisteme obiectuale|
|2010|Implementarea instrumentelor <br>de simulare si popularea <br>depozitului de componente|Analiza robustetii modelului realizat|
|~|~|Dezvoltarea SIMCOMP si SIMSYS|
|~|~|Popularea depozitului de componente|
|~|Generarea codului executabil si <br>popularea in continuare a <br>depozitului de componente|Dezvoltarea GENEXE|
|~|~|Popularea depozitului de componente|
|~|~|Realizarea de aplicatii prototip|
!Modelul obiect pentru paradigma procedurala
[img[procmodel.jpg]]
!DEFCOMP pentru paradigma procedurala
[img[procdef.png]]
 In order to model an application using ComDeValco Workbench, a project must be created.
The project structure consist of several packages, each package containing test cases and operations, and is shown in ProjectView ((1)). This view allows an easy navigation through the packages and operations from the project.
    In the Modeling Perspective , the developer can model the application by using the PalTextEditor ((2)) or the PalGraphicalEditor ((3)). 

[img[metamodel|toolset/modelperspective.jpg]]
''Modeling Perspective''

Both editors use the same model, and each one can be used in the process, or both, as the changes made in one editor are visible in the other editor also.

[img[metamodel|toolset/model.jpg]]
''Metamodel''
     The Debug/Simulation Perspective allows the model developer to debug the application, by executing it in debug mode. The debug perspective has a DebugView ((1)) that shows the invocation chain between operations, up to the breakpoint. After a breakpoint is reached, the user can use this view to resume execution or to execute the program step by step.

    By clicking on an operation in the DebugView, the user can see the variables in the VariablesView ((2)). The breakpoints are also visible in the BreakpointsView ((2)). Both the editors mentioned before can be used during the debug process ((3,4)), in order to view the program statements. The ConsoleView and ErrorLogView ((5)) are also shown in the Debug/Simulation perspective.

[img[metamodel|toolset/debugperspective.jpg]]
''Debug / Simulation perspective''
TO DO 
TO DO