Science topic

Model-Driven Development - Science topic

Explore the latest questions and answers in Model-Driven Development, and find Model-Driven Development experts.
Questions related to Model-Driven Development
  • asked a question related to Model-Driven Development
Question
1 answer
According to this example, validation using time domain data will have a higher fitness score. Does anyone know how it works? and why?
Relevant answer
Answer
Fitness scaling converts the raw fitness scores that are returned by the fitness function to values in a range that is suitable for the selection function. The selection function uses the scaled fitness values to select the parents of the next generation. The selection function assigns a higher probability of selection to individuals with higher scaled values.
Regards,
Shafagat
  • asked a question related to Model-Driven Development
Question
1 answer
Which would be the best transformation technique for model transformation in migrating a user interface of desktop application into web application? The migration method has been created .How can it be implemented in model driven approach. How to select and which conditions to be checked ?
Relevant answer
Answer
The question for the "best" transformation technique for UI reengineering, cross-platform development, or migration depends on the goals, and the methods used. You said that the migration method has been created already. It is a little bit unclear what exactly this method is, what you already have (metamodel?) and what you need in the model driven arena now. For instance, if you have developed a method that includes 3 metamodels (source, neutral, and target), then you would need a code/text-analyser/transformer, e.g. eclipse MoDisco. If you want to modify/change/enhance the UI before it is generated for the target platform, then you probably need a model-to-model transformation (QVT-O). This "edit option" make sende in many cases. For the "last mile", i.e. the UI code generation, a template-based model-text/ocde generator like Acceleo (MOFM2T) is helpful.
  • asked a question related to Model-Driven Development
Question
5 answers
Dear,
I have been looking for recent scientific research on the different tools available for MDD. I have found two papers, but they are both more than 10 years old.
Kind regards,
Sonny
Relevant answer
Answer
Did you take a look at the eclipse projects for modeling (QVT for Model-to-model transformations) and Acceleo (code generation)? I think these are helpful for your MDD project.
  • asked a question related to Model-Driven Development
Question
10 answers
Dear,
A little more background on the question: I am making an Enhanced Entity Relationship (EER) tool in a Model Driven Development (MDD) environment, namely Eclipse (EMF). The plug-in in Eclipse that I will be using is Sirius, that's where Domain Specific Modeling (DSM) comes in, as Sirius is specifically designed for the purpose of DSM.
The main focus of the thesis is on developing and assessing the modeling environment (Sirius) by making the tool. I am a novice in the modeling world, which helps to see if the modeling environment is in fact accessible for anyone.
As far as I know, EER is a General Purpose Language (GPL), this is supposed to make it simpler to develop a tool. I fail to find research on why it would be a good idea to use a GPL over a DSL to test a modeling environment. (this had been suggested by my professor) 
A possible explanation would be that it is better for me to use the EER language over a DSL because it is meta-language, and making my own DSL would be too extensive for my research and prone to mistakes. This is a very subjective statement and I would like to add an objective component to this, hence the question.
Thank you very much in advance.
Kind regards,
Sonny
Relevant answer
Answer
Hi Sonny,
I would not completely agree with the statement "EER is a General Purpose Language (GPL)": EER is used for data modeling (and is an extensions to the original entity-relationship (ER) model, because it introduces subclasses und superclasses). It is more a DSL for (general) data modeling purposes. So yes, it is used "in general" for data modeling, but it is specific for data modeling. The UML (that consists of various diagram types) covers a lot of aspects for software specification and can be described as a GPL. UML class models and EER are quite similar. If you ask me, I would prefer UML class models because they the UML is MOF-based (s. also EMF als a meta-meta model, M2), so is easy to use it in an Eclipse-based Model Driven Development (MDD) approach (OVT and MOFM2T implementations are available).
I hope that helps you with the Sirius project that you plan. Since there are already tool implementations for UML (e.g. Papyrus), maybe you should use a language that is not completely implemented like IFML. That would be great.
Regards
Roland
  • asked a question related to Model-Driven Development
