We've decided during the dev meeting that some changes need to be done before
we release. These are (from the wiki):
a Code size/compilation time issue
b Tool + cmake macros to create new component projects
c typegen tool to generate type kits
d gitorious migration of all orocos projects, including code generation tools
e OCL cleanup and migration to new cmake macros
f Some important renamings.
g Supporting enums.
h Cleanup addEventPort and updateHook(vector<PortInterface>)
i race in port disconnection + read/write port
j. website revamping
I'll tackle them in that order.
a. The compilation time + memory use for the RTT is mainly due to the
'TemplateTypeInfo' class that instantiates an input and output port for each
type it declares. Each port declares 2 RTT::Operations, and it's that which
takes up a lot of memory (blame boost::fusion) and code size eventually.
Solutions:
* create 'addSynchronousOperation()' for operations that can not be sent.
Register the port's operations with this function instead of addOperation().
This greatly reduces code size and compilation times and is the quickest fix.
It is likely that we will add this now and do the points below in later
releases.
* Move the operation construction code of ports to the type TypeInfo
interface. Then ports would only have scripting operations when the TypeInfo
object is known in the type system.We could even have scripting creating these
operations only when it needs them.
* create a 'second class' TypeInfo derivative that can't create ports all
together, ie for data types that are only meant as a member in a struct,
not as a thing on a data port (for example, enums, unsigned shorts etc). The
disadvantage is that if you try to use such a 'second class' type on a port at
run-time, only then the error is detected. Given the current way the type
system is implemented (using full type introspection), I don't find this such a
bad idea. It allows for very minimal typekits (40k for a second class type).
and allows to override it later-on in case another part of the app requires it
as a full type.
* Do even more cleanups in the operation code to avoid combinatorial
explosions. That's an opportunity I spotted at the end of the -dev workshop.
We will win some again, but clearly not cut the time in half or better. I have
a partial patch on this, not sure if it will make it in to final due to time
limits.
b. We need a tool to quickly create a new component. The required cmake macros
will be maintained by the orocos-toolchain project and will be included by the
component such that they are maintained at a central place. Adolfo is working
on this.
c. Sylvain is working on typegen, a stand-alone version of orogen that only
generates typekits from a given header. He's also working on a gcc-xml version
that won't need modifications of user headers.
d. We're migrating to gitorious to form the orocos-toolchain project. A
typical user will download the full project. It will contain rtt, ocl, orogen
and all their dependencies (typelib, log4cpp,...). We need to coordinate with
all Orocos maintainers to see what is part of the toolchain.
e. Once point b is ready, OCL will be migrated to these macros.
f. We will rename 'Method' to 'OperationCaller'; 'ServiceProvider' to
'Service'. Method didn't explain it and was probably too confusing to
newcomers and even for 1.x users. Also, the 'RTT::interface' namespace will go
away and classes will move in the main RTT namespace. All occurences of
'*Repository' will be renamed to '*Interface' (like DataFlowInterface).
AttributeRepository will be renamed to ConfigurationInterface. So you'll have:
Service inherits from ConfigurationInterface, OperationInterface and
DataFlowInterface. Oh yes, DataFlowInterface moves from TaskContext to
Service. As a consequence, TaskContext becomes only an execution container
with some states and a default Service.
The RTT::base namespace will be thinned. Most will move to internal, except
some key base classes users will be exposed to. These are: ActivityInterface,
AttributeBase, (Input/Ouput)PortInterface, OperationBase, PropertyBase,
RunnableInterface, ExecutableInterface, DisposableInterface, TaskCore.
g. We've been working on supporting enums such that they can be marshalled to
XML as ints or as strings (EnumTypeInfo). I have a partial patch for this
which needs more testing. typegen is the primary user of this functionality.
h. The updateHook(vector<PortInterface>) function will be removed. It's no
longer necessary since you can query the ports yourself. It greatly simplifies
addEventPort and some management code in TaskContext.
i. There is a race in disconnection + read/write of channel elements. Because
they use boost::intrusive, their destruction is not thread-safe, even if the
ref-counting is. The solution here is to use a lock to guard a read or write
such that no destruction is done when that lock is held. Sylvain is looking at
this.
j. We discussed about revamping documentation and website. I don't have time
for the website, although we had some great ideas. Anyone having some drupal
knowledge or spare time, tell us, we'll send you some whiteboard mockups of
how it should look like and we can setup a test website (copy of existing)
where you can play with it.
For now, my main repository is still github. There are some uptime issues with
gitorious. Hopefully these will be resolved quicly and I'll start pushing to
my personal gitorious repository. From there, we can merge to the mainline.
Peter
Preparing rc1
Some updates from my side:
- the gccxml importer in typelib is now ready.
- oroGen/typeGen are mostly ready. I'm fixing the last bugs in the
test suite
- I could not start working on the dataflow bug (yet)
Sylvain
Preparing rc1
On Monday 02 August 2010 11:12:06 Peter Soetens wrote:
> We've decided during the dev meeting that some changes need to be done
> before we release. These are (from the wiki):
...
>
> f. We will rename 'Method' to 'OperationCaller'; 'ServiceProvider' to
> 'Service'. Method didn't explain it and was probably too confusing to
> newcomers and even for 1.x users. Also, the 'RTT::interface' namespace will
> go away and classes will move in the main RTT namespace. All occurences of
> '*Repository' will be renamed to '*Interface' (like DataFlowInterface).
> AttributeRepository will be renamed to ConfigurationInterface. So you'll
> have: Service inherits from ConfigurationInterface, OperationInterface and
> DataFlowInterface. Oh yes, DataFlowInterface moves from TaskContext to
> Service. As a consequence, TaskContext becomes only an execution container
> with some states and a default Service.
> The RTT::base namespace will be thinned. Most will move to internal, except
> some key base classes users will be exposed to. These are:
> ActivityInterface, AttributeBase, (Input/Ouput)PortInterface,
> OperationBase, PropertyBase, RunnableInterface, ExecutableInterface,
> DisposableInterface, TaskCore.
Any volunteers for this part ?
Peter
Preparing rc1
On Mon, Aug 02, 2010 at 05:44:10PM +0200, Peter Soetens wrote:
> On Monday 02 August 2010 11:12:06 Peter Soetens wrote:
> > We've decided during the dev meeting that some changes need to be done
> > before we release. These are (from the wiki):
> ...
> >
> > f. We will rename 'Method' to 'OperationCaller'; 'ServiceProvider' to
> > 'Service'. Method didn't explain it and was probably too confusing to
> > newcomers and even for 1.x users. Also, the 'RTT::interface' namespace will
> > go away and classes will move in the main RTT namespace. All occurences of
> > '*Repository' will be renamed to '*Interface' (like DataFlowInterface).
> > AttributeRepository will be renamed to ConfigurationInterface. So you'll
> > have: Service inherits from ConfigurationInterface, OperationInterface and
> > DataFlowInterface. Oh yes, DataFlowInterface moves from TaskContext to
> > Service. As a consequence, TaskContext becomes only an execution container
> > with some states and a default Service.
> > The RTT::base namespace will be thinned. Most will move to internal, except
> > some key base classes users will be exposed to. These are:
> > ActivityInterface, AttributeBase, (Input/Ouput)PortInterface,
> > OperationBase, PropertyBase, RunnableInterface, ExecutableInterface,
> > DisposableInterface, TaskCore.
Here's an updated pull request (I sent you a merge request too), which
supersedes the last one. Compiles OK, and tests are OK (besides the
usual one)
Markus
The following changes since commit bffec26b88239fc917d3af59a2f7aea5b46ca641:
Merge commit 'refs/merge-requests/4' of git://gitorious.org/orocos-toolchain/rtt into rtt-2.0-mainline (2010-08-12 14:15:57 +0200)
are available in the git repository at:
http://git.gitorious.org/~markusk/orocos-toolchain/rtt-mk.git towards-2.0
Markus Klotzbuecher (4):
Rename Method to OperationCaller
Rename some ServiceProvider to Service which slipped through
Rename some AttributeRepository to ConfigurationInterface which slipped through
Rename OperationRepository to OperationInterface
config/check_depend.cmake | 6 +-
debian/liborocos-rtt-common-dev.install | 2 +-
doc/sgml/components-doc.sgml | 12 +-
doc/xml/images/ATaskContext.svg | 6 +-
doc/xml/images/ComponentArch-4.svg | 6 +-
doc/xml/images/ComponentFlows.svg | 2 +-
doc/xml/images/ComponentInterface.svg | 2 +-
doc/xml/images/ComponentStatesExtended.svg | 2 +-
doc/xml/images/services-and-operations.svg | 2 +-
doc/xml/images/services-and-requests.svg | 4 +-
doc/xml/orocos-corelib.xml | 2 +-
doc/xml/orocos-overview.xml | 2 +-
doc/xml/orocos-rtt-plugins.xml | 10 +-
doc/xml/orocos-rtt-scripting.xml | 6 +-
doc/xml/orocos-task-context.xml | 82 +++++-----
doc/xml/orocos-transports-corba.xml | 8 +-
rtt/InputPort.hpp | 2 +-
rtt/Operation.hpp | 26 ++--
rtt/{Method.hpp => OperationCaller.hpp} | 178 ++++++++++----------
rtt/OutputPort.hpp | 2 +-
rtt/RTT.hpp | 2 +-
rtt/TaskContext.cpp | 2 +-
rtt/TaskContext.hpp | 24 ++--
.../{MethodBase.hpp => OperationCallerBase.hpp} | 12 +-
...eInvoker.hpp => OperationCallerBaseInvoker.hpp} | 14 +-
rtt/base/PortInterface.cpp | 2 +-
rtt/base/TaskCore.hpp | 2 +-
rtt/base/rtt-base-fwd.hpp | 4 +-
rtt/extras/TaskContexts.hpp | 2 +-
rtt/interface/ConfigurationInterface.hpp | 4 +-
...rationRepository.cpp => OperationInterface.cpp} | 40 +++---
...rationRepository.hpp => OperationInterface.hpp} | 10 +-
...positoryPart.hpp => OperationInterfacePart.hpp} | 10 +-
rtt/interface/Service.cpp | 10 +-
rtt/interface/Service.hpp | 40 +++---
rtt/interface/ServiceRequester.cpp | 24 ++--
rtt/interface/ServiceRequester.hpp | 18 +-
rtt/interface/rtt-interface-fwd.hpp | 4 +-
rtt/internal/BindStorage.hpp | 2 +-
rtt/internal/DataSourceStorage.hpp | 2 +-
rtt/internal/FusedFunctorDataSource.hpp | 22 ++--
rtt/internal/InvokerBase.hpp | 2 +-
.../{LocalMethod.hpp => LocalOperationCaller.hpp} | 60 ++++----
...{MethodBinder.hpp => OperationCallerBinder.hpp} | 28 ++--
rtt/internal/{MethodC.cpp => OperationCallerC.cpp} | 64 ++++----
rtt/internal/{MethodC.hpp => OperationCallerC.hpp} | 46 +++---
...rtFused.cpp => OperationInterfacePartFused.cpp} | 6 +-
...rtFused.hpp => OperationInterfacePartFused.hpp} | 66 ++++----
...{RemoteMethod.hpp => RemoteOperationCaller.hpp} | 78 +++++-----
rtt/internal/SendHandleC.cpp | 8 +-
rtt/internal/SendHandleC.hpp | 14 +-
rtt/internal/rtt-internal-fwd.hpp | 20 +-
rtt/marsh/Marshalling.cpp | 14 +-
rtt/marsh/Marshalling.hpp | 16 +-
rtt/marsh/MarshallingService.cpp | 2 +-
rtt/rtt-fwd.hpp | 2 +-
rtt/scripting/FunctionFactory.hpp | 4 +-
rtt/scripting/ParsedStateMachine.cpp | 2 +-
rtt/scripting/ProgramService.cpp | 6 +-
rtt/scripting/Scripting.cpp | 78 +++++-----
rtt/scripting/Scripting.hpp | 80 +++++-----
rtt/scripting/ScriptingService.cpp | 18 +-
rtt/scripting/ScriptingService.hpp | 4 +-
rtt/scripting/SendHandleAlias.cpp | 4 +-
rtt/scripting/SendHandleAlias.hpp | 8 +-
rtt/scripting/StateMachineService.cpp | 8 +-
rtt/scripting/StateMachineService.hpp | 2 +-
rtt/transports/corba/ConfigurationInterfaceI.h | 6 +-
...Factory.cpp => CorbaOperationCallerFactory.cpp} | 64 ++++----
...Factory.hpp => CorbaOperationCallerFactory.hpp} | 14 +-
...rationRepository.idl => OperationInterface.idl} | 6 +-
...tionRepositoryI.cpp => OperationInterfaceI.cpp} | 46 +++---
...perationRepositoryI.h => OperationInterfaceI.h} | 22 ++--
rtt/transports/corba/Service.idl | 4 +-
rtt/transports/corba/ServiceI.cpp | 2 +-
rtt/transports/corba/ServiceI.h | 11 +-
rtt/transports/corba/ServiceRequester.idl | 4 +-
rtt/transports/corba/ServiceRequesterI.cpp | 6 +-
rtt/transports/corba/ServiceRequesterI.h | 2 +-
rtt/transports/corba/TaskContext.idl | 2 +-
rtt/transports/corba/TaskContextI.cpp | 4 +-
rtt/transports/corba/TaskContextProxy.cpp | 8 +-
src/MarshallingAccess.cpp | 18 +-
tests/attributes_test.cpp | 2 +-
tests/corba_ipc_server.cpp | 4 +-
tests/corba_ipc_test.cpp | 24 ++--
tests/corba_test.cpp | 28 ++--
tests/corba_test.hpp | 8 +-
tests/dispatch_test.cpp | 4 +-
tests/function_test.cpp | 10 +-
tests/functors_test.cpp | 66 ++++----
tests/generictask_test.cpp | 82 +++++-----
tests/generictask_test.hpp | 18 +-
tests/method_test.cpp | 98 ++++++------
tests/operation_test.cpp | 18 +-
tests/operations_fixture.cpp | 6 +-
tests/operations_fixture.hpp | 2 +-
tests/ports_test.cpp | 8 +-
tests/program_test.cpp | 2 +-
tests/remote_method_test.cpp | 58 ++++----
tests/service_test.cpp | 48 +++---
tests/state_test.cpp | 12 +-
tests/taskstates_test.cpp | 2 +-
tests/types_test.cpp | 6 +-
tests/types_test.hpp | 2 +-
105 files changed, 990 insertions(+), 989 deletions(-)
rename rtt/{Method.hpp => OperationCaller.hpp} (60%)
rename rtt/base/{MethodBase.hpp => OperationCallerBase.hpp} (90%)
rename rtt/base/{MethodBaseInvoker.hpp => OperationCallerBaseInvoker.hpp} (83%)
rename rtt/interface/{OperationRepository.cpp => OperationInterface.cpp} (65%)
rename rtt/interface/{OperationRepository.hpp => OperationInterface.hpp} (96%)
rename rtt/interface/{OperationRepositoryPart.hpp => OperationInterfacePart.hpp} (96%)
rename rtt/internal/{LocalMethod.hpp => LocalOperationCaller.hpp} (90%)
rename rtt/internal/{MethodBinder.hpp => OperationCallerBinder.hpp} (89%)
rename rtt/internal/{MethodC.cpp => OperationCallerC.cpp} (78%)
rename rtt/internal/{MethodC.hpp => OperationCallerC.hpp} (82%)
rename rtt/internal/{OperationRepositoryPartFused.cpp => OperationInterfacePartFused.cpp} (62%)
rename rtt/internal/{OperationRepositoryPartFused.hpp => OperationInterfacePartFused.hpp} (85%)
rename rtt/internal/{RemoteMethod.hpp => RemoteOperationCaller.hpp} (81%)
rename rtt/transports/corba/{CorbaMethodFactory.cpp => CorbaOperationCallerFactory.cpp} (79%)
rename rtt/transports/corba/{CorbaMethodFactory.hpp => CorbaOperationCallerFactory.hpp} (89%)
rename rtt/transports/corba/{OperationRepository.idl => OperationInterface.idl} (97%)
rename rtt/transports/corba/{OperationRepositoryI.cpp => OperationInterfaceI.cpp} (89%)
rename rtt/transports/corba/{OperationRepositoryI.h => OperationInterfaceI.h} (83%)
Preparing rc1
On Fri, Aug 13, 2010 at 08:38:36AM +0200, Markus Klotzbuecher wrote:
> On Mon, Aug 02, 2010 at 05:44:10PM +0200, Peter Soetens wrote:
> > On Monday 02 August 2010 11:12:06 Peter Soetens wrote:
> > > We've decided during the dev meeting that some changes need to be done
> > > before we release. These are (from the wiki):
> > ...
> > >
> > > f. We will rename 'Method' to 'OperationCaller'; 'ServiceProvider' to
> > > 'Service'. Method didn't explain it and was probably too confusing to
> > > newcomers and even for 1.x users. Also, the 'RTT::interface' namespace will
> > > go away and classes will move in the main RTT namespace. All occurences of
> > > '*Repository' will be renamed to '*Interface' (like DataFlowInterface).
> > > AttributeRepository will be renamed to ConfigurationInterface. So you'll
> > > have: Service inherits from ConfigurationInterface, OperationInterface and
> > > DataFlowInterface. Oh yes, DataFlowInterface moves from TaskContext to
> > > Service. As a consequence, TaskContext becomes only an execution container
> > > with some states and a default Service.
> > > The RTT::base namespace will be thinned. Most will move to internal, except
> > > some key base classes users will be exposed to. These are:
> > > ActivityInterface, AttributeBase, (Input/Ouput)PortInterface,
> > > OperationBase, PropertyBase, RunnableInterface, ExecutableInterface,
> > > DisposableInterface, TaskCore.
>
> Here's an updated pull request (I sent you a merge request too), which
> supersedes the last one. Compiles OK, and tests are OK (besides the
> usual one)
New stuff:
"Merge Interface namespace into main namespace"
I updated the merge request this time (instead of creating a new one)
Compiles and tests Ok (besides the notorious one)
Best regards
Markus
The following changes since commit bffec26b88239fc917d3af59a2f7aea5b46ca641:
Merge commit 'refs/merge-requests/4' of git://gitorious.org/orocos-toolchain/rtt into rtt-2.0-mainline (2010-08-12 14:15:57 +0200)
are available in the git repository at:
http://git.gitorious.org/~markusk/orocos-toolchain/rtt-mk.git towards-2.0
Markus Klotzbuecher (5):
Rename Method to OperationCaller
Rename some ServiceProvider to Service which slipped through
Rename some AttributeRepository to ConfigurationInterface which slipped through
Rename OperationRepository to OperationInterface
Merge interface namespace into main namespace
config/check_depend.cmake | 6 +-
debian/liborocos-rtt-common-dev.install | 2 +-
doc/sgml/components-doc.sgml | 12 +-
doc/xml/images/ATaskContext.svg | 6 +-
doc/xml/images/ComponentArch-4.svg | 6 +-
doc/xml/images/ComponentFlows.svg | 2 +-
doc/xml/images/ComponentInterface.svg | 2 +-
doc/xml/images/ComponentStatesExtended.svg | 2 +-
doc/xml/images/services-and-operations.svg | 2 +-
doc/xml/images/services-and-requests.svg | 4 +-
doc/xml/orocos-corelib.xml | 2 +-
doc/xml/orocos-overview.xml | 2 +-
doc/xml/orocos-rtt-plugins.xml | 10 +-
doc/xml/orocos-rtt-scripting.xml | 6 +-
doc/xml/orocos-task-context.xml | 88 ++++----
doc/xml/orocos-transports-corba.xml | 8 +-
rtt/{interface => }/ArgumentDescription.cpp | 2 +-
rtt/{interface => }/ArgumentDescription.hpp | 5 +-
rtt/CMakeLists.txt | 1 -
rtt/{interface => }/ConfigurationInterface.cpp | 0
rtt/{interface => }/ConfigurationInterface.hpp | 9 +-
rtt/{interface => }/DataFlowInterface.cpp | 0
rtt/{interface => }/DataFlowInterface.hpp | 4 +-
rtt/{interface => }/FactoryExceptions.cpp | 1 -
rtt/{interface => }/FactoryExceptions.hpp | 4 +-
rtt/InputPort.hpp | 8 +-
rtt/Operation.hpp | 26 ++--
rtt/{Method.hpp => OperationCaller.hpp} | 180 ++++++++--------
...rationRepository.cpp => OperationInterface.cpp} | 56 +++---
rtt/OperationInterface.hpp | 216 +++++++++++++++++++
rtt/OperationInterfacePart.hpp | 157 ++++++++++++++
rtt/OutputPort.hpp | 8 +-
rtt/RTT.hpp | 2 +-
rtt/{interface => }/Service.cpp | 10 +-
rtt/{interface => }/Service.hpp | 45 ++--
rtt/{interface => }/ServiceRequester.cpp | 24 +-
rtt/ServiceRequester.hpp | 116 ++++++++++
rtt/TaskContext.cpp | 2 +-
rtt/TaskContext.hpp | 54 +++---
.../{MethodBase.hpp => OperationCallerBase.hpp} | 12 +-
...eInvoker.hpp => OperationCallerBaseInvoker.hpp} | 14 +-
rtt/base/PortInterface.cpp | 6 +-
rtt/base/PortInterface.hpp | 10 +-
rtt/base/TaskCore.hpp | 2 +-
rtt/base/rtt-base-fwd.hpp | 4 +-
rtt/extras/Orocos.Main.hpp | 2 +-
rtt/extras/TaskContexts.hpp | 2 +-
rtt/interface/CMakeLists.txt | 5 -
rtt/interface/OperationRepository.hpp | 220 --------------------
rtt/interface/OperationRepositoryPart.hpp | 161 --------------
rtt/interface/ServiceRequester.hpp | 123 -----------
rtt/internal/BindStorage.hpp | 2 +-
rtt/internal/ConnFactory.cpp | 2 +-
rtt/internal/ConnFactory.hpp | 2 +-
rtt/internal/CreateSequence.hpp | 6 +-
rtt/internal/DataSourceStorage.hpp | 2 +-
rtt/internal/FusedFunctorDataSource.hpp | 24 +-
rtt/internal/InvokerBase.hpp | 2 +-
.../{LocalMethod.hpp => LocalOperationCaller.hpp} | 60 +++---
...{MethodBinder.hpp => OperationCallerBinder.hpp} | 28 ++--
rtt/internal/{MethodC.cpp => OperationCallerC.cpp} | 68 +++---
rtt/internal/{MethodC.hpp => OperationCallerC.hpp} | 50 +++---
rtt/internal/OperationInterfacePartFused.cpp | 22 ++
...rtFused.hpp => OperationInterfacePartFused.hpp} | 98 +++++-----
rtt/internal/OperationRepositoryPartFused.cpp | 22 --
...{RemoteMethod.hpp => RemoteOperationCaller.hpp} | 78 ++++----
rtt/internal/SendHandleC.cpp | 12 +-
rtt/internal/SendHandleC.hpp | 16 +-
rtt/internal/rtt-internal-fwd.hpp | 20 +-
rtt/marsh/Marshalling.cpp | 16 +-
rtt/marsh/Marshalling.hpp | 20 +-
rtt/marsh/MarshallingService.cpp | 2 +-
rtt/marsh/MarshallingService.hpp | 4 +-
rtt/plugin/ServicePlugin.hpp | 4 +-
rtt/rtt-detail-fwd.hpp | 6 -
rtt/rtt-fwd.hpp | 4 +-
rtt/{interface => }/rtt-interface-fwd.hpp | 21 +--
rtt/scripting/ArgumentsParser.hpp | 6 +-
rtt/scripting/DumpObject.cpp | 4 +-
rtt/scripting/DumpObject.hpp | 6 +-
rtt/scripting/FunctionFactory.cpp | 2 +-
rtt/scripting/FunctionFactory.hpp | 8 +-
rtt/scripting/FunctionGraph.cpp | 2 +-
rtt/scripting/FunctionGraph.hpp | 4 +-
rtt/scripting/FunctionGraphBuilder.cpp | 2 +-
rtt/scripting/ParsedStateMachine.cpp | 4 +-
rtt/scripting/PeerParser.hpp | 6 +-
rtt/scripting/ProgramGraphParser.hpp | 6 +-
rtt/scripting/ProgramService.cpp | 8 +-
rtt/scripting/ProgramService.hpp | 6 +-
rtt/scripting/Scripting.cpp | 78 ++++----
rtt/scripting/Scripting.hpp | 84 ++++----
rtt/scripting/ScriptingService.cpp | 20 +-
rtt/scripting/ScriptingService.hpp | 8 +-
rtt/scripting/SendHandleAlias.cpp | 4 +-
rtt/scripting/SendHandleAlias.hpp | 8 +-
rtt/scripting/StateGraphParser.hpp | 4 +-
rtt/scripting/StateMachine.cpp | 2 +-
rtt/scripting/StateMachine.hpp | 4 +-
rtt/scripting/StateMachineService.cpp | 10 +-
rtt/scripting/StateMachineService.hpp | 10 +-
rtt/scripting/ValueChangeParser.cpp | 2 +-
rtt/scripting/ValueChangeParser.hpp | 8 +-
rtt/scripting/ValueParser.cpp | 2 +-
rtt/scripting/ValueParser.hpp | 2 +-
rtt/transports/corba/ConfigurationInterfaceI.h | 12 +-
rtt/transports/corba/CorbaDispatcher.hpp | 8 +-
...Factory.cpp => CorbaOperationCallerFactory.cpp} | 92 ++++----
...Factory.hpp => CorbaOperationCallerFactory.hpp} | 20 +-
rtt/transports/corba/CorbaTemplateProtocol.hpp | 2 +-
rtt/transports/corba/CorbaTypeTransporter.hpp | 2 +-
rtt/transports/corba/DataFlowI.cpp | 16 +-
rtt/transports/corba/DataFlowI.h | 14 +-
...rationRepository.idl => OperationInterface.idl} | 6 +-
...tionRepositoryI.cpp => OperationInterfaceI.cpp} | 46 ++--
...perationRepositoryI.h => OperationInterfaceI.h} | 22 +-
rtt/transports/corba/RemoteChannelElement.hpp | 4 +-
rtt/transports/corba/RemotePorts.cpp | 2 +-
rtt/transports/corba/Service.idl | 4 +-
rtt/transports/corba/ServiceI.cpp | 4 +-
rtt/transports/corba/ServiceI.h | 17 +-
rtt/transports/corba/ServiceRequester.idl | 4 +-
rtt/transports/corba/ServiceRequesterI.cpp | 8 +-
rtt/transports/corba/ServiceRequesterI.h | 8 +-
rtt/transports/corba/TaskContext.idl | 2 +-
rtt/transports/corba/TaskContextI.cpp | 4 +-
rtt/transports/corba/TaskContextProxy.cpp | 8 +-
rtt/transports/corba/TaskContextProxy.hpp | 4 +-
rtt/transports/mqueue/MQChannelElement.hpp | 2 +-
rtt/types/GlobalsRepository.hpp | 4 +-
src/MarshallingAccess.cpp | 18 +-
tests/attributes_test.cpp | 2 +-
tests/corba_ipc_server.cpp | 6 +-
tests/corba_ipc_test.cpp | 26 ++--
tests/corba_test.cpp | 30 ++--
tests/corba_test.hpp | 8 +-
tests/dispatch_test.cpp | 6 +-
tests/eventservice_test.cpp | 2 +-
tests/eventservice_test.hpp | 2 +-
tests/function_test.cpp | 12 +-
tests/functors_test.cpp | 68 +++---
tests/generictask_test.cpp | 86 ++++----
tests/generictask_test.hpp | 18 +-
tests/method_test.cpp | 100 +++++-----
tests/mqueue_ipc_server.cpp | 2 +-
tests/mqueue_ipc_test.cpp | 2 +-
tests/mqueue_test.cpp | 2 +-
tests/operation_test.cpp | 20 +-
tests/operations_fixture.cpp | 8 +-
tests/operations_fixture.hpp | 2 +-
tests/plugins/plugins_test_services.cpp | 3 +-
tests/ports_test.cpp | 8 +-
tests/program_test.cpp | 4 +-
tests/remote_method_test.cpp | 60 +++---
tests/service_test.cpp | 52 +++---
tests/state_test.cpp | 14 +-
tests/taskstates_test.cpp | 2 +-
tests/types_test.cpp | 10 +-
tests/types_test.hpp | 2 +-
159 files changed, 1702 insertions(+), 1740 deletions(-)
rename rtt/{interface => }/ArgumentDescription.cpp (86%)
rename rtt/{interface => }/ArgumentDescription.hpp (99%)
rename rtt/{interface => }/ConfigurationInterface.cpp (100%)
rename rtt/{interface => }/ConfigurationInterface.hpp (99%)
rename rtt/{interface => }/DataFlowInterface.cpp (100%)
rename rtt/{interface => }/DataFlowInterface.hpp (99%)
rename rtt/{interface => }/FactoryExceptions.cpp (99%)
rename rtt/{interface => }/FactoryExceptions.hpp (99%)
rename rtt/{Method.hpp => OperationCaller.hpp} (60%)
rename rtt/{interface/OperationRepository.cpp => OperationInterface.cpp} (52%)
create mode 100644 rtt/OperationInterface.hpp
create mode 100644 rtt/OperationInterfacePart.hpp
rename rtt/{interface => }/Service.cpp (94%)
rename rtt/{interface => }/Service.hpp (91%)
rename rtt/{interface => }/ServiceRequester.cpp (64%)
create mode 100644 rtt/ServiceRequester.hpp
rename rtt/base/{MethodBase.hpp => OperationCallerBase.hpp} (90%)
rename rtt/base/{MethodBaseInvoker.hpp => OperationCallerBaseInvoker.hpp} (80%)
delete mode 100644 rtt/interface/CMakeLists.txt
delete mode 100644 rtt/interface/OperationRepository.hpp
delete mode 100644 rtt/interface/OperationRepositoryPart.hpp
delete mode 100644 rtt/interface/ServiceRequester.hpp
rename rtt/internal/{LocalMethod.hpp => LocalOperationCaller.hpp} (90%)
rename rtt/internal/{MethodBinder.hpp => OperationCallerBinder.hpp} (89%)
rename rtt/internal/{MethodC.cpp => OperationCallerC.cpp} (77%)
rename rtt/internal/{MethodC.hpp => OperationCallerC.hpp} (81%)
create mode 100644 rtt/internal/OperationInterfacePartFused.cpp
rename rtt/internal/{OperationRepositoryPartFused.hpp => OperationInterfacePartFused.hpp} (76%)
delete mode 100644 rtt/internal/OperationRepositoryPartFused.cpp
rename rtt/internal/{RemoteMethod.hpp => RemoteOperationCaller.hpp} (81%)
rename rtt/{interface => }/rtt-interface-fwd.hpp (87%)
rename rtt/transports/corba/{CorbaMethodFactory.cpp => CorbaOperationCallerFactory.cpp} (73%)
rename rtt/transports/corba/{CorbaMethodFactory.hpp => CorbaOperationCallerFactory.hpp} (86%)
rename rtt/transports/corba/{OperationRepository.idl => OperationInterface.idl} (97%)
rename rtt/transports/corba/{OperationRepositoryI.cpp => OperationInterfaceI.cpp} (89%)
rename rtt/transports/corba/{OperationRepositoryI.h => OperationInterfaceI.h} (83%)
Preparing rc1
On Friday 13 August 2010 16:36:45 Markus Klotzbuecher wrote:
> On Fri, Aug 13, 2010 at 08:38:36AM +0200, Markus Klotzbuecher wrote:
> > On Mon, Aug 02, 2010 at 05:44:10PM +0200, Peter Soetens wrote:
> > > On Monday 02 August 2010 11:12:06 Peter Soetens wrote:
> > > > We've decided during the dev meeting that some changes need to be
> > > > done before we release. These are (from the wiki):
> > >
> > > ...
> > >
> > > > f. We will rename 'Method' to 'OperationCaller'; 'ServiceProvider' to
> > > > 'Service'. Method didn't explain it and was probably too confusing to
> > > > newcomers and even for 1.x users. Also, the 'RTT::interface'
> > > > namespace will go away and classes will move in the main RTT
> > > > namespace. All occurences of '*Repository' will be renamed to
> > > > '*Interface' (like DataFlowInterface). AttributeRepository will be
> > > > renamed to ConfigurationInterface. So you'll have: Service inherits
> > > > from ConfigurationInterface, OperationInterface and
> > > > DataFlowInterface. Oh yes, DataFlowInterface moves from TaskContext
> > > > to Service. As a consequence, TaskContext becomes only an execution
> > > > container with some states and a default Service.
> > > > The RTT::base namespace will be thinned. Most will move to internal,
> > > > except some key base classes users will be exposed to. These are:
> > > > ActivityInterface, AttributeBase, (Input/Ouput)PortInterface,
> > > > OperationBase, PropertyBase, RunnableInterface, ExecutableInterface,
> > > > DisposableInterface, TaskCore.
> >
> > Here's an updated pull request (I sent you a merge request too), which
> > supersedes the last one. Compiles OK, and tests are OK (besides the
> > usual one)
>
> New stuff:
>
> "Merge Interface namespace into main namespace"
>
> I updated the merge request this time (instead of creating a new one)
>
> Compiles and tests Ok (besides the notorious one)
Thanks a lot ! We should disable this unit test for now. It's a broken
feature since 1.0.0, only the unit test was recently added when properties
weren't that ok in 2.0-beta.
Peter
Preparing rc1
On Mon, Aug 02, 2010 at 05:44:10PM +0200, Peter Soetens wrote:
> On Monday 02 August 2010 11:12:06 Peter Soetens wrote:
> > We've decided during the dev meeting that some changes need to be done
> > before we release. These are (from the wiki):
> ...
> >
> > go away and classes will move in the main RTT namespace. All occurences of
> > '*Repository' will be renamed to '*Interface' (like DataFlowInterface).
All occurences, really? Heres a list of *Repository:
- OperationRepository
- OperationRepositoryPart
- COperationRepository
- RTT_corba_COperationRepository_i
- OperationRepositoryPartFusedDS
- OperationRepositoryPartFused
- SynchronousOperationRepositoryPartFused
- OperationRepositoryPartHelper
- OperatorRepository
- TypekitRepository
- TypeInfoRepository
- GlobalsRepository
Markus
Preparing rc1
On Thu, Aug 12, 2010 at 5:00 PM, Markus Klotzbuecher
<markus [dot] klotzbuecher [..] ...> wrote:
> On Mon, Aug 02, 2010 at 05:44:10PM +0200, Peter Soetens wrote:
>> On Monday 02 August 2010 11:12:06 Peter Soetens wrote:
>> > We've decided during the dev meeting that some changes need to be done
>> > before we release. These are (from the wiki):
>> ...
>> >
>> > go away and classes will move in the main RTT namespace. All occurences of
>> > '*Repository' will be renamed to '*Interface' (like DataFlowInterface).
>
> All occurences, really? Heres a list of *Repository:
>
> - OperationRepository
> - OperationRepositoryPart
> - COperationRepository
> - RTT_corba_COperationRepository_i
> - OperationRepositoryPartFusedDS
> - OperationRepositoryPartFused
> - SynchronousOperationRepositoryPartFused
> - OperationRepositoryPartHelper
> - OperatorRepository
> - TypekitRepository
> - TypeInfoRepository
> - GlobalsRepository
Oops nono. Only [C]OperationRepository*
The other repositories are for the type system and may remain as-is.
Peter
--
Orocos-Dev mailing list
Orocos-Dev [..] ...
http://lists.mech.kuleuven.be/mailman/listinfo/orocos-dev
Preparing rc1
On Mon, Aug 02, 2010 at 05:44:10PM +0200, Peter Soetens wrote:
> On Monday 02 August 2010 11:12:06 Peter Soetens wrote:
> > We've decided during the dev meeting that some changes need to be done
> > before we release. These are (from the wiki):
> ...
> >
> > f. We will rename 'Method' to 'OperationCaller'; 'ServiceProvider' to
Here comes Method -> OperationCaller. It wipes the existence of
"Method" from rtt.
Compiles and tests are OK (except property_loader_test as usual)
Best regards
Markus
The following changes since commit bffec26b88239fc917d3af59a2f7aea5b46ca641:
Merge commit 'refs/merge-requests/4' of git://gitorious.org/orocos-toolchain/rtt into rtt-2.0-mainline (2010-08-12 14:15:57 +0200)
are available in the git repository at:
http://git.gitorious.org/~markusk/orocos-toolchain/rtt-mk.git towards-2.0
Markus Klotzbuecher (1):
Rename Method to OperationCaller
config/check_depend.cmake | 6 +-
debian/liborocos-rtt-common-dev.install | 2 +-
doc/xml/images/ATaskContext.svg | 6 +-
doc/xml/images/ComponentArch-4.svg | 6 +-
doc/xml/images/ComponentFlows.svg | 2 +-
doc/xml/images/ComponentInterface.svg | 2 +-
doc/xml/images/ComponentStatesExtended.svg | 2 +-
doc/xml/images/services-and-operations.svg | 2 +-
doc/xml/images/services-and-requests.svg | 2 +-
doc/xml/orocos-corelib.xml | 2 +-
doc/xml/orocos-overview.xml | 2 +-
doc/xml/orocos-rtt-scripting.xml | 6 +-
doc/xml/orocos-task-context.xml | 72 ++++----
doc/xml/orocos-transports-corba.xml | 2 +-
rtt/InputPort.hpp | 2 +-
rtt/Operation.hpp | 26 ++--
rtt/{Method.hpp => OperationCaller.hpp} | 172 ++++++++++----------
rtt/OutputPort.hpp | 2 +-
rtt/RTT.hpp | 2 +-
rtt/TaskContext.cpp | 2 +-
rtt/TaskContext.hpp | 6 +-
.../{MethodBase.hpp => OperationCallerBase.hpp} | 12 +-
...eInvoker.hpp => OperationCallerBaseInvoker.hpp} | 10 +-
rtt/base/PortInterface.cpp | 2 +-
rtt/base/TaskCore.hpp | 2 +-
rtt/base/rtt-base-fwd.hpp | 4 +-
rtt/extras/TaskContexts.hpp | 2 +-
rtt/interface/OperationRepositoryPart.hpp | 2 +-
rtt/interface/Service.cpp | 4 +-
rtt/interface/Service.hpp | 14 +-
rtt/interface/ServiceRequester.cpp | 24 ++--
rtt/interface/ServiceRequester.hpp | 18 +-
rtt/internal/BindStorage.hpp | 2 +-
rtt/internal/DataSourceStorage.hpp | 2 +-
rtt/internal/FusedFunctorDataSource.hpp | 22 ++--
rtt/internal/InvokerBase.hpp | 2 +-
.../{LocalMethod.hpp => LocalOperationCaller.hpp} | 60 ++++----
...{MethodBinder.hpp => OperationCallerBinder.hpp} | 28 ++--
rtt/internal/{MethodC.cpp => OperationCallerC.cpp} | 60 ++++----
rtt/internal/{MethodC.hpp => OperationCallerC.hpp} | 42 +++---
rtt/internal/OperationRepositoryPartFused.hpp | 12 +-
...{RemoteMethod.hpp => RemoteOperationCaller.hpp} | 78 +++++-----
rtt/internal/SendHandleC.hpp | 4 +-
rtt/internal/rtt-internal-fwd.hpp | 16 +-
rtt/marsh/Marshalling.cpp | 14 +-
rtt/marsh/Marshalling.hpp | 16 +-
rtt/marsh/MarshallingService.cpp | 2 +-
rtt/rtt-fwd.hpp | 2 +-
rtt/scripting/ProgramService.cpp | 6 +-
rtt/scripting/Scripting.cpp | 78 +++++-----
rtt/scripting/Scripting.hpp | 80 +++++-----
rtt/scripting/ScriptingService.cpp | 18 +-
rtt/scripting/ScriptingService.hpp | 4 +-
rtt/scripting/StateMachineService.cpp | 8 +-
rtt/scripting/StateMachineService.hpp | 2 +-
...Factory.cpp => CorbaOperationCallerFactory.cpp} | 62 ++++----
...Factory.hpp => CorbaOperationCallerFactory.hpp} | 10 +-
rtt/transports/corba/OperationRepositoryI.cpp | 8 +-
rtt/transports/corba/ServiceRequester.idl | 4 +-
rtt/transports/corba/ServiceRequesterI.cpp | 6 +-
rtt/transports/corba/ServiceRequesterI.h | 2 +-
rtt/transports/corba/TaskContextI.cpp | 2 +-
rtt/transports/corba/TaskContextProxy.cpp | 6 +-
src/MarshallingAccess.cpp | 18 +-
tests/attributes_test.cpp | 2 +-
tests/corba_ipc_server.cpp | 4 +-
tests/corba_ipc_test.cpp | 24 ++--
tests/corba_test.cpp | 28 ++--
tests/corba_test.hpp | 8 +-
tests/dispatch_test.cpp | 4 +-
tests/function_test.cpp | 10 +-
tests/functors_test.cpp | 64 ++++----
tests/generictask_test.cpp | 82 +++++-----
tests/generictask_test.hpp | 18 +-
tests/method_test.cpp | 98 ++++++------
tests/operation_test.cpp | 18 +-
tests/operations_fixture.cpp | 6 +-
tests/operations_fixture.hpp | 2 +-
tests/ports_test.cpp | 8 +-
tests/program_test.cpp | 2 +-
tests/remote_method_test.cpp | 58 ++++----
tests/service_test.cpp | 48 +++---
tests/state_test.cpp | 12 +-
tests/taskstates_test.cpp | 2 +-
tests/types_test.cpp | 6 +-
tests/types_test.hpp | 2 +-
86 files changed, 801 insertions(+), 801 deletions(-)
rename rtt/{Method.hpp => OperationCaller.hpp} (61%)
rename rtt/base/{MethodBase.hpp => OperationCallerBase.hpp} (90%)
rename rtt/base/{MethodBaseInvoker.hpp => OperationCallerBaseInvoker.hpp} (86%)
rename rtt/internal/{LocalMethod.hpp => LocalOperationCaller.hpp} (90%)
rename rtt/internal/{MethodBinder.hpp => OperationCallerBinder.hpp} (89%)
rename rtt/internal/{MethodC.cpp => OperationCallerC.cpp} (79%)
rename rtt/internal/{MethodC.hpp => OperationCallerC.hpp} (83%)
rename rtt/internal/{RemoteMethod.hpp => RemoteOperationCaller.hpp} (81%)
rename rtt/transports/corba/{CorbaMethodFactory.cpp => CorbaOperationCallerFactory.cpp} (79%)
rename rtt/transports/corba/{CorbaMethodFactory.hpp => CorbaOperationCallerFactory.hpp} (91%)
Preparing rc1
On Thu, Aug 12, 2010 at 4:14 PM, Markus Klotzbuecher
<markus [dot] klotzbuecher [..] ...> wrote:
> On Mon, Aug 02, 2010 at 05:44:10PM +0200, Peter Soetens wrote:
>> On Monday 02 August 2010 11:12:06 Peter Soetens wrote:
>> > We've decided during the dev meeting that some changes need to be done
>> > before we release. These are (from the wiki):
>> ...
>> >
>> > f. We will rename 'Method' to 'OperationCaller'; 'ServiceProvider' to
[quote from Peters orig mail...]
Method didn't explain it and was probably too confusing to
newcomers and even for 1.x users
[/quote]
> Here comes Method -> OperationCaller. It wipes the existence of
> "Method" from rtt.
So, IIUC, you guys thought OperationCaller would be _more_
selfexplaining for newcomers and existing users than Method?
To me, an OperationCaller seems "somebody" (active) that calls
operations. Which is _not at all_ what I have in mind with method...
Just my 2 cents (I know I'm hopelessly late with this email, but
Peter's orig email was probably far too long to read when just
returning from holidays :-)...
Klaas
--
Orocos-Dev mailing list
Orocos-Dev [..] ...
http://lists.mech.kuleuven.be/mailman/listinfo/orocos-dev
Preparing rc1
On Thursday 12 August 2010 16:29:24 Klaas Gadeyne wrote:
> On Thu, Aug 12, 2010 at 4:14 PM, Markus Klotzbuecher
>
> <markus [dot] klotzbuecher [..] ...> wrote:
> > On Mon, Aug 02, 2010 at 05:44:10PM +0200, Peter Soetens wrote:
> >> On Monday 02 August 2010 11:12:06 Peter Soetens wrote:
> >> > We've decided during the dev meeting that some changes need to be done
> >> > before we release. These are (from the wiki):
> >>
> >> ...
> >>
> >> > f. We will rename 'Method' to 'OperationCaller'; 'ServiceProvider' to
>
> [quote from Peters orig mail...]
> Method didn't explain it and was probably too confusing to
> newcomers and even for 1.x users
> [/quote]
>
> > Here comes Method -> OperationCaller. It wipes the existence of
> > "Method" from rtt.
>
> So, IIUC, you guys thought OperationCaller would be _more_
> selfexplaining for newcomers and existing users than Method?
> To me, an OperationCaller seems "somebody" (active) that calls
> operations. Which is _not at all_ what I have in mind with method...
You're actually pretty close. It's the proxy you need that does the (remote)
call on an operation:
Peter
Preparing rc1
On Thu, Aug 12, 2010 at 4:52 PM, Peter Soetens <peter [..] ...> wrote:
> On Thursday 12 August 2010 16:29:24 Klaas Gadeyne wrote:
>> On Thu, Aug 12, 2010 at 4:14 PM, Markus Klotzbuecher
>>
>> <markus [dot] klotzbuecher [..] ...> wrote:
>> > On Mon, Aug 02, 2010 at 05:44:10PM +0200, Peter Soetens wrote:
>> >> On Monday 02 August 2010 11:12:06 Peter Soetens wrote:
>> >> > We've decided during the dev meeting that some changes need to be done
>> >> > before we release. These are (from the wiki):
>> >>
>> >> ...
>> >>
>> >> > f. We will rename 'Method' to 'OperationCaller'; 'ServiceProvider' to
>>
>> [quote from Peters orig mail...]
>> Method didn't explain it and was probably too confusing to
>> newcomers and even for 1.x users
>> [/quote]
>>
>> > Here comes Method -> OperationCaller. It wipes the existence of
>> > "Method" from rtt.
>>
>> So, IIUC, you guys thought OperationCaller would be _more_
>> selfexplaining for newcomers and existing users than Method?
>> To me, an OperationCaller seems "somebody" (active) that calls
>> operations. Which is _not at all_ what I have in mind with method...
>
> You're actually pretty close. It's the proxy you need that does the (remote)
> call on an operation:
>
>
OK. But that would mean that the statement "We will rename 'Method'
to 'OperationCaller'" was at least a huge oversimplification of what
Markus' patch achieves, ie.
the statement does _not_ imply that
Preparing rc1
Hi Klaas,
On Thu, Aug 12, 2010 at 04:29:24PM +0200, Klaas Gadeyne wrote:
> On Thu, Aug 12, 2010 at 4:14 PM, Markus Klotzbuecher
> <markus [dot] klotzbuecher [..] ...> wrote:
> > On Mon, Aug 02, 2010 at 05:44:10PM +0200, Peter Soetens wrote:
> >> On Monday 02 August 2010 11:12:06 Peter Soetens wrote:
> >> > We've decided during the dev meeting that some changes need to be done
> >> > before we release. These are (from the wiki):
> >> ...
> >> >
> >> > f. We will rename 'Method' to 'OperationCaller'; 'ServiceProvider' to
>
> [quote from Peters orig mail...]
> Method didn't explain it and was probably too confusing to
> newcomers and even for 1.x users
> [/quote]
>
> > Here comes Method -> OperationCaller. It wipes the existence of
> > "Method" from rtt.
>
> So, IIUC, you guys thought OperationCaller would be _more_
> selfexplaining for newcomers and existing users than Method?
> To me, an OperationCaller seems "somebody" (active) that calls
> operations. Which is _not at all_ what I have in mind with method...
No, we realize it is not self explaining, but at least
"OperationCaller" does not suggest the wrong thing. The problem with
'Method' is that is suggest to be a synchronous OO like call, while in
rtt-2.0 it can be both synchronous or asynchronous. Of course ideally
the name does explain the Right Thing. Suggestions welcome...
> Just my 2 cents (I know I'm hopelessly late with this email, but
> Peter's orig email was probably far too long to read when just
> returning from holidays :-)...
:-)
Markus