The outline of the presentation will begin with an introduction, then the motivation, the SOTA, then our proposal, an NFR #en efar# aware MDD process. And finally the research agenda and the conclusions.
I would like to begin the introduction with the MDD definition. #read def, “ai” triple “i”#The MDD process start with a PIM, for example a UML class diagram, that then is transformed using a M2M transformation into PSM. In the example we can se that we added two classes specific of the platform to the previous one. Finally we use a M2T transformation to obtain the code or the final product.
In practice, MDD processes don’t consider NFRs.As we seen before #3 clicks# the MDD process will generate a product.#click# But… #bat##click# the NFRs could let us think on a service based solution. #click# that is not what we obtained from the MDD process.#click# so, as many times has been told, Functionality is not useful without the non-functionality.
Many authors said that NFRs and the architecture of the system are very related topics, in fact this conference have a whole dedicated session to architecture. Concretely we think that NFRs are used to make architectural decisions.#click# also we consider as a type of these decisions, the technological decisions. For example a requirement such as #read NFR# will impact on a technological decision.
To end with the introduction I want to clarify which is the objective of this work.#read blue box#We need to identify these challenges #read answer 1#.#haw# To do so, #read answer 2#.
To motivate this work I will use an example about a travel agency with two scenarios. On the one hand ACME luxury that offers vacation packages…In the other hand ACME WW offers…Both scenarios share common functionalities. For example user management…
To exemplify the impact of the NFRs in the architecture we will use as example the deployment view. For this view of the architecture we have several configurations e.g. SSC and DBMS separated. And we have several components that can be used with these configurations.
#click# In this table we see the relationship between quality attributes and NFRs. Observe that the configurations have concrete values while the components can improve or damage the initial values.#click# in the concrete case of the ACME travel agency. Scalability will determine the use of replication #click# and the Security will determine the use of BDMS separated and Firewall.
Here we can see again that different NFRs lead to different software systems.So, Our position.. #read#
For the state of the art, we have differentiated between approaches that not support NFRs and the approaches that support NFRs.
The approaches that not support NFRs can deal with NFRs outside of the process.One way is to Modify the PSM… #read##click# Other way is to modify the M2M… #read##click# the situation is worse if… #read#
As I said before, a MDD process should be able to deal with NFRs and also should be able to certify the result is compliant with the specified NFRs.To do this we propose two variants of a process that can deal with NFRs.One is fully automatic and the second one is interactive.
The problem of the previous variant is that it is too complex. For this variant we use a standard “pi Ai Em” #click#, a PIM unaware of NFRs.And we use #click# interaction with the user to obtain the NFRs necessary to: first, generate the architecture, and second, generate the PSM.From this point we will have all necessary NFRs to generate the software product.#click# it is important to notice that these are extreme variants, it is more than possible that the best solution is between the two variants.
In the paper you will find a more exhaustive list of topics that require further research. This is a selection of the most relevant ones.#click&read##click&read##click&read##click&read##click&read##click&read##click&read#
To conclude with this presentation I would like to quote a paper about the good the bad and the ugly of MDD. It says that #read##click & read#