Question
5 answers
Hello,
Are there researchers who are interested or working on "cross-platform development" (mobiles, web or desktop applications) subject ?
Thanks,
Relevant answer
Answer
Hi Denis,
I'm so glad to hear from you. Thanks for the reply.Can you tell me what can we do with Articulate Storyline 3.
Sincerly yours,
El Hassane,
  • asked a question related to Model-Driven Development
Question
4 answers
While experimenting with nuXmv and NuSMV model checkers, I observed that input variables contribute no state to the entire state-space of any given model.
The user manuals of these tools clearly mentioned syntactic differences between these kinds of variable. For example, the "IVAR" introduces the input variables paragraph; but "VAR" introduces state variables.
Is there any science behind this behavior of input variables? In particular, how do these model checkers handle input variables and state variables? Any reference on this observation will be appreciated.
Relevant answer
Answer
Hi Yasir,
Here are my concerns:
MODULE main
-- this is an IVAR paragraph
  IVAR
   v1 : 0..20;
   v2 : 0..20;
-- this is a VAR paragrapgh
  VAR
    v3 : 0..100;
ASSIGN
  init(v3) := 0;
  next(v3) := case
    v2 + v1 = 0 : 10;
    TRUE : v2 + v1;
  esac;
LTLSPEC !F(v3 = 0)
But by simply changing this to VAR, we have x = 18081, y = 44541
MODULE main
-- this is a VAR paragraph
  VAR
   v1 : 0..20;
   v2 : 0..20;
-- this is a VAR paragraph
  VAR
    v3 : 0..100;
ASSIGN
  init(v3) := 0;
  next(v3) := case
    v2 + v1 = 0 : 10;
    TRUE : v2 + v1;
  esac;
LTLSPEC !F(v3 = 0)
The difference reflects from the values of y. So my question is what makes IVAR behaves differently from VAR.
Try to run the my code and compare the complexities. You should be able to know the difference. I would have modified you code but the restrictions on IVAR will not make it compile.
  • asked a question related to Model-Driven Development
Question
6 answers
What is the maximum number of models I can have an agile environment in a complete cycle of development in order to obtain little impact in agile method?
using MDD
Relevant answer
Answer
Agile methods don't prescribe number or type of models. You can use anything that helps you ("use anything that's useful").  MDD can significantly improve your development time if it is used in the right way, so I don't think that it could harm your agility.
"Agile methodologies are not antimodeling, but they are anti-compliance modeling" - from J. Highsmith, “Objections to Agile Development”, white paper, May 2004, http://paginas.fe.up.pt/~aaguiar/mads2005-2006/AgileObjections.pdf
  • asked a question related to Model-Driven Development
Question
4 answers
Once built in EMF, what are the best approaches to validate a metamodel? Some M1 instances are enough? Or it would be better to go deeper and build M0 instances?
Relevant answer
Answer
To my experiance the fastest and the best way to validate both models and meta-models is to have good target platform or system that will execute models. Here You can find some my examples how to do it in measurement, automation and robotics: https://www.youtube.com/channel/UCqyYnYD6J5fEeb6Ni3YLuKg
At the moment I do not plan to integrate solution in EMF, but some videos maybe can help You.
  • asked a question related to Model-Driven Development
