dsl et dsl tools
Embed Size (px)
DESCRIPTION
DSL et DSL Tools. Jean-Marc Prieur (ANPROS) [email protected] Plan de la présentation. Manipuler des « concepts et d’ intentions » dans Visual Studio 2005 Custom Tools pour les settings et ressources Editeurs de Windows Forms Class Diagram Formaliser nos solutions … jusqu’aux DSL - PowerPoint PPT PresentationTRANSCRIPT
-
DSL et DSL ToolsJean-Marc Prieur (ANPROS) [email protected]
Jeudis de l'objet - 30 mars 2006
-
Plan de la prsentationManipuler des concepts et dintentions dans Visual Studio 2005Custom Tools pour les settings et ressourcesEditeurs de Windows FormsClass Diagram
Formaliser nos solutions jusquaux DSLRetour dexprience dans le domaine de la simulation
Personnaliser Visual Studio 2005Le Visual Studio SDKLes DSL Tools
DiscussionUML et DSLLimites techniques actuelles des DSL ToolsLavenir court terme
Jeudis de l'objet - 30 mars 2006
-
Plan de la prsentationManipuler des concepts et dintentions dans Visual Studio 2005Custom Tools pour les settings et ressourcesEditeurs de Windows FormsClass Diagram
Formaliser nos solutions jusquaux DSLRetour dexprience dans le domaine de la simulation
Personnaliser Visual Studio 2005Le Visual Studio SDKLes DSL Tools
DiscussionUML et DSLLimites techniques actuelles des DSL ToolsLavenir court terme
Jeudis de l'objet - 30 mars 2006
-
Manipulations de concepts dans Visual Studio 2005Lexemple des fichiers de settings et ressourcesPersistance dans des fichiers XML(.settings, .resources)namespace WindowsApplication1.Properties {internal class Resources {internal static string Gagn { get {return ResourceManager.GetString("Gagn", resourceCulture);}}internal static string Perdu { get {return ResourceManager.GetString("Perdu", resourceCulture);}} }
private static global::System.Resources.ResourceManager resourceMan;private static global::System.Globalization.CultureInfo resourceCulture;internal static global::System.Globalization.CultureInfo Culture { get { return resourceCulture;} set {resourceCulture = value;} }
internal static global::System.Resources.ResourceManager ResourceManager {get { if (object.ReferenceEquals(resourceMan, null)) {global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WindowsApplication1.Properties.Resources", typeof(Resources).Assembly); resourceMan = temp; } return resourceMan; } }}ResXFileCodeGeneratorResources.Designer.cs
Jeudis de l'objet - 30 mars 2006
-
Jeudis de l'objet - 30 mars 2006
-
Le mcanisme Nous manipulons des ressources ou des paramtres de configuration de manire naturelle. Des Custom Tools gnrent du code bas sur un Framework (.NET 2.0) pour y accder en runtime (masquant lutilisation du Framework)System.Resources et System.GlobalizationSystem.Configuration Ce mcanisme est unidirectionnel.
Jeudis de l'objet - 30 mars 2006
-
Custom Tools de Visual Studio 2005 demo
Jeudis de l'objet - 30 mars 2006
-
De la Manipulation bi-directionnelle de conceptsPour les Windows.Forms cest comme pour les ressources ou settings mais Lditeur est graphiquela srialisation seffectue dans le code cest built-in (pas de Custom Tool) Mme chose pour le Class diagram La notion de classe partial est trs intressante pour les gnrateurs de code
Jeudis de l'objet - 30 mars 2006
-
Et si nous ...... nous pouvions prendre un modle (par exemple un automate dtats finis) et en dduire du code source?Ajouter StateMachine un projet Visual Studio.
Cest possible car Visual Studio 2005 est extensibleMais il nous faut dabord formaliser nos solutions nos problmes rptitifs
Jeudis de l'objet - 30 mars 2006
-
Plan de la prsentationManipuler des concepts et dintentions dans Visual Studio 2005Custom Tools pour les settings et ressourcesEditeurs de Windows FormsClass Diagram
Formaliser nos solutions jusquaux DSLRetour dexprience dans le domaine de la simulation
Personnaliser Visual Studio 2005Le Visual Studio SDKLes DSL Tools
DiscussionUML et DSLLimites techniques actuelles des DSL ToolsLavenir court terme
Jeudis de l'objet - 30 mars 2006
-
Evolution du processusClignottantFourniture doutils pour aider les utilisateurs du frameworkFourniture dlments stables sous forme compileAutomatisation de lapplication de patternsFormalises issues de lexperienceAutomates dtats-finisState-Pattern Exemple de codeDesigns.StateMachineDSL SMteintAllumEteint
Jeudis de l'objet - 30 mars 2006
-
Les Roles et les ArtefactsLes architectes slectionnent des procdures et conseils et crent deux types dartefacts :un Framework Une codification des conseils (assistant, designer graphique ou non...) Les dveloppeurs utilisent un modle pour implmenter une solution
Jeudis de l'objet - 30 mars 2006
-
Des DSLNous avons besoin de langages spcifiques pour dcrire les points dextension de nos Frameworks
Ces langages peuvent tre : Textuels (XML, et autres : exemple ASPX, T4)ouGraphiques (DSL Tools)
Horizontaux (techniques)Designer de Windows.Form, Class Designer, WorkflowState Machine Designer ouVerticaux (mtier)DSL Architecture de composants de simulation
Jeudis de l'objet - 30 mars 2006
-
Les langages visuelsPermettent dchanger des informations dans un domaine spcifique
Jeudis de l'objet - 30 mars 2006
-
Plan de la prsentationManipuler des concepts et dintentions dans Visual Studio 2005Custom Tools pour les settings et ressourcesEditeurs de Windows FormsClass Diagram
Formaliser nos solutions jusquaux DSLRetour dexprience dans le domaine de la simulation
Personnaliser Visual Studio 2005Le Visual Studio SDKLes DSL Tools
DiscussionUML et DSLLimites techniques actuelles des DSL ToolsLavenir court terme
Jeudis de l'objet - 30 mars 2006
-
Retour dexprience dans le domaine de la simulation Contexte dapplicationDes tudes de recherche oprationnelle aux applications de simulationUn processus outill.
Jeudis de l'objet - 30 mars 2006
-
Le besoin initial : rpondre plus efficacement auxdemandes dtudes de recherche oprationnelleExpert oprationnel, pilote de ltude : Je suis press.Jai besoin dune rponse rapidement.
Jeudis de l'objet - 30 mars 2006
-
Rve du chef CDT : Je voudrais que les tudes de RO soient ralises plus rapidement en matrisant toute la verticalit
Jeudis de l'objet - 30 mars 2006
-
Rve du directeur dtude Directeur dtudes : Je comprends son problme. Il faut maintenant que je le modlise. - Traduire en termes de critres valuer sur des scnarii,- Construire un plan dexprience i.e. dvelopper une application de simulation dans laquelle je vais mesurer des variables qui seront transformes en critres
Jeudis de l'objet - 30 mars 2006
-
La Dmarche
Etude ROLoutilDirectSimUne rponse :Un environnement gnrique de - dveloppement, - excution - et exploitationde simulations.
Jeudis de l'objet - 30 mars 2006
-
Rve du directeur dtude qui est le maillon entre la demande et la rponseDirecteur dtudes : Je comprends son problme. Il faut maintenant que je le modlise.
Si la traduction du modle en programme informatique pouvait aller plus vite ...
Jeudis de l'objet - 30 mars 2006
-
Rve des dveloppeursDveloppeur : Je souhaiterais : - Dvelopper avec des langages et outils modernes, efficaces et adapts au problme.Rutiliser ce que jai dj faitQue les tches de dveloppement rptitives soient faites par lordinateur
Jeudis de l'objet - 30 mars 2006
-
De quoi avons-nous besoin concrtement?Besoin de capitaliser des expertises mtiersBesoin dusines de dveloppements dapplications de simulationAssembler des applications de simulation avec des outils, en sexprimant dans un langage proche de loprationnel, et sappuyant sur des briques de connaissances mtier (moyens + concepts demploi)Cette usine de dveloppement doit tre intgre un environnement de dveloppement moderneBesoin dun langage pour le binme oprationnel / ingnieur pour les applicationsLa situation passe : notation UML
Jeudis de l'objet - 30 mars 2006
-
Lenvironnement de dveloppement, excution, et exploitation de simulations
DirectSim
Jeudis de l'objet - 30 mars 2006
-
Contexte dapplication
Jeudis de l'objet - 30 mars 2006
-
Crer des applications de simulationA lANPROS, nous crons des applications de simulation pour les tudes de recherche oprationnelleProcessus de dveloppement bas sur une analyse de haut niveau en privilgiant UML notation general purpose (depuis 1999)
MaisCest une affaire de spcialiste gnie logicielOr ceux qui ont besoin des simulations dtude peuvent tre des oprationnels (qui ne peuvent/veulent pas forcment parler UML) et ne peuvent / veulent pas aller trop loin dans le code. Or il faut pouvoir collaborer.
EtNos applications de simulation sont bases sur un framework de simulation gnrique et complexe qui capture et factorise ce qui est commun aux applications de simulation dtude.Les modles reprsentent visuellement les variations (points dinsertion) que permettent le frameworkOr le modeleur UML ne connat pas ce framework, et ce nest pas forcment facile de le lui apprendre.
Jeudis de l'objet - 30 mars 2006
-
Crer, maintenir des applications de simulation partir de modlesNous avons identifi 4 types de modles pour spcifier, concevoir et dvelopper des applications de simulation
Parmi ceux-ci, la notion de Comportement.Ex : le comportement du chien ou de lhlicoptre de la vido. Il est complexe en soi. Mais les choses sont encore plus compliques par le manque dinteraction entre le modle et le framework de simulation sous-jacent ou les composants de simulation rutiliss qui contraignent la modlisationIntelliSense au niveau du modle, dbugging idem .
Jeudis de l'objet - 30 mars 2006
-
Staying
Wandering
entry/ if (vel.IsZero) vel = pos.LocalBase[0]*speed; mover.Initialize(pos, vel, this.period);
Playing
Going Away
entry/ reach.LocatableToReach = targetLocation
Coming Back
entry/ reach.LocatableToReach = commanderPlayer
Following
entry/ reach.LocatableToReach = commanderPlayer
Catching
entry/ catcher.Initialize(pos, (target.Position-pos).Normalized(speed), target);
Reaching
entry/ vel = (target.Position-pos).Normalized(speed); reacher.Initialize(pos, vel, target);
Following
AfterPartDeactivate(part, stopping, endStatus)
Sit Down
GoBack()
AfterPartDeactivate(part, stopping, endStatus) ^NotifyParentReached(this)
Wander
GoBack()
Wander
Sit Down
FetchIt( target )
-
Dveloppement dapplications de simulation par les modlesNous cherchons rendre la modlisation dapplications de simulation possible par des non spcialistes (un plus grand nombre)Sattacher aux conceptsMasquer le plus possible les dtails du framework et aider lapprendreAvoir des diteurs graphiques attractifs et ergonomiques qui parlent dans le langage de loprationnel.Les DSL une solution possibleAssembling Applications with Patterns, Models, Frameworks and ToolsMicrosoft nous fournit des outils les DSL Tools pour crer des diteurs graphiques permettant de manipuler nos modles spcifiques / mtier
Jeudis de l'objet - 30 mars 2006
-
DirectSim : pourquoi a va plus vite !Des framework gnriquesGnie logiciel, mtiers techniques.Framework de simulation
Des modles dexpertise mtier MarineCapitaliss au fur et mesure des tudes
Un environnement de dveloppement dapplications de simulationDans Visual Studio.NET 2005 La modlisation y tient une place importante
Un environnement dexploitationCe qui est spcifique une application de simulation est captur dans des modlesCe qui est commun aux applications de simulation est factoris dans des framework
Jeudis de l'objet - 30 mars 2006
-
Plan de la prsentationManipuler des concepts et dintentions dans Visual Studio 2005Custom Tools pour les settings et ressourcesEditeurs de Windows FormsClass Diagram
Formaliser nos solutions jusquaux DSLRetour dexprience dans le domaine de la simulation
Personnaliser Visual Studio 2005Le Visual Studio SDKLes DSL Tools
DiscussionUML et DSLPotentiel et limites techniques actuelles des DSL ToolsLavenir court terme
Jeudis de l'objet - 30 mars 2006
-
Lextensibilit Visual StudioLes possibilitsAccessibilit aux dveloppeursNcessite le VS SDKCas des Language Packages et en particulier des DSL
Jeudis de l'objet - 30 mars 2006
-
Lextensibilit de VSComment choisir ?
Jeudis de l'objet - 30 mars 2006
-
Les DSL ToolsVisual Studio 2005 VS 2005 SDKDSL ToolsPackage DSLCode, DocFichiers de configApplicationAuteur de DSL(Architecte)Utilisateur de DSL(Dveloppeur)Utilisateur finalcregnreproduitFrameworkFrameworkFramework
Jeudis de l'objet - 30 mars 2006
-
Avec des DSL bien faits :Nous sommes guids au fur et mesureLe modle est valid tous momentsUn Custom Tool gnre du codeLe code gnr compile forcment !Il y a des possibilits illimites dinteractions avec Visual Studio :Editeurs spcialiss pour les propritsDrag & DropDebuggerEtc
Jeudis de l'objet - 30 mars 2006
-
Comment crer un DSL ?Un type de projet dans VS 2005 (choix dun template)
Modification du Domain Model (mta-modle)
Mise jour de la Designer Definition (notation graphique)
Ecriture de code personnalis pour la validation et les aspects graphiques avancs, linteraction avec VS
Code T4 pour les gnrateurs de code
Les dtails de tout cela dpassent la porte de cette confrence
Jeudis de l'objet - 30 mars 2006
-
Le processus de cration dun DSL avec les DSLToolsAssistantCre et configure une solution Visual Studio.NET pour un diteur de DSL ( partir dun patron)Dfinition du DSLdition du Domain Model
Mta modle (DMD)Srialisation du modleContraintesdition de la dfinition de lditeur graphique Notation graphique(DD)Lien entre mta modle et Notation graphiqueExplorateurFentre des propritsComportement de validationSrialisation de ltat de lditeurPartie Package VS.NET
Ajout de code
Corps des contraintesImport / Export personnalisAutres enrichissementsGnration de code de lditeur graphique
Cration dun installeur pour le dploiement du DSLBuild (F5)ExcutionLancement dune instance exprimentale de VS.NET sur la solution de debuggingTest DebuggingUtilisation du designerGnration dartefactsModification de patrons
Jeudis de l'objet - 30 mars 2006
-
Cration dun Designer avec les DSL Tools
Jeudis de l'objet - 30 mars 2006
-
Anatomie dun DSL1. Domain Model2. Designer Definition3. Correspondance entre les deux.4. Code sur mesure (validation) (effets labors)
Jeudis de l'objet - 30 mars 2006
-
Code sur mesureRgles de cohrence du modle
Rgles de validation du modle[ValidationState(ValidationState.Enabled)]public partial class State{ /// /// A final state should not have outgoing transitions /// /// [ValidationMethod(ValidationCategory.Open | ValidationCategory.Save | ValidationCategory.Menu)] private void ValidateFinalStateHasNoOutgoingTransitions(ValidationContext context) { Transition[] transitions = GetOutgoingTransitions(); if ((Kind == StateKind.Final) && (transitions.Length > 0)) { string error = string.Format(System.Globalization.CultureInfo.CurrentUICulture, DomainModel_Resource.FinalCannotHaveOutgoingTransitions, Name); context.LogError(error, "StateMachines 42", transitions); } } }/// /// When the event / condition / action changes the label is recomputed and/// vice versa/// [RuleOn(typeof(Transition), FireTime = TimeToFire.TopLevelCommit)]public sealed class TransitionAttributesChanged : ChangeRule{ /// /// This method is called whenever any attribute of a Transition changes. /// It processes the coherence Label = Event + "["+Condition+"] / "+Action /// /// public override void ElementAttributeChanged(ElementAttributeChangedEventArgs e) { Transition t = e.ModelElement as Transition; // Compute Label when Event changes if (e.MetaAttribute.Id == Transition.EventMetaAttributeGuid) t.Label = ComputeSummary(e.NewValue as string, t.Condition, t.Action); // Compute Label when Condition changes else if (e.MetaAttribute.Id == Transition.ConditionMetaAttributeGuid) t.Label = ComputeSummary(t.Event, e.NewValue as string, t.Action); // Compute Label when Action changes else if (e.MetaAttribute.Id == Transition.ActionMetaAttributeGuid) t.Label = ComputeSummary(t.Event, t.Condition, e.NewValue as string); // Compute Event, Condition, Action when Label changes else if (e.MetaAttribute.Id == Transition.LabelMetaAttributeGuid) { System.Text.RegularExpressions.Match match = eventLabelRegEx.Match(e.NewValue as string); if (match.Success) { t.Event = match.Groups["EventGroup"].Value.Trim(); t.Condition = match.Groups["Condition"].Value.Trim(); string actionWithSlash = match.Groups["ActionGroup"].Value.Trim(); if (actionWithSlash.StartsWith("/")) t.Action = actionWithSlash.Substring(1).TrimStart(); else t.Action = actionWithSlash; } }
Jeudis de l'objet - 30 mars 2006
-
Gnrateur de codecrit en T4 (Text Templating Transformation)
On peut en faire un Custom Tool ! /// /// Method to clean up the resources(such as timers for example) allocated by the state. /// /// Is the state disposing /// State machine owning this state /// Driven interface public virtual void Dispose(bool disposing, stateMachine, driven) { } }
/// /// /// class : {
-
Anatomie du DSL de comportement dynamique demo
Jeudis de l'objet - 30 mars 2006
-
Exemple dutilisation des DSL Simulation
Jeudis de l'objet - 30 mars 2006
-
Vie dune application de simulation Modle danalyse dune application de simulationBibliothque de modles capitaliss Conception de nouveaux composants de simulationStructure statiqueStructure dynamiqueCode utilisation expertise Mise au point Excution
Jeudis de l'objet - 30 mars 2006
-
Le sujetTravail dun hlicoptre en sentinelle
Un sous-marin sapproche.
Lhlicoptre arrte sa patrouille pour aller voir.
Lhlicoptre suit un hippodrome et regarde (au radar)Lorsquil dtecte quelque-chose il va pour lidentifier
Jeudis de l'objet - 30 mars 2006
-
LEnvironnement de dveloppement Simulations
Jeudis de l'objet - 30 mars 2006
-
Ce que nous avons vu dans la dmoDes designers qui prsentent des concepts spcialiss dans des modles spcifiques Des gnrateurs de code qui savent prendre ces modles et gnrer du code ciblant un framework. Une excellente intgration VS 2005
Une autre faon darchitecturer ses projets
Jeudis de l'objet - 30 mars 2006
-
Un dcoupage des classes par domaineGrce aux classes partiellesFrigate.Behavior.smStation.Behavior.smStation.simuApplication.simuHelicoptere.csMain.csClassesDomaine
Jeudis de l'objet - 30 mars 2006
-
Plan de la prsentationManipuler des concepts et dintentions dans Visual Studio 2005Custom Tools pour les settings et ressourcesEditeurs de Windows FormsClass Diagram
Formaliser nos solutions jusquaux DSL
Personnaliser Visual Studio 2005Le Visual Studio SDKLes DSL Tools
DiscussionUML et DSLPotentiel et limites techniques actuelles des DSL ToolsLavenir court terme
Jeudis de l'objet - 30 mars 2006
-
DiscussionLUML est-il mort ? lANPROS nous utilisons UML et des DSL
Les potentialits et les limites actuelles des DSL Tools ?Peut-on refaire Rose avec des DSL ?Ce quon peut faire avec et quon ne peut pas faire sans
Lavenir court termeLa V1 est pour mai.Beaucoup de changements en perspectiveEt ce nest quun dbut !
Jeudis de l'objet - 30 mars 2006
-
FAQCombien couteront les DSLTools ?Ils seront gratuits, dans le VS SDK.Est-ce quon est oblig dhberger nos DSL dans VS 2005 ?Oui, pour le moment (sauf version Express)A terme, on pourra se procurer un VS videPuis, on pourra hberger les designers hors de VS (V2 des DSLTools)Est-ce quon ne pourrait pas faire la mme chose en UML ?Ctait ce que nous faisions avant, mais : on a des compartiments spcifiques du mtier pour le DSL Simulation Architecture et le DSL State Machine comporte la notion de Dlgation une entit de simulationLes deux connaissent le Framework et interagissent avec les assemblages de modles.Tout est intgr et synchronis dans le processus de production de code.
Jeudis de l'objet - 30 mars 2006
-
ConclusionUtiliser un DSL ne ncessite pas dtre architecte. Le crer : si !
Les langages visuels y ont une place importante dans la Vision Software Factory de Microsoft. Un autre pilier est GAT (Guidage assist), non prsent ici
A Vous dimaginer votre problme factoris dans un Framework et ses variations captures dans un DSL
Jeudis de l'objet - 30 mars 2006
-
Liens utilesInformations sur les DSL Tools http://msdn.microsoft.com/vstudio/dsltools/default.aspx (Home page)http://forums.microsoft.com/msdn/showforum.aspx?forumid=61&siteid=1
Prsentation DSL Tools au symposium DNG 2005http://www.dotnetguru.org/modules.php?op=modload&name=News&file=article&sid=681 (compte-rendus)http://dotnetguru.cledunet.com/SymposiumDNG-2005.zip : (13 Mo, planches 122-180) http://www.brainsonic.net/DesktopDefault.aspx?tabid=24&parentid=164&site=353 (Webcast)
Lab virtuel en lignehttp://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032285310&EventCategory=3&culture=en-US&CountryCode=US
VS 2005 SDK (Fvrier 2006)http://affiliate.vsipmembers.com/affiliate/downloadfiles.aspx Complments Indispensables jusqu la V1 !http://www.modelisoft.com/Dmd2Dd.aspx (Synchro Dm Dd)http://www.modelisoft.com/T4LangPackage.aspx (Coloration syntaxique T4)
Jeudis de l'objet - 30 mars 2006
-
DSL Tools : la documentationEncore embryonnaire
Jeudis de l'objet - 30 mars 2006
Quelles stratgies de modlisation : dUML aux Domain-Specific Languages (DSL) ? Visual Studio 2005 apporte de nouveaux designers permettant de gnrer et manipuler du code, partir de vues conceptuelles de plus haut niveau : les modles. Grce un outillage sous forme de SDK, Microsoft offre la possibilit dtendre ceux existants. Ce SDK sera complt par un produit permettant de crer soi-mme, relativement simplement, ses propres modles, designers graphiques, validateurs, et gnrateur de code : les DSL Tools. Cette session, illustre par un exemple de mise en uvre des DSL Tools, fera le point sur cette technologie : Quest ce que les DSL ? Est-ce la fin dUML ? Quest ce que les DSL Tools ? Quen attendre techniquement et conomiquement ? Quelles en sont les limites techniques actuelles ? Dans quelles conditions et comment les intgrer une chaine de dveloppement ?
TechEd 2002Quelles stratgies de modlisation : dUML aux Domain-Specific Languages (DSL) ? Visual Studio 2005 apporte de nouveaux designers permettant de gnrer et manipuler du code, partir de vues conceptuelles de plus haut niveau : les modles. Grce un outillage sous forme de SDK, Microsoft offre la possibilit dtendre ceux existants. Ce SDK sera complt par un produit permettant de crer soi-mme, relativement simplement, ses propres modles, designers graphiques, validateurs, et gnrateur de code : les DSL Tools. Cette session, illustre par un exemple de mise en uvre des DSL Tools, fera le point sur cette technologie : Quest ce que les DSL ? Est-ce la fin dUML ? Quest ce que les DSL Tools ? Quen attendre techniquement et conomiquement ? Quelles en sont les limites techniques actuelles ? Dans quelles conditions et comment les intgrer une chaine de dveloppement ? TechEd 2002Quelles stratgies de modlisation : dUML aux Domain-Specific Languages (DSL) ? Visual Studio 2005 apporte de nouveaux designers permettant de gnrer et manipuler du code, partir de vues conceptuelles de plus haut niveau : les modles. Grce un outillage sous forme de SDK, Microsoft offre la possibilit dtendre ceux existants. Ce SDK sera complt par un produit permettant de crer soi-mme, relativement simplement, ses propres modles, designers graphiques, validateurs, et gnrateur de code : les DSL Tools. Cette session, illustre par un exemple de mise en uvre des DSL Tools, fera le point sur cette technologie : Quest ce que les DSL ? Est-ce la fin dUML ? Quest ce que les DSL Tools ? Quen attendre techniquement et conomiquement ? Quelles en sont les limites techniques actuelles ? Dans quelles conditions et comment les intgrer une chaine de dveloppement ? TechEd 2002Voir la documentation de rfrence de la StronglyTypedResourceBuilder.TechEd 2002Dmo o on prsente rapidement :Le fichier de ressource, et lutilisation dans un programme Windows.Forms.On en profite pour montrer que les Windows.Forms sont maintenant dans des classes partielles.Et on en profite pour montrer le class diagram (bidirectionnel)TechEd 2002Quelles stratgies de modlisation : dUML aux Domain-Specific Languages (DSL) ? Visual Studio 2005 apporte de nouveaux designers permettant de gnrer et manipuler du code, partir de vues conceptuelles de plus haut niveau : les modles. Grce un outillage sous forme de SDK, Microsoft offre la possibilit dtendre ceux existants. Ce SDK sera complt par un produit permettant de crer soi-mme, relativement simplement, ses propres modles, designers graphiques, validateurs, et gnrateur de code : les DSL Tools. Cette session, illustre par un exemple de mise en uvre des DSL Tools, fera le point sur cette technologie : Quest ce que les DSL ? Est-ce la fin dUML ? Quest ce que les DSL Tools ? Quen attendre techniquement et conomiquement ? Quelles en sont les limites techniques actuelles ? Dans quelles conditions et comment les intgrer une chaine de dveloppement ? TechEd 2002TechEd 2002TechEd 2002Quelles stratgies de modlisation : dUML aux Domain-Specific Languages (DSL) ? Visual Studio 2005 apporte de nouveaux designers permettant de gnrer et manipuler du code, partir de vues conceptuelles de plus haut niveau : les modles. Grce un outillage sous forme de SDK, Microsoft offre la possibilit dtendre ceux existants. Ce SDK sera complt par un produit permettant de crer soi-mme, relativement simplement, ses propres modles, designers graphiques, validateurs, et gnrateur de code : les DSL Tools. Cette session, illustre par un exemple de mise en uvre des DSL Tools, fera le point sur cette technologie : Quest ce que les DSL ? Est-ce la fin dUML ? Quest ce que les DSL Tools ? Quen attendre techniquement et conomiquement ? Quelles en sont les limites techniques actuelles ? Dans quelles conditions et comment les intgrer une chaine de dveloppement ? TechEd 2002Le client dune tude de recherche oprationnelle ou le pilote quil dsignera a besoin dune rponse :Soit pour prendre une dcision de type oui/non : il faut alors que cette rponse soit rapideSoit pour un besoin rptitif (il faut, dans ce cas produire un guide demploi ou un logiciel daide tactique)
Le vocabulaire du client est un vocabulaire doprationnel. Pas un vocabulaire dinformaticien (par contre il nest pas contre la formalisation du besoin sous forme dun modle graphique, ou sous forme mathmatique, si une telle formalisation a une plus value pour dcrire le problme)TechEd 2002Le chef de lANPROS voudrait raliser plus dtudes en moins de temps.- Le cycle des ETO du ministre de la dfense est dau moins 3 ans ; cest trop pour un oprationnel qui aura chang daffectation).- lANPROS peut esprer raliser des tudes en peu prs un an. Ce peut tre trop pour prendre une dcisionTechEd 2002Cette modlisation consiste trouver une transformation vers un modle qui pourra tre manipul pour rsoudre le problme. Dans certains cas, ce qui pourra tre manipul pourra tre une application de simulationTechEd 2002Trs rapide expos de la dmarche. Analyse (oprationnel) / dans certains cas, besoin dune application de simulation.TechEd 2002Le problme, dans ce cas, cest que lcriture dune application de simulation prend normment de temps le directeur dtude aimerait que cela aille plus vite.TechEd 2002Le dveloppeur (ce peut tre le directeur dtudes dailleurs) aimerait, lui aussi, aller plus vite. Cela peut se traduire en :Utiliser des socles applicatifs et des langages dont la puissance dexpressivit est plus grande.Rutiliser des composants, des modles, des conceptions, des motifs architecturaux, etc Utiliser des meilleurs outils de dveloppement
Cest trs important pour la motivation daccder ces besoins.TechEd 2002Aujourdhui des outils (http://www.modelisoft.com) permettent une bonne synchronisation entre modles et code (gnration de code et rtro-ingnierie avec conservation des dcisions de modlisation) utilisation de frameworks spcifiques.
Sur Ductor.NET :La chose savoir cest que que le framework met la disposition des dveloppeurs dapplications de simulation des composants de simulation de base (anims par le moteur de simulation) tendre en fonction de ses besoins propres.TechEd 2002Explication des petits bonshommes.
Les 7 types de modles couvrent la spcification, la conception des applications de simulation :En terme de capacit (ce quoi cela doit rpondre). Cest le domaine mme de loprationnelEn terme de structure ( diffrents niveaux de dtails : 3 diffrents)En terme de comportementsEn terme de mapping avec des entres et sorties pertinentes pour un oprateur oprationnel et lapplication de simulationEn terme de planification
Ces 7 types de modles ne sont pas explicits ici (cela dpasse le cadre de cette prsentation). On ne retiendra que les modles de comportement.
Rendre explicite le lien avec la vido : le comportement du chien que nous venons de voir est ici modlis par un StateDiagram UML
Les modles de comportements sont trs proches du framework sous-jacent (on le redtaillera au transparent n13.TechEd 2002Un problme une solution possible.TechEd 2002Quelles stratgies de modlisation : dUML aux Domain-Specific Languages (DSL) ? Visual Studio 2005 apporte de nouveaux designers permettant de gnrer et manipuler du code, partir de vues conceptuelles de plus haut niveau : les modles. Grce un outillage sous forme de SDK, Microsoft offre la possibilit dtendre ceux existants. Ce SDK sera complt par un produit permettant de crer soi-mme, relativement simplement, ses propres modles, designers graphiques, validateurs, et gnrateur de code : les DSL Tools. Cette session, illustre par un exemple de mise en uvre des DSL Tools, fera le point sur cette technologie : Quest ce que les DSL ? Est-ce la fin dUML ? Quest ce que les DSL Tools ? Quen attendre techniquement et conomiquement ? Quelles en sont les limites techniques actuelles ? Dans quelles conditions et comment les intgrer une chaine de dveloppement ? TechEd 2002TechEd 2002TechEd 2002Ce qui est :Vert est ce qui est ralis. Rouge : les fonctionnalits venir dans des versions ultrieures des DSLTools.Orange ce qui est partiellement ralis.
TechEd 2002Dmo o on prsente le DSL State machine sur deux exemples :La lampe clignotante (quon cre in extenso validation du modle, etc )Le portail automatique (on ajoute une transition temporelle pour limiter le blocage du portail) et on utilise le dbuggeur.
TechEd 2002Dmo o on prsente le DSL State machine sur deux exemples :La lampe clignotante (quon cre in extenso validation du modle, etc )Le portail automatique (on ajoute une transition temporelle pour limiter le blocage du portail) et on utilise le dbuggeur.
TechEd 2002Quelles stratgies de modlisation : dUML aux Domain-Specific Languages (DSL) ? Visual Studio 2005 apporte de nouveaux designers permettant de gnrer et manipuler du code, partir de vues conceptuelles de plus haut niveau : les modles. Grce un outillage sous forme de SDK, Microsoft offre la possibilit dtendre ceux existants. Ce SDK sera complt par un produit permettant de crer soi-mme, relativement simplement, ses propres modles, designers graphiques, validateurs, et gnrateur de code : les DSL Tools. Cette session, illustre par un exemple de mise en uvre des DSL Tools, fera le point sur cette technologie : Quest ce que les DSL ? Est-ce la fin dUML ? Quest ce que les DSL Tools ? Quen attendre techniquement et conomiquement ? Quelles en sont les limites techniques actuelles ? Dans quelles conditions et comment les intgrer une chaine de dveloppement ? TechEd 2002