You can subscribe to this list here.
| 2007 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(11) |
Oct
|
Nov
|
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2008 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Jendrik J. <Jen...@tu...> - 2008-03-12 07:54:27
|
Version 0.8 of the Reuseware Composition Framework has been released and is now available for download. With this release, the Reuseware Composition Framework fully supports metamodel-based languages. New concepts and new tooling make it even easier to define composition systems for arbitrary languages. The core of the framework has been rewritten for this version: Reuseware-based composition systems now integrate smoothly with many Eclipse- and EMF-based tools. * Visit: http://reuseware.org * Learn about the new features of Reuseware watching this screencast that introduces a composition system for UML: http://reuseware.org/index.php/UML_Activity_Diagram_Extension_Screencast * Learn more about different applications of Reuseware for modeling languages: http://reuseware.org/index.php/Applications * Install Reuseware and try it out yourself! http://reuseware.org/index.php/Reuseware_Installation_Screencast |
|
From: Jendrik J. <jen...@tu...> - 2007-09-17 07:29:16
|
Hi,
I won't reply in detail. I think we should discuss this offline. I
wonder if you really need this type casting, or if the two types
(QuotedString and Location) should actually both be replaced by the
primitive type String. Then we would need primitive types in the type
system and need to define how primitive elements can be composed. Which
seems to be the most natural way for me.
The "casting" you propose may be incompatible wit the type system we
have, since we already have a type hierarchy for which casting could be
introduced.
Cheers,
Jendrik
Jakob Henriksson wrote:
> On Fri, 07 Sep 2007 23:38:44 +0200, Sven Karol
> <s78...@in...> wrote:
>
>> Hello again!
>>
>> We could do something which compares attribute types of two fragment
>> types to determine if a cast is possible. And if the attributes are
>> compatible we could create a new fragment of the type to which we want
>> to cast having the same values as the old fragment. But this is in fact
>> not casting, it is more like cloning or converting, since casting (in
>> the classical java sence) allways threats one object/fragment which
>> might be referenced by different variables/fragmentlists.
>>
>> >However, I'm guessing that this situation will appear in other
>> scenarios
>> >in the future as well. So, the question is what we should do.
>>
>> It happend allready to me, but I thought the string concatenation was
>> the way to go because it was implemented and used in some examples.
>
> Right, it works, which is nice for the moment. But in the long run it's
> not really desirable, since it is type unsafe.
>
> Cheers,
> Jakob
>
>> Sven.
>>
>>
>>
>>
>> Jakob Henriksson schrieb:
>>> Hi,
>>>
>>> They might not be type compatible, I'm not really sure. What I'm sure
>>> about is that I want a solution which doesn't step outside the type
>>> system (which is currently the case). Maybe a solution for Modular
>>> Xcerpt is possible to find, by using different types from Xcerpt, not
>>> to use componentmodel.Location etc. I don't know exactly in this very
>>> moment how it can be solved, but probably somehow.
>>>
>>> However, I'm guessing that this situation will appear in other
>>> scenarios in the future as well. So, the question is what we should do.
>>>
>>> Going back to the example. What I want to bind is a QuotedString (i.e.
>>> the slot). What I have is a Location. The value of a location is a
>>> string. If you define a QuotedString to be:
>>>
>>> QuotedString = "\"" value:S "\"";
>>>
>>> (or something to that effect), then the values of Location and
>>> QuotedString are really the same. Here, the '"'s are really just
>>> concrete syntax, aren't they? Somehow it seems that the values from
>>> the different types in this case can be cast to each other (it might
>>> not always be possible, but in this case it is, which is why we could
>>> successfully employ a cast).
>>>
>>> Anyway, discussion will hopefully continue.
>>>
>>> Please CC "Reuseware Developer"
>>> <reu...@li...> on all mailing discussions
>>> so that everybody can follow the discussions and so that it will end
>>> up in the mailing list archives later on. It will be interesting to
>>> have. It also shows some activity to the outside world ;)
>>>
>>> Cheers,
>>> Jakob
>>>
>>>
>>> On Fri, 07 Sep 2007 17:37:20 +0200, Sven Karol
>>> <s78...@in...> wrote:
>>>
>>>
>>>> Hi!
>>>>
>>>> I really dont know if a simple cast would be the right solution here,
>>>> since "componentmodel.Location" and "xcerpt.QuotedString" are not
>>>> type compatible (aren't they?). Because of that, you really need
>>>> that information about concrete syntax as it is used by the string
>>>> concatenation, so something like
>>>>
>>>> > bind moduleID on qtWrapper with
>>>> (xcerpt.QuotedString)'"'moduleID'"'.mxcerpt;
>>>>
>>>> is possible to be implemented. If we really want to have
>>>>
>>>> > bind moduleID on qtWrapper with (xcerpt.QuotedString)moduleID;
>>>>
>>>> reuseware would have to check all concrete Syntaxes registered as
>>>> parser/printer for "xcerpt.QuotedString" for prefixes and suffixes
>>>> ('"' and '"' in the case of mxcerpt) and do the string concatenation
>>>> internally. Of course this would work in some very special cases only
>>>> and has no clear semantics to the user. Additionally I currently do
>>>> not know if the concrete Syntax is accessible as far as one would
>>>> need for implementation of that feature, but I guess not.
>>>>
>>>>
>>>> greetz,
>>>> Sven.
>>>>
>>>
>>>
>>> -------------------------------------------------------------------------
>>> This SF.net email is sponsored by: Splunk Inc.
>>> Still grepping through log files to find problems? Stop.
>>> Now Search log events and configuration files using AJAX and a browser.
>>> Download your FREE copy of Splunk now >> http://get.splunk.com/
>>> _______________________________________________
>>> Reuseware-developer mailing list
>>> Reu...@li...
>>> https://lists.sourceforge.net/lists/listinfo/reuseware-developer
>>>
>
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2005.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Reuseware-developer mailing list
> Reu...@li...
> https://lists.sourceforge.net/lists/listinfo/reuseware-developer
|
|
From: Jendrik J. <jen...@tu...> - 2007-09-17 07:20:38
|
Hi,
to "extend" a language, you define a new (abstract syntax) grammar and
refer in it to constructs of other languages ("language.construct"
notation) to reuse them.
The concrete syntax, you should probably re-define completely (or use
the inheritance mechanism (EXTENDS keyword), which does not always work
very well yet). It does not influence the interpretation. Note, that the
first rule in the concrete syntax will determine the start symbol for
the parser. So the concrete syntax definition for an extended
composition language should start with the rule for
"minimalcl.CompositionProgram".
Cheers,
Jendrik
Jakob Henriksson wrote:
> Hi,
>
> Yes, that would of course be ideal. But I never tried to extend an
> extended language before. Even though conceptually there is no real
> difference, it doesn't seem to be straight-forward from a practical
> point-of-view. But, I will try it out a little and report back on my
> experiences ;)
>
> Cheers,
> Jakob
>
> On Wed, 12 Sep 2007 10:09:15 +0200, Steffen Zschaler
> <Ste...@tu...> wrote:
>
>> Hi,
>>
>> I'm not sure, but wouldn't it be better to develop a new plugin with
>> only your new concepts instead of changing
>> de.tudresden.reuseware.fracola? And couldn't you, there, define a new
>> language using the grammar inheritance mechanisms of Reuseware?
>>
>> Just guessing...
>>
>> Steffen
>>
>> Jakob Henriksson schrieb:
>>> Hi again,
>>>
>>> It's not what it seems, I'm not talking to myself. Instead I talked to
>>> Steffen offline who pointed me in the right direction. New interpreters
>>> for the composition language can be added to
>>> de.tudresden.reuseware.fracola and registered in the corresponding
>>> plugin.xml file (but perhaps no-one should commit any drastic changes
>>> without checking with the people involved first? Which I guess is Sven
>>> now?) Anyway, I tried it on my local copy and it worked fine.
>>>
>>> But, then it becomes interesting how one can extend the basiccl language
>>> into a specific composition language used for a specific DCS (dedicated
>>> composition system). For example, if I want a "callmytool" construct in
>>> the language in which I write composition operators for Modular Xcerpt,
>>> how do I extend the basiccl language into 'mybasiccl' so I only make
>>> modifications to this extension and not the core language (basiccl)?
>>>
>>> The search continues...
>>>
>>> Jakob
>>>
>>> On Tue, 11 Sep 2007 14:11:23 +0200, Jakob Henriksson
>>> <jak...@tu...> wrote:
>>>
>>>
>>>> Hi hackers,
>>>>
>>>> For some experimental development I want to have the possibility to
>>>> call
>>>> an external tool during execution of a composition operator, i.e, to
>>>> write something like this:
>>>>
>>>> exec("path-to-tool", param_1, ..., param_n);
>>>>
>>>> or perhaps even something more specific:
>>>>
>>>> USEMYTOOL WITH PARAMS param_1, ..., param_n;
>>>>
>>>> I can extend the composition language to allow such statements, but
>>>> where can I treat the parameters and implement the actions to take on
>>>> execution of such a statement?
>>>>
>>>> Can someone point me in the direction, or describe how to create some
>>>> boiler-plate code that can later be augmented for the exact purpose of
>>>> the execution of those statements?
>>>>
>>>> In short: I want a Java-method to interpret those statements, where
>>>> does
>>>> the code go?
>>>>
>>>> Thanks,
>>>> Jakob
>>>>
>>>>
>>>
>>>
>>>
>
>
>
--
Dipl.-Medieninf. Jendrik Johannes
Research Assistant
Technische Universität Dresden
Department of Computer Science
Phone +49 351 463 42073
Fax +49 351 463 38459
Email jen...@tu...
|
|
From: Jakob H. <jak...@tu...> - 2007-09-17 07:06:50
|
Hi,
Yes, that would of course be ideal. But I never tried to extend an
extended language before. Even though conceptually there is no real
difference, it doesn't seem to be straight-forward from a practical
point-of-view. But, I will try it out a little and report back on my
experiences ;)
Cheers,
Jakob
On Wed, 12 Sep 2007 10:09:15 +0200, Steffen Zschaler
<Ste...@tu...> wrote:
> Hi,
>
> I'm not sure, but wouldn't it be better to develop a new plugin with
> only your new concepts instead of changing
> de.tudresden.reuseware.fracola? And couldn't you, there, define a new
> language using the grammar inheritance mechanisms of Reuseware?
>
> Just guessing...
>
> Steffen
>
> Jakob Henriksson schrieb:
>> Hi again,
>>
>> It's not what it seems, I'm not talking to myself. Instead I talked to
>> Steffen offline who pointed me in the right direction. New interpreters
>> for the composition language can be added to
>> de.tudresden.reuseware.fracola and registered in the corresponding
>> plugin.xml file (but perhaps no-one should commit any drastic changes
>> without checking with the people involved first? Which I guess is Sven
>> now?) Anyway, I tried it on my local copy and it worked fine.
>>
>> But, then it becomes interesting how one can extend the basiccl language
>> into a specific composition language used for a specific DCS (dedicated
>> composition system). For example, if I want a "callmytool" construct in
>> the language in which I write composition operators for Modular Xcerpt,
>> how do I extend the basiccl language into 'mybasiccl' so I only make
>> modifications to this extension and not the core language (basiccl)?
>>
>> The search continues...
>>
>> Jakob
>>
>> On Tue, 11 Sep 2007 14:11:23 +0200, Jakob Henriksson
>> <jak...@tu...> wrote:
>>
>>
>>> Hi hackers,
>>>
>>> For some experimental development I want to have the possibility to
>>> call
>>> an external tool during execution of a composition operator, i.e, to
>>> write something like this:
>>>
>>> exec("path-to-tool", param_1, ..., param_n);
>>>
>>> or perhaps even something more specific:
>>>
>>> USEMYTOOL WITH PARAMS param_1, ..., param_n;
>>>
>>> I can extend the composition language to allow such statements, but
>>> where can I treat the parameters and implement the actions to take on
>>> execution of such a statement?
>>>
>>> Can someone point me in the direction, or describe how to create some
>>> boiler-plate code that can later be augmented for the exact purpose of
>>> the execution of those statements?
>>>
>>> In short: I want a Java-method to interpret those statements, where
>>> does
>>> the code go?
>>>
>>> Thanks,
>>> Jakob
>>>
>>>
>>
>>
>>
>>
>
--
REWERSE WG I3 Assistant
Dresden - Technical University
Office: +49 (0) 351 463 38608
Mobile: +49 (0) 172 490 3086
|
|
From: Sven K. <s78...@in...> - 2007-09-12 09:04:29
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Hi!<br>
<br>
For me it would be intresting what kind of tool you want to be called
by your exec statement.<br>
<br>
I had allready something similar in mind - i wanted to allow the
invocation of the execution of complex composers in composition recipes
and additionally I wanted to establish the usage of the
Interpreterinterface as an alternative to the standard complex
composers, which would be very useful for very complex composers. But
for this we would need to clearly redefine the componentmodel.<br>
<br>
<blockquote>
<pre wrap="">>But, then it becomes interesting how one can extend the basiccl language
>into a specific composition language used for a specific DCS (dedicated
>composition system). For example, if I want a "callmytool" construct in
>the language in which I write composition operators for Modular Xcerpt,
>how do I extend the basiccl language into 'mybasiccl' so I only make
>modifications to this extension and not the core language (basiccl)?</pre>
</blockquote>
You would have to go the same way as with reuselanguages. Firstly you
create a new AS mybasiccl containing the abstract syntax of the exec
operator, then you define it as a minimalcl.CompositionStatement = ...
. Additionally you would have to somehow refer to basiccl to include
its features in the model of mybasiccl too (maby we need some import
statement in the AS language....). Im currently not sure how this could
be done, a simple redefinition might do it (for example try to include
"basiccl.Prune;" in the AS of mybasiccl).<br>
The concrete syntax would finally be defined like<br>
<br>
<blockquote>CONCRETESYNTAX mybc FOR mybasiccl EXTENDS bc<br>
<br>
minimalcl.CompositionProgram ::= "composition" "program"
statementList;<br>
minimalcl.ComposerDefinition ::= "define" "composer" construct "("
arguments ("," arguments)* ")" "{" statementList ("return"
returnFragment ";")? "}";<br>
<br>
ToolExcecution ::= "exec" "(" .....")" ";" ;<br>
<br>
</blockquote>
Now you should be able to use mybs instead of bc. (Maby something more
is needed to be programmed in the core...not sure)<br>
<br>
hopefully helped,<br>
Sven.<br>
<br>
PS: If you really think, the toolexecution is useful, you should
introduce it into bc ;).<br>
<br>
Jakob Henriksson schrieb:
<blockquote cite="mid...@st..."
type="cite">
<pre wrap="">Hi again,
It's not what it seems, I'm not talking to myself. Instead I talked to
Steffen offline who pointed me in the right direction. New interpreters
for the composition language can be added to
de.tudresden.reuseware.fracola and registered in the corresponding
plugin.xml file (but perhaps no-one should commit any drastic changes
without checking with the people involved first? Which I guess is Sven
now?) Anyway, I tried it on my local copy and it worked fine.
But, then it becomes interesting how one can extend the basiccl language
into a specific composition language used for a specific DCS (dedicated
composition system). For example, if I want a "callmytool" construct in
the language in which I write composition operators for Modular Xcerpt,
how do I extend the basiccl language into 'mybasiccl' so I only make
modifications to this extension and not the core language (basiccl)?
The search continues...
Jakob
On Tue, 11 Sep 2007 14:11:23 +0200, Jakob Henriksson
<a class="moz-txt-link-rfc2396E" href="mailto:jak...@tu..."><jak...@tu...></a> wrote:
</pre>
<blockquote type="cite">
<pre wrap="">Hi hackers,
For some experimental development I want to have the possibility to call
an external tool during execution of a composition operator, i.e, to
write something like this:
exec("path-to-tool", param_1, ..., param_n);
or perhaps even something more specific:
USEMYTOOL WITH PARAMS param_1, ..., param_n;
I can extend the composition language to allow such statements, but
where can I treat the parameters and implement the actions to take on
execution of such a statement?
Can someone point me in the direction, or describe how to create some
boiler-plate code that can later be augmented for the exact purpose of
the execution of those statements?
In short: I want a Java-method to interpret those statements, where does
the code go?
Thanks,
Jakob
</pre>
</blockquote>
<pre wrap=""><!---->
</pre>
</blockquote>
<br>
</body>
</html>
|
|
From: Steffen Z. <Ste...@tu...> - 2007-09-12 08:09:02
|
Hi,
I'm not sure, but wouldn't it be better to develop a new plugin with
only your new concepts instead of changing
de.tudresden.reuseware.fracola? And couldn't you, there, define a new
language using the grammar inheritance mechanisms of Reuseware?
Just guessing...
Steffen
Jakob Henriksson schrieb:
> Hi again,
>
> It's not what it seems, I'm not talking to myself. Instead I talked to
> Steffen offline who pointed me in the right direction. New interpreters
> for the composition language can be added to
> de.tudresden.reuseware.fracola and registered in the corresponding
> plugin.xml file (but perhaps no-one should commit any drastic changes
> without checking with the people involved first? Which I guess is Sven
> now?) Anyway, I tried it on my local copy and it worked fine.
>
> But, then it becomes interesting how one can extend the basiccl language
> into a specific composition language used for a specific DCS (dedicated
> composition system). For example, if I want a "callmytool" construct in
> the language in which I write composition operators for Modular Xcerpt,
> how do I extend the basiccl language into 'mybasiccl' so I only make
> modifications to this extension and not the core language (basiccl)?
>
> The search continues...
>
> Jakob
>
> On Tue, 11 Sep 2007 14:11:23 +0200, Jakob Henriksson
> <jak...@tu...> wrote:
>
>
>> Hi hackers,
>>
>> For some experimental development I want to have the possibility to call
>> an external tool during execution of a composition operator, i.e, to
>> write something like this:
>>
>> exec("path-to-tool", param_1, ..., param_n);
>>
>> or perhaps even something more specific:
>>
>> USEMYTOOL WITH PARAMS param_1, ..., param_n;
>>
>> I can extend the composition language to allow such statements, but
>> where can I treat the parameters and implement the actions to take on
>> execution of such a statement?
>>
>> Can someone point me in the direction, or describe how to create some
>> boiler-plate code that can later be augmented for the exact purpose of
>> the execution of those statements?
>>
>> In short: I want a Java-method to interpret those statements, where does
>> the code go?
>>
>> Thanks,
>> Jakob
>>
>>
>
>
>
>
--
Dr. rer. nat. Steffen Zschaler
Research Assistant
Technische Universität Dresden
Department of Computer Science
Phone +49 351 463 38555
Fax +49 351 463 38459
Email Ste...@tu...
WWW http://www.steffen-zschaler.de/
---
Also, consider coming to OCL4All, the OCL workshop at
MoDELS 2007:
http://st.inf.tu-dresden.de/Ocl4All2007
|
|
From: Jakob H. <jak...@tu...> - 2007-09-12 07:58:51
|
Hi again,
It's not what it seems, I'm not talking to myself. Instead I talked to
Steffen offline who pointed me in the right direction. New interpreters
for the composition language can be added to
de.tudresden.reuseware.fracola and registered in the corresponding
plugin.xml file (but perhaps no-one should commit any drastic changes
without checking with the people involved first? Which I guess is Sven
now?) Anyway, I tried it on my local copy and it worked fine.
But, then it becomes interesting how one can extend the basiccl language
into a specific composition language used for a specific DCS (dedicated
composition system). For example, if I want a "callmytool" construct in
the language in which I write composition operators for Modular Xcerpt,
how do I extend the basiccl language into 'mybasiccl' so I only make
modifications to this extension and not the core language (basiccl)?
The search continues...
Jakob
On Tue, 11 Sep 2007 14:11:23 +0200, Jakob Henriksson
<jak...@tu...> wrote:
> Hi hackers,
>
> For some experimental development I want to have the possibility to call
> an external tool during execution of a composition operator, i.e, to
> write something like this:
>
> exec("path-to-tool", param_1, ..., param_n);
>
> or perhaps even something more specific:
>
> USEMYTOOL WITH PARAMS param_1, ..., param_n;
>
> I can extend the composition language to allow such statements, but
> where can I treat the parameters and implement the actions to take on
> execution of such a statement?
>
> Can someone point me in the direction, or describe how to create some
> boiler-plate code that can later be augmented for the exact purpose of
> the execution of those statements?
>
> In short: I want a Java-method to interpret those statements, where does
> the code go?
>
> Thanks,
> Jakob
>
--
REWERSE WG I3 Assistant
Dresden - Technical University
Office: +49 (0) 351 463 38608
Mobile: +49 (0) 172 490 3086
|
|
From: Jakob H. <jak...@tu...> - 2007-09-11 12:12:03
|
Hi hackers,
For some experimental development I want to have the possibility to call
an external tool during execution of a composition operator, i.e, to write
something like this:
exec("path-to-tool", param_1, ..., param_n);
or perhaps even something more specific:
USEMYTOOL WITH PARAMS param_1, ..., param_n;
I can extend the composition language to allow such statements, but where
can I treat the parameters and implement the actions to take on execution
of such a statement?
Can someone point me in the direction, or describe how to create some
boiler-plate code that can later be augmented for the exact purpose of the
execution of those statements?
In short: I want a Java-method to interpret those statements, where does
the code go?
Thanks,
Jakob
--
REWERSE WG I3 Assistant
Dresden - Technical University
Office: +49 (0) 351 463 38608
Mobile: +49 (0) 172 490 3086
|
|
From: Jakob H. <jak...@tu...> - 2007-09-08 00:55:25
|
On Fri, 07 Sep 2007 23:38:44 +0200, Sven Karol =
<s78...@in...> wrote:
> Hello again!
>
> We could do something which compares attribute types of two fragment =
> types to determine if a cast is possible. And if the attributes are =
> compatible we could create a new fragment of the type to which we wan=
t =
> to cast having the same values as the old fragment. But this is in fac=
t =
> not casting, it is more like cloning or converting, since casting (in =
=
> the classical java sence) allways threats one object/fragment which =
> might be referenced by different variables/fragmentlists.
>
> >However, I'm guessing that this situation will appear in other =
> scenarios
> >in the future as well. So, the question is what we should do.
>
> It happend allready to me, but I thought the string concatenation was =
=
> the way to go because it was implemented and used in some examples.
Right, it works, which is nice for the moment. But in the long run it's =
=
not really desirable, since it is type unsafe.
Cheers,
Jakob
>
> Sven.
>
>
>
>
> Jakob Henriksson schrieb:
>> Hi,
>>
>> They might not be type compatible, I'm not really sure. What I'm sure=
=
>> about is that I want a solution which doesn't step outside the type =
>> system (which is currently the case). Maybe a solution for Modular =
>> Xcerpt is possible to find, by using different types from Xcerpt, no=
t =
>> to use componentmodel.Location etc. I don't know exactly in this ver=
y =
>> moment how it can be solved, but probably somehow.
>>
>> However, I'm guessing that this situation will appear in other =
>> scenarios in the future as well. So, the question is what we should =
do.
>>
>> Going back to the example. What I want to bind is a QuotedString (i.e=
. =
>> the slot). What I have is a Location. The value of a location is a =
>> string. If you define a QuotedString to be:
>>
>> QuotedString =3D "\"" value:S "\"";
>>
>> (or something to that effect), then the values of Location and =
>> QuotedString are really the same. Here, the '"'s are really just =
>> concrete syntax, aren't they? Somehow it seems that the values from =
=
>> the different types in this case can be cast to each other (it might=
=
>> not always be possible, but in this case it is, which is why we coul=
d =
>> successfully employ a cast).
>>
>> Anyway, discussion will hopefully continue.
>>
>> Please CC "Reuseware Developer" =
>> <reu...@li...> on all mailing discussion=
s =
>> so that everybody can follow the discussions and so that it will end=
=
>> up in the mailing list archives later on. It will be interesting to =
=
>> have. It also shows some activity to the outside world ;)
>>
>> Cheers,
>> Jakob
>>
>>
>> On Fri, 07 Sep 2007 17:37:20 +0200, Sven Karol =
>> <s78...@in...> wrote:
>>
>>
>>> Hi!
>>>
>>> I really dont know if a simple cast would be the right solution here=
, =
>>> since "componentmodel.Location" and "xcerpt.QuotedString" are not =
>>> type compatible (aren't they?). Because of that, you really need =
>>> that information about concrete syntax as it is used by the string=
=
>>> concatenation, so something like
>>>
>>> > bind moduleID on qtWrapper with =
>>> (xcerpt.QuotedString)'"'moduleID'"'.mxcerpt;
>>>
>>> is possible to be implemented. If we really want to have
>>>
>>> > bind moduleID on qtWrapper with (xcerpt.QuotedString)moduleID;=
>>>
>>> reuseware would have to check all concrete Syntaxes registered as =
>>> parser/printer for "xcerpt.QuotedString" for prefixes and suffixes =
>>> ('"' and '"' in the case of mxcerpt) and do the string concatenatio=
n =
>>> internally. Of course this would work in some very special cases onl=
y =
>>> and has no clear semantics to the user. Additionally I currently do =
=
>>> not know if the concrete Syntax is accessible as far as one would =
>>> need for implementation of that feature, but I guess not.
>>>
>>>
>>> greetz,
>>> Sven.
>>>
>>
>>
>>
>> ---------------------------------------------------------------------=
----
>> This SF.net email is sponsored by: Splunk Inc.
>> Still grepping through log files to find problems? Stop.
>> Now Search log events and configuration files using AJAX and a browse=
r.
>> Download your FREE copy of Splunk now >> http://get.splunk.com/
>> _______________________________________________
>> Reuseware-developer mailing list
>> Reu...@li...
>> https://lists.sourceforge.net/lists/listinfo/reuseware-developer
>>
|
|
From: Sven K. <s78...@in...> - 2007-09-07 21:38:53
|
Hello again!
We could do something which compares attribute types of two fragment
types to determine if a cast is possible. And if the attributes are
compatible we could create a new fragment of the type to which we want
to cast having the same values as the old fragment. But this is in fact
not casting, it is more like cloning or converting, since casting (in
the classical java sence) allways threats one object/fragment which
might be referenced by different variables/fragmentlists.
>However, I'm guessing that this situation will appear in other scenarios
>in the future as well. So, the question is what we should do.
It happend allready to me, but I thought the string concatenation was
the way to go because it was implemented and used in some examples.
Sven.
Jakob Henriksson schrieb:
> Hi,
>
> They might not be type compatible, I'm not really sure. What I'm sure
> about is that I want a solution which doesn't step outside the type system
> (which is currently the case). Maybe a solution for Modular Xcerpt is
> possible to find, by using different types from Xcerpt, not to use
> componentmodel.Location etc. I don't know exactly in this very moment how
> it can be solved, but probably somehow.
>
> However, I'm guessing that this situation will appear in other scenarios
> in the future as well. So, the question is what we should do.
>
> Going back to the example. What I want to bind is a QuotedString (i.e. the
> slot). What I have is a Location. The value of a location is a string. If
> you define a QuotedString to be:
>
> QuotedString = "\"" value:S "\"";
>
> (or something to that effect), then the values of Location and
> QuotedString are really the same. Here, the '"'s are really just concrete
> syntax, aren't they? Somehow it seems that the values from the different
> types in this case can be cast to each other (it might not always be
> possible, but in this case it is, which is why we could successfully
> employ a cast).
>
> Anyway, discussion will hopefully continue.
>
> Please CC "Reuseware Developer"
> <reu...@li...> on all mailing discussions so
> that everybody can follow the discussions and so that it will end up in
> the mailing list archives later on. It will be interesting to have. It
> also shows some activity to the outside world ;)
>
> Cheers,
> Jakob
>
>
> On Fri, 07 Sep 2007 17:37:20 +0200, Sven Karol
> <s78...@in...> wrote:
>
>
>> Hi!
>>
>> I really dont know if a simple cast would be the right solution here,
>> since "componentmodel.Location" and "xcerpt.QuotedString" are not type
>> compatible (aren't they?). Because of that, you really need that
>> information about concrete syntax as it is used by the string
>> concatenation, so something like
>>
>> > bind moduleID on qtWrapper with
>> (xcerpt.QuotedString)'"'moduleID'"'.mxcerpt;
>>
>> is possible to be implemented. If we really want to have
>>
>> > bind moduleID on qtWrapper with (xcerpt.QuotedString)moduleID;
>>
>> reuseware would have to check all concrete Syntaxes registered as
>> parser/printer for "xcerpt.QuotedString" for prefixes and suffixes ('"'
>> and '"' in the case of mxcerpt) and do the string concatenation
>> internally. Of course this would work in some very special cases only
>> and has no clear semantics to the user. Additionally I currently do not
>> know if the concrete Syntax is accessible as far as one would need for
>> implementation of that feature, but I guess not.
>>
>>
>> greetz,
>> Sven.
>>
>
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems? Stop.
> Now Search log events and configuration files using AJAX and a browser.
> Download your FREE copy of Splunk now >> http://get.splunk.com/
> _______________________________________________
> Reuseware-developer mailing list
> Reu...@li...
> https://lists.sourceforge.net/lists/listinfo/reuseware-developer
>
|
|
From: Jakob H. <jak...@tu...> - 2007-09-07 19:20:19
|
Hi,
They might not be type compatible, I'm not really sure. What I'm sure =
about is that I want a solution which doesn't step outside the type syst=
em =
(which is currently the case). Maybe a solution for Modular Xcerpt is =
possible to find, by using different types from Xcerpt, not to use =
componentmodel.Location etc. I don't know exactly in this very moment ho=
w =
it can be solved, but probably somehow.
However, I'm guessing that this situation will appear in other scenarios=
=
in the future as well. So, the question is what we should do.
Going back to the example. What I want to bind is a QuotedString (i.e. t=
he =
slot). What I have is a Location. The value of a location is a string. I=
f =
you define a QuotedString to be:
QuotedString =3D "\"" value:S "\"";
(or something to that effect), then the values of Location and =
QuotedString are really the same. Here, the '"'s are really just concret=
e =
syntax, aren't they? Somehow it seems that the values from the different=
=
types in this case can be cast to each other (it might not always be =
possible, but in this case it is, which is why we could successfully =
employ a cast).
Anyway, discussion will hopefully continue.
Please CC "Reuseware Developer" =
<reu...@li...> on all mailing discussions s=
o =
that everybody can follow the discussions and so that it will end up in =
=
the mailing list archives later on. It will be interesting to have. It =
also shows some activity to the outside world ;)
Cheers,
Jakob
On Fri, 07 Sep 2007 17:37:20 +0200, Sven Karol =
<s78...@in...> wrote:
> Hi!
>
> I really dont know if a simple cast would be the right solution here, =
=
> since "componentmodel.Location" and "xcerpt.QuotedString" are not typ=
e =
> compatible (aren't they?). Because of that, you really need that =
> information about concrete syntax as it is used by the string =
> concatenation, so something like
>
> > bind moduleID on qtWrapper with =
> (xcerpt.QuotedString)'"'moduleID'"'.mxcerpt;
>
> is possible to be implemented. If we really want to have
>
> > bind moduleID on qtWrapper with (xcerpt.QuotedString)moduleID;
>
> reuseware would have to check all concrete Syntaxes registered as =
> parser/printer for "xcerpt.QuotedString" for prefixes and suffixes ('"=
' =
> and '"' in the case of mxcerpt) and do the string concatenation =
> internally. Of course this would work in some very special cases only =
=
> and has no clear semantics to the user. Additionally I currently do no=
t =
> know if the concrete Syntax is accessible as far as one would need for=
=
> implementation of that feature, but I guess not.
>
>
> greetz,
> Sven.
|
|
From: Jakob H. <jak...@tu...> - 2007-09-07 14:29:01
|
Maybe the developer list is more appropriate for this... see below.
Cheers,
Jakob
------- Forwarded message -------
From: "Jakob Henriksson" <jak...@tu...>
To: "Reuseware Users" <reu...@li...>
Cc:
Subject: type casting in composition programs
Date: Fri, 07 Sep 2007 14:09:16 +0200
Hi,
One of the modular xcerpt composers currently look like this (slightly
modified from SVN version to show the point):
define composer modularxcerpt.QualifiedQueryTermComposer(moduleName,
queryTerm) {
// Resolve the fragment name into a location (URI, the module ID)
fragmentlist componentmodel.Location moduleID =3D ->moduleName;
// Use store: "out"
fragmentlist xcerpt.QueryTerm qtWrapper =3D
'store [ modul [ <<moduleID>> ], visibility [ "out" ], <<qTerm>>
]'.mxcerpt;
=
fragmentlist xcerpt.QuotedString quotedModuleID =3D '"' + moduleID
+ '"'.mxcerpt;
bind moduleID on qtWrapper with quotedModuleID;
=
// Bind intentional query term to store wrapper
bind qTerm on qtWrapper with queryTerm;
// Return store wrapper
return qtWrapper;
}
The QuotedString quotedModuleID is constructed with a "hack": untyped
string concatenation. I want to bind the slot 'moduleID' with the value =
of
the fragment moduleID (of type Location). Instead of Lines 10-11, removi=
ng
the "hack", I want to write:
bind moduleID on qtWrapper with (xcerpt.QuotedString)moduleID;
Thus casting the type of moduleID from Location to QuotedString (which i=
s
possible, since the value of the fragment can be represented both as a
Location and as a quoted string). Notice that the '"' of the quoted
strings are (should be) just concrete syntax, so they shouldn't be a
problem.
Is this a reasonable solution? Can we implement it? Is this relevant to
Sven's improvements of the composition language?
Let me know what you think.
Cheers,
Jakob
ps. is this the right forum for these kinds of issues? ds.
-- =
REWERSE WG I3 Assistant
Dresden - Technical University
Office: +49 (0) 351 463 38608
Mobile: +49 (0) 172 490 3086
|
|
From: Jendrik J. <jen...@tu...> - 2007-04-10 15:23:20
|
Hallo, ich habe euch alle auf der reuseware-devel Mailingliste eingetragen, welche dazu dienen soll interne Absprachen und Ankündigungen durchzuführen. Wenn jemand nicht auf der Liste seien möchte, bitte wieder austragen. :) Desweiteren kündige ich hiermit an, dass das zweiwöchige Treffen morgen wieder stattfindet, allerdings erst um 17 Uhr! Außerdem hat Jakob eine Wiki-Seite für die Treffen eingerichtet: ---- Dear all, I put up a Reuseware meetings page on the wiki: http://reuseware.sourceforge.net/index.php?title=Restricted:Reuseware_Meetings The idea was to have some sort of simple agenda proposal for every upcoming meeting there and perhaps also references to past meetings - as some sort of logging mechanism, at least for the agenda points. Of course, the meetings are quite flexible, but if you think of something between meetings that should be discussed, add it to the list and that way we will not forget it at the next meeting. So, if you want to bring something up at the next meeting, add it to the list and let's see how it works. Best regards, Jakob ---- Jendrik |