Question
8 answers
The idea to be exposed to technical and real contribution to this research area; do Eclipse Modeling Framework and Domain Specific Language tools of Microsoft provide full code generation solution? If the answer is yes; so why we have to dig into depth to know more, on the other hand, if the answer is no, what is the main drawback which is highly appreciated if supported by references; technical or academic. Thank you.
Relevant answer
Answer
In theory, all tools that allow you to define your own DSL and related generators have the capability to provide full code generation solution. So the answer is Yes.
(Before reading more please note that I work for a company making such tools. Because of that I can also provide evidence that answer is Yes: like cases http://www.metacase.com/cases/. On the academic side there is also some public references too: http://www.metacase.com/store/academic_license.html).
To answer your second question, I see two main reasons why you need to dig into depth to obtain ideal MDD solution. First, each ideal MDD solution that generates full code (no need to edit the generated code) is typically domain-specific. This means that you usually need to define the language and generator for your particular need to get the desirable results. Recent empirical research like https://www.researchgate.net/publication/220266108_Model-driven_engineering_practices_in_industry supports this too.
The second reason is the tools themself as the effort to create the languages and transformations (and more importantly maintain them) to obtain the ideal MDD solution can be huge in some tools. Since you mentioned Eclipse, a recent study indicates that it requires perhaps the biggest effort to implement MDD solution. See as study at: https://www.researchgate.net/publication/251565266_Evaluation_of_Modeling_Tools_Adaptation. Unfortunately it did not include Microsoft DSL tools but perhaps someone is willing to repeat the study for other tools too.
  • asked a question related to Model-Driven Development
Question
3 answers
I would like to recognize the difference between Model Driven Software Development (MDSD) and Platform Specific Model. If I want to create MDSD framework, will this framework be equal to PSM?
Relevant answer
Hi dear Ahmed.
Well, I realize that MDSD is a paradigm that uses a PSM if it is MDA-compliant. That is, PSM is an specific kind of model you could adopt in a model-driven framework as you intend to develop. Thus, I am not able to glimpse MDSD and PSM as the same thing. In fact, latter is a possible part of the former. If you need additional information, please contact me and I can send you some enlightening material.
  • asked a question related to Model-Driven Development
Question
9 answers
It will be great to recognize the main gaps in academic research and real practical challenges in Model-Driven Software Development. Thank you.
Relevant answer
Answer
I wrote a summary article on this topic:
B. Selic, "What will it take? A view on adoption of model-based methods in practice", Jounral of Software and Systems Modeling, (vol. 11, no.4, October 2012).
Although all the key technical challenges are discussed, one of the primary points raised is that there are many non-technical issues that stand in the way of MBE.
I would also like to emphasize that model-based engineering covers much, much more than generating code from models. There are presrciptive models, some of which can be used for code generation (including, in many cases, generation of complete executable code), and descriptive models, which serve a variety of purposes such as analysis, design, communication, etc. Traditional engineering disciplines have used models for ages, primarily for the latter purposes. We in software engineering have the unique opportunity to turn our descriptive models into prescriptive ones through a process of incremental refinement, thereby avoiding many of the pitfalls encountered in other engineering disciplines. It's a shame that people are not more open to this.
  • asked a question related to Model-Driven Development
Question
2 answers
In 2003, in U.S. Patent Application 20030009099, Lett et al disclosed a component-based design pattern that facilitates hierarchical model building and model sharing.   In 2009, the Randhawa, Shaffer & Tyson article in Bioinformatics used a very similar approach.  While the authors acknowledged that some commercial applications implemented hierarchical composition of model components, they did not know of the public disclosure in application 20030009099.   I'm curious if the authors of Smith, Hucka, Hoops et al might comment on similarities and differences between the approaches?
 Randhawa R, Shaffer CA, Tyson JJ. Model aggregation: a building-block approach to creating large macromolecular regulatory networks. Bioinformatics 2009;25(24):3289-3295. doi:10.1093/bioinformatics/btp581.  
Relevant answer
Answer
Thank you, Tarik.  
I am a big fan of the COMBINE effort, and proud to have collaborated with many pioneers in this field for over a decade.   It is gratifying to see so much momentum.  While I am not active in this area now, I retain an intellectual interest, and hope to keep up with what's new, and selfishly curious if  any of our contributions were of lasting value.  Wishing continued success,
Scott
  • asked a question related to Model-Driven Development
Question
3 answers
Merging two UML class diagrams models in one
Relevant answer
Answer
You can try some tools/approaches like Kompose, RAM, etc.
  • asked a question related to Model-Driven Development
Question
6 answers
What are the UML models that can constitute this CIM (Computation Independant Model)?
Relevant answer
Answer
I Suggest to use Component diagram from UML. It is easy to understand that web services as a Component to access its interfaces I/O. An Independent Webservice may represented as Component that accessed by other Components or Service.
  • asked a question related to Model-Driven Development
Question
5 answers
With the frequent changes in requirements, how can I promote traceability in model-driven development and artifact traceable. Support Tools, Meta-model traceability? One or the other, or both ?
Relevant answer
Answer
Traceability is a fascinating topic that we are playing with for quite a while. Model-driven approaches, based on my opinion, offer the best solution to deal with this problem. Requirement models are also models, so it is easy to relate requirements to other artifacts. New progresses in tools (aka language workbenches) also show that language/metamodel composition is very important aspect, even enabling to combine various concrete syntaxes when working with different parts of models. 
In practice I see two integral steps to tackle traceability. One is to pick a useful requirements metamodel. Personally, I am very hopeful of using some type of intentional model that would be able to capture not only requirements, but also the reasoning process of why things were designed/implemented in a specific way and not the other. I very much like the treatment of this problem presented by Sagar Sunkle, Vinay Kulkarni, and Suman Roychoudhury in Intentional Modeling for Problem Solving in Enterprise Architecture (attached). 
Second step is to pick a versioning approach that would enable to preserve previous states of models (with all artifacts including the related intentional ones) and enable viewing change history of all its artifacts. In our particular case, with customers in financial services, we ended-up with versioning whole large models in Git repositories and providing users with simple tools to view change histories on the whole model down to histories of individual artifacts where particualar differences can be seen and understood. For support of large-scale development with tens of concurrent modelers/developers we provided sandboxes (private branches) where each developer completes (develops and debugs) some functionality before publishing it to others. This way it could be easily seen not only what was changed when, but also by whom, and by employing the above mentioned intentional models, also why it was changed.
 
  • asked a question related to Model-Driven Development
Question
9 answers
How to ensure that the resulting implementation does not violate the properties of the business rules ?
Relevant answer
Answer
I have struggled with this question during my research. But then I have come to a small and important conclusion that 'Correctness in theology or computer science deals with comparing something new with something whose correctness is already defined or laid '. The model you built needs a comparison with either some standard or existing models. You can also have your own correctness criteria and then prove your model to be correct by using these correctness.
  • asked a question related to Model-Driven Development
Question
7 answers
I am looking for input to help the development of this thesis question and/or possible avenues of research.
Input may include specific architects that strictly use physical model making to inform their design decisions or literature that might review this design technique.
All comments and criticisms are welcome.
Relevant answer
Answer
Nesma El-Saqqa
Thank-you for your input, a very interesting thought of conducting such survey. I had an idea of surveying architecture students versus working professionals to see if the two groups think differently and could possibly answer such questions:
• Do students only build models for presentation purposes and not to help them through the design process or to overcome design issues?
• Is there a lack of education in architecture schools related to model making?
• Is it common practise for practising architects to constantly build models to aid design?
• Do professionals not build models because they’re too time consuming and costly to produce, and are people neglecting design exploration because of a monetary value?
• Is there a link between limited design exploration and bad architecture, or ‘less resolved architecture?
Kalliopi I. Valsamidou
I just finished watching that documentary on Frank Gehry, amazing! Thanks a lot for that link.
  • asked a question related to Model-Driven Development
Question
7 answers
Few of these tools support transformations from use case models to another analysis or design model. What is your opnion on why?
Relevant answer
Answer
What would such a fine-grained specification entail? A UML Use Case Model? A textual description as introduced by Jacobson? Or the more elaborate forms of e.g. Constantine or Cockburn?
  • asked a question related to Model-Driven Development
Question
8 answers
I am looking for the current applications/ideas/challenges of the Formal Methods in MDD in order to evaluate/analyse them.
I know that for example FMs tools is used to check a model for correctness. What are other usages and actually specific usages and challenges in MDD?
Also what is missing in the area. I mean, for example in terms of a Tool which can be of benefit in the field.
Any idea would be highly appreciated.
Relevant answer
Answer
I was involved in a European project called DEPLOYED where the objective was to help Industry partners integrate Formal methods development techniques and tools in their development process. Conversely, the project also helped research partners in fine tuning their formal methods and tools to address Industry pilot cases. The main methods put forward in the project were Event-B but others were addressed.
In the DEPLOY project, my research center CETIC was involved in the collection of evidence related to achievement made by these Industry pilots as well as other effort.
I can suggest that you take a look at http://www.fm4industry.org which resulted from the project and present various achievements from the project.
With regards to formal method development, one of the most challenging part to dramatically improve their Industry take-up is to integrate a complete chain of tools. Currently, very few examples exist where formal models can automatically lead to the generation executable proven correct code. I know of Siemens Transport System that used B (not event B) to generate Subway controller of the driver-less subway line in Paris among others. This example is presented at the website mentioned above.
The pilot on test case generation from a UML-like workflow notation from SAP is also explained at this website.
The main problem is that if you only use formal method here and there, then the final results can not be proven correct and a heavy testing effort remains required. The formal models are then just another complex artifact to maintain throughout the system and software life cycle (development, maintenance, evolution until retirement).
If you undertake Industry pilots as part of you research please consider contributing your pilot results to the wiki above.
  • asked a question related to Model-Driven Development
Question
9 answers
I would like to implement MDA with a fully formal language instead of UML as modeling language but I am out of ideas. My idea is to have a full MDA implementation, transforming a very abstract model to code. I have studied few customized UML profiles with stereotypes, but those made the model development rather unconventional and also UML is not precise enough.
Any idea would be appreciated.
Relevant answer
Answer
Nick: You are absolutely right, regarding trade-offs of a very abstract model or a fine-grained one. But I presume there for sure are tools to transform an abstract Activity Diagram to a code in any target language, then it will be useless any research in that type of code generation even if the transformation is with some Formal Proofs, with transforming back and forth between models, using side Tools.
Actually, I was also thinking of a declarative programming language, like Haskel, as the code's target language, that way we fill some gaps between the source and any imperative language as we focus more on what to do rather than how and omit some details that way. (Like your example Nick)
Could it compensate the weaknesses of an abstract source model?
  • asked a question related to Model-Driven Development
Question
4 answers
Which diagrams/aspects of UML are not formal and need an external formal technique/tool to analyse the associated produced model in UML? I mean external utilities which is not in the existing dominant UML CASE tools like Rational Rose.
Relevant answer
Answer
Yes, it looks doable. You will have to decide which formal analyses you want to perform. Model-checking will probably require abstraction. If you have really huge AD you might want to resort to static analysis.
  • asked a question related to Model-Driven Development
Question
1 answer
This DSL seems very interesting, especially considering its dependability package. Yet, it seems few have adopted it and even fewer have offered feedback.
Relevant answer
Answer
For more information about EAST-ADL, its users, tool support etc. please see http://www.east-adl.info/
  • asked a question related to Model-Driven Development
Question
2 answers
I am doing a literature review that has come to include Domain Driven Design (DDD), and I am trying to place it within the literature. It seems quite clearly a type of Socio-Technical Design, which has a long academic history. "Socio-technical design is concerned with advocacy of the direct participation of end-users in the information system design process" (Scacchi 2003). Interestingly, Evans does not cite any of the authors cited in Scacchi's review of Socio-Technical Design and never uses the term, indicating that there has been no influence from that academic field.
Do you think the two have evolved completely independently? What are the implications for researchers concerned with the underlying problem of design?
Relevant answer
Answer
I like the DDD book. But I really think that Object Oriented Programming is domain driven by definition. How you can create an object model without being guided by the domain ? And how you can create that object model without involving the real end users? their input is what helps you to create the metaphor to work on the object model. In the end it is just OOP.
  • asked a question related to Model-Driven Development
Question
8 answers
MDA, MDD and MDE share some features, but also are differ in others.
Relevant answer
Answer
Hello,
MDE is a general methodology for software development, which preconizes the use of recurrent patterns (models) to icrease productivity and compatibility between systems.
MDA is a specific proposition for implementing MDE, made by the OMG, which describes an approach based on metamodels, then abstract models (PIM), and finally more specific models (PSM) which can be used to generate source code. MDA proposes but is not limited to some standards (MOF, UML, CWM...)
MDD is a solution for developping software following a general Model Driven Engineering approach without being restrained to MDA.
I hope it's clear.
Amina