Re: CORBA IDL versioning, evolution, backward compatibility



Hi Markus,

>> Is anybody going to develop template libraries (e. g. in C++ or
>> Java) that will be configurable to the desired detail levels?

I'm not sure that C++/Java templates are the appropriate levels of
abstraction for developing these types of patterns.

>> Which parameters/options will express the available design choices
>> and decisions? Will metaprogramming techniques be applied?

I think the types of techniques that'll be used here will be based on
domain-specific modeling languages, rather than the relatively limited
generative programming capabilities available in 3rd generation
programming languages like C++ and Java.

>> How big are the chances that there will be more mappings for
>> following application areas by model-driven development?
>>
>> 1. multi-threaded programming
>> 2. (non-)blocking synchronisation
>> 3. lock-free algorithms
>> 4. distribution
>> 5. parallelization
>> 6. concurrency
>> 7. embedded "applets"

There are already lots of examples of model-based techniques for many
of these areas. For example, check out Ptolemy II
<http://ptolemy.eecs.berkeley.edu/ptolemyII/>, which supports all
sorts of heterogeneous, concurrent modeling and design techniques.
For distributed computing, check out CoSMIC
<www.dre.vanderbilt.edu/cosmic>. There's lots of modeling tools for
embedded systems that are part of the ESCHER toolchains
<http://www.escherinstitute.org/>. If you spend some time googl'ing
you'll find info on model-based approaches for parallelization, et al.

>> > It definitely will not happen just like that. But you should also consider
>> > the fact that in certain domains, people already don't trust "our brains"
>> > just because it doesn't scale.
>>
>> Which use cases have you got in mind where there are doubts about
>> scalability and efficiency for your evolving technology?

I think you misinterpreted Kitty's remarks. What I think he's saying
is that we already use automated generation in key domains (e.g.,
compiling 3rd generation languages like C/C++ to assembly code for
RISC machines) because humans aren't good at this sort of thing.

>> Do we need to convince more researchers and software developers
>> that the propability for reduction of the code generation gap will
>> become higher?

I'm not sure what you're asking here (i.e., what is the "reduction of
the code generation gap"), but if you're asking "is more work required
to convince people that model-driven development is a good idea, then
the answer is of course "yes." In fact, that's precisely what we're
doing in our R&D on these topics.

Take care,

Doug

--
Dr. Douglas C. Schmidt Professor and Associate Chair
Electrical Engineering and Computer Science TEL: (615) 343-8197
Institute for Software Integrated Systems WEB: www.dre.vanderbilt.edu/~schmidt
Vanderbilt University, Nashville TN, 37203 NET: d.schmidt@xxxxxxxxxxxxxx
.



Relevant Pages

  • Java Developers needed in Durham, NC
    ... Java Developer Job Description: ... Technical skills essential for this assignment: ... *Professional working knowledge of internet protocols and techniques ...
    (comp.lang.java.programmer)
  • Re: How to motivate use of OO?
    ... Functional techniques provide a lot of value. ... famously said "Lisp is worth learning for the profound enlightenment ... "What other languages do you know in addition to Java?" ... language, another OO language, at least one scripting language, and ...
    (comp.object)
  • Re: Python component model
    ... For those of us who've never used Java, .Net or C++/CLI, a more concrete ... I don't recall any particularly good mechanisms for connecting beans to ... techniques, but it could be argued that such techniques have been ... superseded by signal/slot mechanisms and more advanced event ...
    (comp.lang.python)
  • Re: Successor to Java?
    ... > Is the successor to Java on anyone's horizon? ... > of those books sold very well in the early '80's, ... Foundations of Software Engineering"Course Description: ... techniques; web services; and the management and maintenance of software. ...
    (comp.lang.java.programmer)