|
From: Leif J. <le...@am...> - 2003-08-16 00:13:53
|
Hi component fans ! It's been a long time since I've been heavily involved in working on the CCM Tools, something that needs to be remedied. For those who are interested, I mostly spent this summer moving : Austria -> Washington -> Montana -> North Carolina -> California. I'm in the process of getting a permanent residence in San Francisco, and thanks to the kind folks at Salomon it looks like I'll get to spend my time doing coding for the next few months ! So, some of my plans for the CCM Tools in this time : - I've implemented a Good Solution (tm) to the problem with user_types.h files. This solution is basically to generate code for more types of CCM Metamodel nodes (structs, unions, components, homes, interfaces, exceptions, typedefs, and enumerations, possibly even others). Generating code for so many types of nodes lets the tools only generate code for nodes that are actually defined in a given IDL file (as opposed to nodes that might be included from other files). This way we don't need to worry about conflicting installs of a given file. I've mostly (90 %) implemented this solution in the 0.2 branch and will port the fix to the head branch after I finish this email. Over the weekend I'll try to work out some of the remaining bugs---there are some nasty things that relate to the MTyped/MIDLType class distinction. Hopefully by Monday we'll be able to do make distcheck again ... and that means release time ! - I'm personally interested in implementing a GObject generator and a pure Python generator. I'll see how fast this goes, but I might be able to pirate most of the code from the C++ generators. : ) - The remote C++ generator still needs some work, along with the Python wrapper generator. These are very similar generators and might come together if Egon and I can concentrate on them for the next few weeks. I'm really looking forward to collaborating with you fine folks on this project. If anyone gets an itch to contribute, any help or comments are welcome. (The bug reports have been particularly helpful for me.) Also, if anyone has projects they'd like to see implemented, this is the place to discuss them. That's about it. Look for some checkins from my end in the next couple days, whenever I can get internet access. : ) The tools will likely be broken over the weekend while I work on these last bugs. Cheers ! leif -- Leif Morgan Johnson : http://ambient.2y.net/leif/ |
|
From: Teiniker E. <ego...@tu...> - 2003-08-16 16:54:52
|
Hey Leif, welcome back to ccmtools! Quoting Leif Johnson <le...@am...>: > So, some of my plans for the CCM Tools in this time : > > - I've implemented a Good Solution (tm) to the problem with user_types.h > files. This solution is basically to generate code for more types of CCM > Metamodel nodes (structs, unions, components, homes, interfaces, > exceptions, typedefs, and enumerations, possibly even others). > > Generating code for so many types of nodes lets the tools only generate > code for nodes that are actually defined in a given IDL file (as opposed > to nodes that might be included from other files). This way we don't need > to worry about conflicting installs of a given file. > > I've mostly (90 %) implemented this solution in the 0.2 branch and will > port the fix to the head branch after I finish this email. Over the > weekend I'll try to work out some of the remaining bugs---there are some > nasty things that relate to the MTyped/MIDLType class distinction. > Hopefully by Monday we'll be able to do make distcheck again ... and that > means release time ! > > - I'm personally interested in implementing a GObject generator and a pure > Python generator. I'll see how fast this goes, but I might be able to > pirate most of the code from the C++ generators. : ) > > - The remote C++ generator still needs some work, along with the Python > wrapper generator. These are very similar generators and might come > together if Egon and I can concentrate on them for the next few weeks. I am working on the C++ remote generator (main trunk) and this is the current state: - Remote C++ component envronment (based on mico 2.3.10) can be installed using the ccmtools-c++remote-environment script. - I fixed some bugs in the IDL2 Generator. The generator creates a Makefile to handle the mico idl compiler call - as long as confix can handle idl files... - The CppRemoteGenerator can handle components with basic types (long, double, string etc.). I tested the attribute_basic_types, supports_basic_types and supports_basic_types examples. - There is a simpe CppRemoteTestGenerator that is a remote Component server and client in one _check_*_remote.cc file. Thus, confix can run two tests after creating a remote component, one for the local component and one for the remote one. - I think we can release the ccmtools-0.3.2 end of the next week... - There are still bugs in the IDL3 Parser I have not fixed yet. I will write some bug reports next week. Another project on ccmtools is comming up. Robert, a master student in Graz is working on a 'Design by Contract' extension for local components. We use OCL to define constraints for IDL interfaces... |
|
From: Leif J. <le...@am...> - 2003-08-19 01:50:36
|
On Sat, 16 Aug 2003, Egon Teiniker wrote: > Hey Leif, > > welcome back to ccmtools! Thanks ! : ) I took a look at your updates when I was merging with my changes, things are looking great. Thanks for fixing up the parameter const/& stuff in the CppLocalGeneratorImpl::getLanguageType function ! > - Remote C++ component envronment (based on mico 2.3.10) can be installed > using the ccmtools-c++remote-environment script. Good stuff. > - I fixed some bugs in the IDL2 Generator. The generator creates a > Makefile to handle the mico idl compiler call - as long as confix can > handle idl files... Excellent. I noticed your fixes, they look great to me. I renamed one function in the IDL2GeneratorImpl class to ``finalize'' ; just seemed to fit into the interface better. I also updated the IDL test-loader.sh script ; it wasn't working well for me so I basically made it more like the C++ test-loader.sh script. Still not sure if it's working right though. > - The CppRemoteGenerator can handle components with basic types (long, > double, string etc.). I tested the attribute_basic_types, > supports_basic_types and supports_basic_types examples. Rock ! I should catch up on the python wrapper generator. > - There is a simpe CppRemoteTestGenerator that is a remote Component > server and client in one _check_*_remote.cc file. Thus, confix can run > two tests after creating a remote component, one for the local > component and one for the remote one. That's also good news. This generator is integrated into the ccmtools-c++-generate script as well ? > - I think we can release the ccmtools-0.3.2 end of the next week... Yay ! We'll see how the bug hunting goes. I might not be ready yet, but a new release is coming up soon. More hits on sourceforge ... > - There are still bugs in the IDL3 Parser I have not fixed yet. I will > write some bug reports next week. OK. I've tried to get the ones I know about ; please test with the updated idl3.g file that I've just checked in. I also added Haubi's example IDL file as a test. I couldn't figure out how to get one-character identifiers that look like hex numbers (a-f and A-F) to work right, but the others are working ok. > Another project on ccmtools is comming up. Robert, a master student in > Graz is working on a 'Design by Contract' extension for local components. > We use OCL to define constraints for IDL interfaces... Sounds cool. Have to run, the cafe here is closing. Happy coding ! leif -- Leif Morgan Johnson : http://ambient.2y.net/leif/ |