I have decided to do Masters In Software Engineering (Research). I have gone through many topics from google scholar. Can anyone suggest any title for the research ? TIA
NB : I am focusing on requirements engineering and cloud computing
DCI (Data, Context, Interaction) is a largely unknown, but very profound step into aligning the computer with the user.
The key aspects of the DCI architecture are:
Separating what the system is (data) from what it does (function). Data and function have different rates of change so they should be separated, not as it currently is, put in classes together.
Create a direct mapping from the user's mental model to code. The computer should think as the user, not the other way around, and the code should reflect that.
Make system behavior a first class entity.
Great code readability with no surprises at runtime.
I highlighted user's mental model because that's what it's really about. The system architecture should be based on the users thought processes, not the engineers.
Of course the mental model should be discussed and produced by everyone related to the project, but that's rare. Usually the engineers will code according to patterns, decomposition, inheritance, polymorphism, and the part of the code that makes sense to the user is obfuscated behind layers of structure.
This is what DCI tries to remedy. It has run across some resistance over the years, in my opinion because engineers love their structure and classes, so they focus primarily on that.
An illustrating code example would be too lengthy to post here, but the mindset is more important anyway. It's about objects dynamically working together, to solve specific problems. I have made a larger tutorial here, with some code: https://github.com/ciscoheat/haxedci-example
Also, I highly recommend the video "A glimpse of Trygve" (https://www.youtube.com/watch?v=lQQ_CahFVzw) for further explanation, by one of the DCI authors, James Coplien.
The official DCI page is simple but is packed with information: http://fulloo.info
AI being the emerging technological trend with multiple IT domain coupled with multiple paradigms and various problem areas or types, offers immense possibilities. Something like, developing effective techniques, methods, framework or solution to address in a particular AI paradigm and in a specific problem area. To be precise, it may be developing new and effective search & optimization techniques, algorithm for a particular type of data set, data objects and patterns