I have had an idea of knowledge based modeling for a long time and I have surfed internet and couldn't find a suitable component/tools for .Net development to do so.
My expected features are:
Knowledge based. There is a central repository to store templates of classes, interfaces, properties and attributes. We will use these templates to define new classes. For example, "People" in class level and ‘EMail" in property level.
UI ready. All properties have UI required attributes. For example, the property "Email" has a suitable mask for text edit and validation.
Visual modeling. Actually the designer can drag and drop classes/properties/attributes from the central repository.BTW, common UML editors are too heavy and too complicated to use. I expect a very easy GUI.
Run time type. The application will create the defined new class at run time. BTW, it is not difficult to create a dynamic type in .Net. You may find a way here, http://apobekiaris.blogspot.com/2009/11/dynamic-types-in-any-application.html.
Specified database independence. Of course, the application can have the created class work with any database, but the component/tools is independent of any database.
Other expected schema evolution features. Version control for class defines and obsolete/rename support.
Why do I need such a tools? For I want to let a developer to adjust the model at run time. I am even thinking to give end users such a function.
I want to know your feedback to the idea of knowledge based modeling and your suggestions to such a tools.
Thank you in advance.
Ying
[comments]
I just fund TrueView™ (http://www.evolving-software.co.uk/index.html).
It seems it is close to what I am looking for:
Tools: TrueView™ Development Framework for .NET
Knowledge base: DomainTypes library
But it is still too complicated. I think it is for a professional modeler. I need a simple one for a developer at run time.
Comments again:**************
I just published a software proposal- Assembler: .Net assembly weaver based on existing assemblies at run time and design time, at http://darwincloudclient.blogspot.com/2010/07/assembler-net-assembly-weaver-based-on.html .
If you have found such a component/tools or you will create one, please notify me.