spdavids Posted October 30, 2012 Report Posted October 30, 2012 We have released GOOP Developmente Suite v4.5. Most important feature are: - Support for Actor Framework. Download installers for LV 2010 up to LV2012 and read more : www.symbio.com/goop Contatct goop@symbio.com for questions. Thanks, Stefan Davidsson and Mikael Holmström Symbio Sweden 1 Quote
MikaelH Posted October 30, 2012 Report Posted October 30, 2012 FYI we are working on documenation that soon will be ready. Here are just some images of what's new, (an image says more than 1000 words, and I don't have time to write to much right now) ------------------------------------------------------------------------------------------ To activate the ACTOR framework menus in GDS, you have to add the Framework library to the project. One easy way is to right click on My Computer When creating a class select to inherit from an Actor, and select a class Template When creating a class method in an actor class, the “Create AF class for this actor method” will be pre-ticked. If you change the connector pane of a method, you need to update the message class. To Then do: ..or.. ..or.. We’ve added some extra Actor analysis in the UML modeller. Other functions that is added are: For Icon editor: TEXT OCR Icons/glyphs support Smaller icons Cheers, Mike 1 Quote
MikaelH Posted October 31, 2012 Report Posted October 31, 2012 Cool! You are of course refeering to my post-signature, Yes, I'm very happy with the design ;-) 1 Quote
lvb Posted October 31, 2012 Report Posted October 31, 2012 Looks great! I am looking forward to testing this out with some Actor Framework projects. Quote
MikaelH Posted November 14, 2012 Report Posted November 14, 2012 I've created a video that goes through the new features: http://goop.endevo.net/GDS/videos/GDSFeatures4v5 One thing that isn't mentioned is that you now can have 20 classes in the project in the free version. Cheers, Mike Quote
lvb Posted November 14, 2012 Report Posted November 14, 2012 Is there a way to create icons with the default options for an entire class/library? I have some legacy code with no icons that I would like to update and I would really like to use the GDS icon editor. Quote
MikaelH Posted November 14, 2012 Report Posted November 14, 2012 Not yet, but give me a minute and see what I can come up with... Quote
MikaelH Posted November 15, 2012 Report Posted November 15, 2012 That was easy, I just added an extra input Just place the attached file in the Symbio-GDS folder: ..\LabVIEW 20xx\resource\Framework\Providers\Symbio_GDS And make a VI like this: Cheers, Mike GDSIconEditor_CreateVIIcon_AutoInput.vi 1 Quote
lvb Posted November 15, 2012 Report Posted November 15, 2012 That was easy, I just added an extra input Just place the attached file in the Symbio-GDS folder: ..\LabVIEW 20xx\resource\Framework\Providers\Symbio_GDS And make a VI like this: Cheers, Mike Thanks, this is great! Quote
burd Posted February 23, 2013 Report Posted February 23, 2013 Looks great! I am looking forward to testing this out with some Actor Framework projects. Hi Michael, GOOP 4.5 is great, but due to my ignorance it is hard to take advantage of it. I am trying to use the UML to generate all the classes needed to create a strategy pattern. From the picture attached (LAVA does not allow me to attach the UML file) you can see what I am trying to do. However, when I generate the code, the interface does not seem to be created. There is no way to apply the Fly method in the FlyWithWings class to the MallardDuck class. Probably I am doing something wrong....could you give me a help with that? Thanks Helcio Quote
MikaelH Posted February 23, 2013 Report Posted February 23, 2013 You’re right the interface isn't created, and that's because LabVIEW don't support Interface natively. Maybe a normal inheritance association will work for you. If not, there are ways of creating interfaces. I have a Design pattern, add-on you can add to a class to let it Implement an Interface class. But in your case just normal Inheritance might work just fine. Let me know how it goes. Cheers, Mike Quote
burd Posted February 24, 2013 Report Posted February 24, 2013 (edited) You’re right the interface isn't created, and that's because LabVIEW don't support Interface natively.Maybe a normal inheritance association will work for you. If not, there are ways of creating interfaces. I have a Design pattern, add-on you can add to a class to let it Implement an Interface class. But in your case just normal Inheritance might work just fine. Let me know how it goes. Cheers, Mike Hi Mikael I believe that using the GOOP 4.5 Interface template I was able to build the strategy pattern. Please, give a look and let me know. The goop 4.5 provides a easy way to build an interface. I tried other methods before like the Interface Framework but I found it far too cumbersome. I am more confident to work with OOP in Labview because I know that at least I have the interface support from Endevo GOOP (Why does't NI provide interface support????). I can live without constructors, but without interface I don't think I can. thanks for the tips! Helcio Simuduck.zip Edited February 24, 2013 by burd Quote
MikaelH Posted February 24, 2013 Report Posted February 24, 2013 I’m sure we’ll get interface sooner or later to LabVIEW, in the mean time we have to implement it ourselves in different ways. Here a thread and one example I use: http://lavag.org/topic/10621-interface/ I’ve not documented the Interface class template and how to use it, that comes with GDS. But here is a quick instruction, this design only makes sense to Referenced Objects. Add Interface Methods Create a Normal class that should implement the interface Add a design pattern: Interface This is what gets created Interface.zip Cheers, Mike 1 Quote
Ad Dekkers Posted April 1, 2013 Report Posted April 1, 2013 Hello Mikael, Where can i find the goop download page? (Your link doesn't work anymore) Regards, Ad Dekkers Quote
MikaelH Posted April 2, 2013 Report Posted April 2, 2013 Try the links to the right of this URL: http://www.symbio.com/services/qa-testing#goop Symbio has moved around and cleaned up there web pages, but not got it working properly yet. I've contacted them. //Mike Quote
MikaelH Posted April 2, 2013 Report Posted April 2, 2013 www.symbio.com/goop should be restored now Quote
burd Posted August 27, 2013 Report Posted August 27, 2013 Hello Mikael,I am sending the timer goop.vip file attached. In this example there is a class called timer created with the GDS,I do not know why the attribute "Number of Timers in Memory" is not being updated the way I think it should work. I would expect that when the class is created, this attribute is updated and somehow kept in memory, so that another object of the same class type can access and modify it. In the example sent, why the attribute Number of timers in memory (in the Example 1.vi and Example 2.vi ) are always resulting in 1? I would expect this value to be the total number of timer objects created, and in this case it is certainly more than 1. thanks Helcio Timer GOOP.vip Quote
MikaelH Posted August 27, 2013 Report Posted August 27, 2013 Hello Mikael,I am sending the timer goop.vip file attached. In this example there is a class called timer created with the GDS, I do not know why the attribute "Number of Timers in Memory" is not being updated the way I think it should work. I would expect that when the class is created, this attribute is updated and somehow kept in memory, so that another object of the same class type can access and modify it. goop attribute.png In the example sent, why the attribute Number of timers in memory (in the Example 1.vi and Example 2.vi ) are always resulting in 1? I would expect this value to be the total number of timer objects created, and in this case it is certainly more than 1. thanks Helcio Remember that the Object Attribute is unique to the wire coming out of Create. If you want to know the number of Timers created totally of one class, you have to either use Class Attributes (Add that Design Pattern to the class). Or you have to name the object and share the same object. Do you know how Class Attribute works, or should I create an example for you? BTW there is a bug, if you add the Debugger/Persistent Design pattern to the class (but you are not in this case), for LV 2013. This bug is being solved and GDS 4.7 will soon be released. Remember that the Object Attribute is unique to the wire coming out of Create.If you want to know the number of Timers created totally of one class, you have to either use Class Attributes (Add that Design Pattern to the class). Or you have to name the object and share the same object. Do you know how Class Attribute works, or should I create an example for you? BTW there is a bug, if you add the Debugger/Persistent Design pattern to the class (but you are not in this case), for LV 2013. This bug is being solved and GDS 4.7 will soon be released. Oops, I saw another thing; you are mixing by value and by reference in this class. You probably would like to go with By Reference in a class like this. Be sure you don’t modify the Class Private Data with the attributes you have done, move them into the file: ObjectAttributes.ctl, and use the IPE-Structure to modify them. Quote
burd Posted August 28, 2013 Report Posted August 28, 2013 (edited) Hello Mikael, I redone the timer based on the advices you gave me: Everything is now by ref, and the class atributes design pattern was apllied. Now the attribute is updated when the opject is created like this: Now it works,and the class attributes design pattern woks like magic. Now I have similar functionality to static variables in java (I think). If you can check and see if everything is really fine would be nice. Follow attached the package with the vis. Timer GOOP 2.vip Thank you for the help! Helcio Edited August 28, 2013 by burd Quote
MikaelH Posted August 30, 2013 Report Posted August 30, 2013 (edited) Hi Helcio You are getting closer and closer ;-) Everything looks good, but when you like to update the Number Of Timers that you store in the class attribute. Make sure you do that inside the same IPE structure.So do it something like this. And also, you don't need (and shouldn't), wire the Class Ref input to the Create method. This input is only used by the framework when you inherit a base class. Try to create an extended Timer and inherit it from your Timer class Edited August 30, 2013 by MikaelH Quote
burd Posted August 30, 2013 Report Posted August 30, 2013 Hi HelcioYou are getting closer and closer ;-) Everything looks good, but when you like to update the Number Of Timers that you store in the class attribute. Make sure you do that inside the same IPE structure. So do it something like this. IPE.png And also, you don't need (and shouldn't), wire the Class Ref input to the Create method. This input is only used by the framework when you inherit a base class. Try to create an extended Timer and inherit it from your Timer class Hello Mikael, I have modified the example as you suggested: and also created 2 extended classes to observe how the Create Class Method behaves for an extended object: And in example 3 are the extended classes at work: follow attached the files: hb_lib_goop_timer-1.0.0.4.vip Please, let me know if those procedures are fine, thanks again for your help! Helcio Quote
burd Posted August 30, 2013 Report Posted August 30, 2013 There was some minor modifications to the VIP files, and here follow it attached: Goop Timer 3.vip Quote
MikaelH Posted September 1, 2013 Report Posted September 1, 2013 It looks good. BTW in GOOP4 we decided to make the object attribute protected. That means you can use your parent’s GetAttribute VI(s) in your child methods. Quote
Bjarne Joergensen Posted September 15, 2013 Report Posted September 15, 2013 Hi I can see at the Symbio home page there is a GOOP Developmente Suite v4.6 version! What's the news? 2013 support perhaps? regards Bjarne Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.