Integrating Formal UML Designs and HCI Patterns ...

80 downloads 1267 Views 2MB Size Report
and web application, as it involves several electronic components, micro controllers, external PCB .... (DROLIGHT, GUI DESIGN) gives the details of prototype.
Send Orders for Reprints to [email protected] Recent Patents on Computer Science 2013, 6, 000-000

1

Integrating Formal UML Designs and HCI Patterns with Spiral SDLC in DroLIGHT Implementation Zeeshan Ahmed1,2,*, Charlotte Helfrich-Förster1 and Thomas Dandekar2 1 Department of Neurobiology and Genetics, Biocenter, University of Wuerzburg, Germany; 2Department of Bioinformatics, Biocenter, University of Wuerzburg, Germany

Received: May 6, 2013; Revised: May 23, 2013; Accepted: May 31, 2013

Abstract: Design engineering of an embedded system is a lot more complex and with greater security risk than a desktop and web application, as it involves several electronic components, micro controllers, external PCB boards and miscellaneous advanced devices, to be attached, used and properly communicated. Today, embedded systems are widely used for miscellaneous purposes in different fields of life, the goal of this research is to develop a new domain specific real time solution for the fields of Neurobiology and Photobiology. We propose a new embedded and multithreading based system i.e. DroLIGHT, proficient in systematizing a noncommercial special purpose hardware capable of producing lights of different brightness and wavelength that can be used to study light-evoked behavior of animals, here especially that of the fruit fly Drosophila melanogaster. The aim of this paper is to discuss initial DroLIGHT implementation, following spiral software development life cycle and integrating a formal unified modelling language to scheme from different perspectives e.g. use case, design and implementation views. We present the designed graphical user interface incorporating human computer interaction guidelines, principles and patterns e.g. window per task, direct manipulation, conversational text, ephemeral feedback and step-by-step instructions. We highlight the programming details, available features, hardware components and the basic deployment procedure of the DroLIGHT. Moreover the paper discusses a few of the patents relevant to UML Designs and HCI Patterns.

Keywords: Architecture, design, drosophila, embedded systems, human computer interaction, neurobiology, neuroinformatics, spiral SDLC, unified modelling language. INTRODUCTION Software engineering has become one of the most well acknowledged fields of this century, as the software application’s production has revolutionized the world with its fast, efficient, flexible, user friendly, secure, networked, online and reliable solutions to the computational problems. Now whether it’s a natural science’ domain (e.g. Biology, Physics, Chemistry etc.), engineering field (e.g. Electronics, Mechanics etc.), medicine, business, telecommunication, satellite, media, education, research etc., its presense is required and its importance increases. Like many other engineering products’ implementation processes, software engineering has become mature and depends upon a number of developmental phases. To have comprehensive software engineering, different Software Development Life Cycle (SDLC) models have been proposed, tested and well used worldwide e.g. Waterfall model, Iterative and incremental development, Agile development, Code and fix, Spiral model, and some Process improvement models [1]. Depending upon the nature of software solution, valid and most appropriate SDLC model has to be chosen and used, as it helps in defining the scope, focus, functional and nonfunctional requirements. Based on the finalized *Address correspondence to this author at the Department of Neurobiology and Genetics, Biocenter, University of Wuerzburg, Germany; Tel: +499313181917; Fax: +499313184452; E-mail: [email protected] 2213-2759/13 $100.00+.00

system specifications (manual as well as automatic system to capture, convert, formalized and validate specifications [2]), it helps in software architecture design, implementation, testing and deployment. Among all SDLC phases, software architecture design is the most important phase, as the software programming and performance completely depends on it. Software architecture is a bridging factor between the requirements and the development of a system, as it consists of the set of significant decisions, selection of structural elements, collaborations among components and necessary constraints to be followed [3-6]. A well designed software leads to many befits e.g. fast implementation; by showing the wider picture of the requirements to the developer than going into the miner details, dependable; it differentiates the functional and non-functional requirements in the beginning, reduces the complexity in preprocessed source code writeup, less fault prone, helps in both white and black box testing and defines the procedure of deployment. Many software Architecture Description Languages (ADLs) have been introduced by the software engineering community to take advantage in designing comprehensive software architectures [7] e.g. UML, ACME, C2, Rapide, Wright etc. Using ADL the architecture designing processes becomes fast, efficient and much accurate, as it characterizes designs at the architecture level. It helps the software analysts with the provision of formal representation of information in both textual and graphical forms, for all kinds of © 2013 Bentham Science Publishers

2 Recent Patents on Computer Science, 2013, Vol. 6, No. 2

software applications (e.g. Desktop, Web, Embedded, Service Oriented, Network etc.) towards any field. This research and development is mainly towards the field of Neurobiology, a branch of Science that deals with all aspects of nerves and the nervous system to advance the understanding of the brain and its functions [8-11]. A nervous system consists of many cell types, whereby sense and nerve cells (neurons) are unique in their property of generating quick and accurate electric signals that are communicated to other cells, sometimes involving complex networked circuits. The nervous system performs three independent as well as integrated functions in an organism i.e. Sense (state and environment), Motor (action) and Associate (link Sense and Motor). These three functions cause the basis for the perception, rational thinking, emotions, attention and other complex brain functions as behavior [8]. Sensing light via photoreceptor cells is most important for all animals. Light is the basis of image forming vision, serves as directional cue for phototactic behavior, and it is the most important timer for synchronizing endogenous clocks to the 24-hour rhythms on earth. One focus of our studies at the Department of Neurobiology and Genetics (Biocenter at the University of Wuerzburg Germany) is the behavioral biology of the fruit fly, Drosophila melanogaster. It has been more than 100 years, since Drosophila is well used in neurobiological studies [12] (especially after mid 1960s); the past research had significantly contributed in the key findings towards nervous system development and function. We are trying to understand lightevoked behaviors of Drosophila, especially the synchronization of its endogenous clock to light-dark cycles e.g. [13-16]. Meeting the mentioned technological research objectives, intensive (new) real time software solution’ design and development is in progress towards the proficient automation of producing light-dark patterns of various brightness and wavelength. Here, we propose a compact solution i.e. DroLIGHT; a user friendly platform capable of controlling and automating the associated hardware to produce different kinds of light patterns. The remaining manuscript is organized as follows: going from a more general overview, section 2: (DROLIGHT, NEUROBIOLOGY) presents the system concepts and importance with respect to the neurobiology, in brief. Section 3: (DROLIGHT, SPIRAL SDLC) discusses that why and how Spiral SDLC is useful for the implementation and section 4: (DROLIGHT, UML DESIGNS) delivers modelled designs including use case, activity flow, system sequence, class hierarchy and components orientation. Section 5: (DROLIGHT, GUI DESIGN) gives the details of prototype graphical user interface and sections 6 & 7: (DROLIGHT, DEVELOPMENT AND DEPLOYMENT) offers the programming and system installation specifics of DroLIGHT. Section 8: (CURRENT AND FUTURE DEVELOPMENTS) concludes the manuscript with future recommendations. DROLIGHT: NEUROBIOLOGY Like for highly correlated fields to the natural sciences and medicine (e.g. Bioinformatics, Health-informatics etc.), informatics has contributed and played a vital role for Neurobiology as an interdisciplinary methodical initiative that

Ahmed et al.

builds and systematizes biological facts in the form of testable details and predictions about the nervous system. In last two decades, neurobiology has excitingly progressed and become significant, especially in Genetics, Gene Environment Interactions, Brain Plasticity, Imaging and Brain Development. Neurobiologists together with the help of computer scientists and engineers have produced different analytical tools [8] towards genetics, molecular biology, systems anatomy, psychology and behavioral biology [17, 18]. The continuous advancements in the field of artificial intelligence has remarkably contributed to the development of intelligent software systems [19] based on the concepts of artificial neural networks, machine learning and sport vector machines. Currently major need of the time is intensive progress in the development of real time embedded, distributed and image processing systems e.g. to track the movements of small animals and insects (e.g. fly, larvae etc.), dynamic biotic environmental conditions (e.g. light, sound, temperature, humidity, sense, weight etc.), high quality simulation systems etc. Software modeling and implementation in neurobiology (i.e. Neuroinformatics) seems away from the traditional bioinformatics tools developments [20] (e.g. Metabolic Flux Analysis [21, 22], Mass Isotopomers Distribution Analysis [23-25] and Sequence Analysis etc.). Neurobiology is the source of complex domain specific computational problems with highly heterogeneous and massive data, requiring solutions by involving traditional desktop, web, database, simulation, image processing and embedded system. There are different scheduling and automation software solutions available e.g. CIRCADIAN, CLOCKLAB, Circadian Performance Simulation Software (CPSS), Bio2Real Time etc., but these are not helpful in our situation. We present DroLIGHT; a strong computational solution towards neurobiology and photobiology. It is a domain specific real time embedded software system [26-31], specially designed for neurobiologist, capable of controlling and automating the hardware that produces different colors of lights via Light Emitting Diodes (LEDs) [32]. The hardware is a noncommercial, specially engineered ARDUINO [33] microprocessor board controlling LEDs of seven different wavelengths, the brightness of which is adjusted by switching them on and off at high frequency (pulse-width or pulse-duration modulation, PWM or PDM, respectively). The reason for using PWM technique is that, it requires least low level hardware access during micro stepping. Three brightness ranges are available by setting the current to low, mid, and high. The ARDUINO microprocessor board establishes the communication with the software interface at a high serial baud rate (115200bd). ARDUINO is an open source electronics platform built on top of a micro-controller and consisting of many digital and analogue pins. It is widely used in embedded systems to enhance the capabilities of actuators and sensors. Moreover, ARDUINO has a special programming language facilitating the development of the communication protocol between hardware and software. DroLIGHT connects to the board via USB serial cable. It takes input instructions from the user, performs desired tasks

Design Implementation of DroLIGHT

Recent Patents on Computer Science, 2013, Vol. 6, No. 2

3

Fig. (1). Spiral Software Development Life Cycle, consisting of four iterative phases: Determine objectives, Identify and resolve Risk, Development and Test, and Plan the next iteration.

(by sending 8 bit instructions to the connected hardware device) and responds back to the user based on the hardware’ performance and feedback. DroLIGHT is capable of connecting more than one hardware device at multiple (0 … n) COM ports (points of communication) of the motherboard (computer) and sending instructions between 1200bd and 115200bd serial baud rate. It is also capable of working at four parities i.e. odd, even, mark space, sending data bits between 7 and 9, and stop bits at one or two or one point fixed. Moreover it can communicate and switch to following control signals Data Terminal Ready (DTR), Data Set Ready (DSR), Request to Send (RTS), Clear to Send (CTS), Carrier Detect (CD), Clear with DTR (C-DTR) and Clear with Open (CO). DROLIGHT: SPIRAL SDLC Spiral model is one of the well-established and widely used software development processes [34]. It stands on four main pillars: Determine objectives, Identify and resolve Risk, Development and Test, and Plan the next iteration (see Fig. 1). It is a kind of continuous Product Line Architecture (PLA) [35], starts with the requirements analysis for the new functionalities, updates and performance improvements. Next, proceeds for the identification and resolution of the possibilities of low to high level risks (software and hardware), could be caused by (one or multiple) involved functional or non-functional reasons. Followed tasks are software development, testing (e.g. white box, black box, integrated

etc.) and release (last available version of the software). Last but not the least, another starting step is to plan for further improvements in the next release, without disturbing the existing modules. DroLIGHT is designed, developed and deployed following Spiral model. The major reasons of adopting this model are its most distinguishing feature i.e. risk driven approach; incorporating many useful features and refinements of other software development life cycle models [1] e.g. waterfall model, V-model [36] etc. Moreover it helps and matures the process of embedded software engineering by determining the order of stages and transitions in between. Further relating it to our solution; as DroLIGHT is a continuous research project and will keep extending with new requirements in future, it will more helpful than other SDLCs in continuous refinements [37]. Moreover it will be helpful in defining a middle path towards the DroLIGHT architecture’ modular divisions, prioritizing the developmental tasks and ensuring threatening risks. DROLIGHT: UML DESIGNS Design modeling of a desktop and web application is comparatively easier than a real time embedded system because it involves additional hardware devices to be attached and properly communicated. Moreover the rate of risk involved during the implementation of an embedded system is much higher than other software’ development. Risk could

4 Recent Patents on Computer Science, 2013, Vol. 6, No. 2

be in developing low level software application (especially in case of unmanaged preprocesses code compilation) as well as in the use of electronic components’ (attached on the board) usage. Moreover, in case of special purpose external device’ usage, it is mandatory to define communication protocol before the software design start, which is (sometimes) quite difficult to do. Unified Modeling Language (UML) is a standardized way of specifying, visualizing and documenting a complete system [38, 39], doesn’t matter whether it is desktop, web or embedded. It is with much wider scope and a most adopted way by the software engineer community for software design and development. It is based on the family of useful notations which helps in modeling non-software artifacts: business processes, human workflows, non-code development artifacts, scientific and computational requirements [40]. Many useful academic as well as commercial tools are available for UML modelling [41] e.g. Rational Rose, Astah, UModel, UML etc. Meeting the modelling objectives of designing a special purpose real time embedded system for scientific academia

Ahmed et al.

and avoiding direct, temporary, design less programming solution seek [23], we have used UML principles and notations for Meta model software designs with abstraction and modification techniques. The designed UML diagrams of DroLIGHT describes the application’ functionalities, user access, internal work flow, system sequence, preprocessed source code structure, compilation, execution and integration with involved other components. We have used Astah modelling tool to construct the different UML diagrams. Use Case UML use case displays the relationships among actors and use cases [42]. It is the most simplified textual and visual method of presenting human machine direct and indirect interactions. It consists of only two notations: Actor and Activities. In most of the cases actor is either the user or system itself as a remote user. Activity is the representation of an event activated by the system in response to the actor’ request for some action. The designed use case diagram of DroLIGHT is presented in (Fig. 2) and explained in Table 1. The designed use

Fig. (2). DroLIGHT User Case, consisting of a user, seven direct activities (Execute DroLIGHT, Settings, Open Port, Control Lights, Schedule Lights, Experiment and Close DroLIGHT) and eight indirect (remote) activities (Controller, Line, COM, Switches, Instructions, Start, Abort and Close Port).

Design Implementation of DroLIGHT

Table 1.

Recent Patents on Computer Science, 2013, Vol. 6, No. 2

5

DroLIGHT Use Case. DroLIGHT

No. Features

Descriptions

1

Number

1

2

Name

DroLIGHT Controller

3

Application

DroLIGHT Ver 1.0.0

4

Description

This use case consists of a User, seven direct and eight remote (indirect) activities. This describes the User (actor) System (DroLIGHT) communication for controlling and scheduling lights as well as running experiments.

5

Primary Actor

User (1 Actor)

6

Precondition

Prerequisite software applications should be installed.

7

Trigger / Events



Execute DroLIGHT



Settings



Open Port



Control Lights



Schedule Lights



Experiment



Close DroLIGHT

Basic flow consists of following steps:

8

9

Basic Flow

1.

Start DroLIGHT software application

2.

Provide valid setting information of Line and COM port.

3.

Connect to the port to access hardware.

4.

Turn ON or turn OFF lights using provided switches or by giving textual instructions.

5.

Schedule light by giving Date and Time for each (or needed) light.

6.

Run experiment, then on need can abort as well.

7.

Close COM port.

8.

Close DroLIGHT software application.

Alternate Flows

case diagram describes the user system communication for controlling the hardware, turning on and off light (LEDs) manually as well as automatically. Designed use case diagram consists of a user (actor), seven direct activities: Execute DroLIGHT, Settings, Open Port, Control Lights, Schedule Lights, Experiment and Close DroLIGHT. Moreover there are eight indirect (remote) activities as well: Controller, Line, COM, Switches, Instructions, Start, Abort and Close Port. User system interaction (see Fig. 2) starts with the execution of DroLIGHT software application, which leads user to load Controller module using Main GUI. Using Controller, user at first, required to provide valid settings information (both Line and COM port) and connect the associated hardware. Next options are to control the lights manually by pressing provided switches (buttons) in the GUI or my writing manual instructions (in Hexadecimal and/or string formats). Moreover user can schedule the timing of turning on and/or off lights and start experiment, which can be aborted as well. As the last step, user can close COM port and exit DroLIGHT application.

Exceptions will be notified.

Activity Flow UML activity diagram represents the flow of the states and activities in computational and organizational internal processes, based on action and transition states [43]. It is an expressive and adequate way of describing overall system with the use of specific notations i.e. state machine formalism. Major specific notations (which we have also used in our designed activity diagram) are: initial node (black filled circle), action (circle), call behavior action (circle with connector inside), activity final (black filled circle with white borderline), final flow node (circle with a cross inside), connector (circle with ‘#’ or ‘n’ inside), component sent or revive action (rectangle), decision (diamond), join (gray bar) and connecting directional arrows. Moreover on need images and additional notations can also be used in activity diagram. The designed activity diagram (see Fig. 3) starts with the confirmation for the connected hardware. The hardware needs to be attached properly using COM connection with user given information about valid port number, baud rate,

6 Recent Patents on Computer Science, 2013, Vol. 6, No. 2

Ahmed et al.

Fig. (3). DroLIGHT Activity Flow consisting of specific notations: Initial node, Action, Call Behavior Action, Activity Final, Final Flow Node, Connector, Component, Decision, Join and connecting directional arrows.

stop bits and parity. In case of successful connection between the software (preinstalled in the computer) and hardware, the flow will proceed to the next step otherwise will be terminated. In case of successful connection establishment, the flow will have two further options: either to control hardware LEDs manually or schedule experiment with respect to the

date and time (greater than now). Following the instructions, system will prepare a dataset (data packet), which will be transferred to the connected hardware device (multiplexing 7 combinations of the sets of LEDs switching). Vice versa, depending upon the normal or abnormal behaviors, hardware can also communicate with the software and update its status to the user.

Design Implementation of DroLIGHT

Recent Patents on Computer Science, 2013, Vol. 6, No. 2

7

Fig. (4). DroLIGHT System Sequence consisting of eight interconnected steps: DroLIGHT, Controller, Port Settings, Line Settings, Port Handling, TurnOn/Off lights, Schedule Lights and Experiment.

System Sequence UML system sequence diagram is the visual representation of particular scenario defined by the use case, between different objects (horizontal dimension) at certain time (vertical dimension) [44, 45]. It is used to explore the logic of multifaceted operations (procedures or functions) using specific notations: actor (user), messages (methods) called by the actors, return values (optional, if any) and loop indicators. The system sequence diagram (see Fig. 4) of DroLIGHT consists of eight steps: DroLIGHT, controller, port settings, line settings, port handling, turn on / off lights, schedule lights and experiment. These all steps have individual tasks as well communication objects to send and receive message with each other (only between specifically connected ones). With the execution request to the DroLIGHT, user instructs for the module controller to be loaded with given connection settings and connects to the attached hardware, to further switching and scheduling lights with turning on and/or off operations. Controller is loaded by the Main and give instructions (by the user) to connect to the hardware. Connection setting instructions then gets divided into two further steps: port settings and line setting. Controller sends the set of instructions consisting of serial baud rate, parity, and number of data bits to the port settings and set of instructions consisting of data terminal ready, data set ready, request to send, clear to send, carrier detect, clear with DTR and clear with open to line

settings. Both these steps configure their selves and reports to the port handling, which establishes the final connection with the hardware and updates controller. At successful connection establishment, controller sends instructions to manually turn on and lights, and get updates in response. Moreover, controller can send instructions to the schedule lights by programing the date and time of switches and gets updates in return. Then following confirmed status updates, can start (or about) the experiment using. At the end of the all these operations, user gets the reports of status updates as well as monitors the physical changes in the connected hardware. Class Hierarchy UML class diagram is the static representation of relationships between defined classes in namespaces (or packages), for the development of a software application [46, 47]. Like other UML designs, it also has some specific notations: class (rectangle separated in three sections), namespace (two connected rectangles, one small and one large) and relation defining arrows. The planned preprocessed source code structure is distributed among six self-developed classes (see Fig. 5): Main, Control, Operations, Schedule, About and Handler. These classes are created in project namespace i.e. DroLIGHT and inheriting functionalities from System (by default) namespace. During this class hierarchy, we have also used the

8 Recent Patents on Computer Science, 2013, Vol. 6, No. 2

provided libraries (namespaces and classes) by the Microsoft Visual Studio. Here (see Fig. 5), we are not providing full details (including all attributes and methods) of the all classes but only describing their functionalities and types. Main is a parent (main) multi attribute, GUI (with different controls) class, calls and activates children class instances. Control is a child multi attribute GUI class, implements graphical interface control functionalities and fire events to perform specific tasks e.g. perform port and line settings (using nested child MDI multi attribute class Handler), manually operate switches (using nested child MDI

Fig. (5). DroLIGHT class hierarchy.

Fig. (6). DroLIGHT component orientation.

Ahmed et al.

multi attribute class Operations) and program experiments (using nested child MDI multi attribute class Schedule). About is another child but single attribute GUI class, which only provides information about DroLIGHT in use version. Components Orientation UML component diagram displays the high level packaged structure consisting of the source code (compile time), binary code components (link time), and executable components (run times) [3]. It is the visual representation of assembled constituents representing structural relationship between

Design Implementation of DroLIGHT

service provider and consumer [39]. Here, components are the independent elements of an application which perform certain computational tasks holding their positions constant. The DroLIGHT components diagram is very simple and consists of only two main components: Computer and Hardware (see Fig. 6). Hardware is the board used to be controlled. Computer consists of three main subcomponents representing preinstalled operating system (Microsoft Windows), Microsoft Dot Net Framework and DroLIGHT (Ver 1.0.0). DROLIGHT: GUI DESIGN One of the most important tasks during the software engineering is the user end graphical interface design, because if a product is with useful features (for any domain), but it is not easily useable then it never gets the good attention and reputation among consumers [48, 49]. It is highly recommended to first understand the psychology of the users and environment, where software application will be deployed and use. If the users belong to the programming community then might command level software or uncompiled scripts (e.g. MATLAB, Perl and R etc.) will also work easily, moreover in case the users have good understanding of using different operating systems and computers then it will again reduce the headache of user friendly GUI development. But

Recent Patents on Computer Science, 2013, Vol. 6, No. 2

9

if the users belong to the communities, not much into the computer science and works with the high focus in (their) respective fields (e.g. our case, for neurobiologists), then it is highly recommended to develop an application which can be easily deployed, learned and used. To take advantage in designing a flexible, attractive, presentable, user friendly graphical interface there are many different guidelines, principles and patterns to be followed [50]. Ensuring recommended guidelines, we started with the mockups and abstract user interface designs (with the consultations of the consumer community). We focused on the specified functional requirements, numbers of features, work load conditions, sequences of actions in similar situations, reliable controls, consistent layout (color, fonts, size etc.), short term memory load and flexible design able to adopt rapid prototype changes, modifications and exceptions. The final designed and implemented version of graphical interface implements following design patterns: window per task (1), direct manipulation (2), conversational text (3), ephemeral feedback (4) and step-by-step instructions (5). It provides multiple instances (children windows), allowing user to directly interact with the system using provided controls (buttons, combo boxes, check boxes, text boxes etc.). Moreover it offers the textual command line instruction

Fig. (7). DroLIGHT graphical user interface and human computer interaction design patterns.

10 Recent Patents on Computer Science, 2013, Vol. 6, No. 2

Ahmed et al.

a)

b) Fig. (8). DroLIGHT GUI, manual control (a) and scheduled running experiment (b).

mode for human machine interactions, status updates and tools tips could be helpful in using graphical interface. DroLIGHT is a Multiple Document Interface (MDI) software application (see Fig. 7). The controls’ orientations of available graphical interface is divided into of five main

sections: Settings, Control, All, Experiment and ARDUINO Communication Status. Settings section provides options to select valid COM port, select right serial baud rate (between 1200bd and 115200bd), parity (odd/even/mark/space), data bits (between 7 and 9), and stop bits (one/two/one point fixed). Moreover it allows user to select most appropriate

Design Implementation of DroLIGHT

line signals: DTR, DSR, RTS, CTS, CD, C-DTR and CO. Later after providing preliminary settings information user can connect to the hardware. The Control section allows user to turn on and/or off lights manually (see Fig. 8a) as well as scheduling (see Fig. 8b) date and time for each light (set of LEDs). Moreover this section also allows user to select brightness and change wavelengths of lights as well. Section ‘All’ allows user to turn on or off all light at once. Experiment allows user to start scheduled experiment as well as abort running experiment. Last but not the least, ARDUINO Communication Status provides the updates of user (DroLIGHT interface) and machine (hardware). Moreover it also allows user to send text and hexadecimal based instructions to the hardware and receives acknowledgments. DROLIGHT: DEVELOPMENT The most famous and well used embedded programming languages of past and present are Assembly [51], C [52], C++ [53] and Ada [54]. One of the major benefits of using these languages (especially C and C++) are to have (structural or procedural) low level (direct) access of the hardware (with the use of deeper build processes, where object code is created using preprocessed source code [55-56-35-57], which then converted to machine understandable language). However, where it gives the full control of the hardware to the embedded programmer there it also increases the level of unmanaged source code complexity and the high rate of probability for the possibility of problems and fault proneness [58] e.g. heap (memory allocation), multiprocessing (threading), deadlocks, bits loss etc. Tackling some of these mentioned problems, one of the new technologies is by Sun microsystems J2ME library used

Fig. (9). DroLIGHT Deployment Process.

Recent Patents on Computer Science, 2013, Vol. 6, No. 2

11

by the Java (an object oriented programming language) [59, 60]. Further advancing the embedded system programming, the most recent next-generation solution is by Microsoft i.e. Microsoft Visual Studio [61], incorporating Dot Net Micro Framework [26], which provides the managed source code write up, editing and execution for resource-constrained devices. Its major benefits include easy and powerful deployment, reliable, faster and secure low level access to the connected hardware. The only disadvantage of this language is that, it is not well tested at cross multiple platforms (except Microsoft Windows operating system [60]). Looking at the future perspectives and focusing own scientific system requirements, DroLIGHT is programmed (in managed code) using C# (object oriented programming language) [62], within Microsoft Visual Studio (Dot Net 2012) [61], which means it gives full support to the Microsoft Windows operating systems. We have applied multithreading concepts to take advantage in the parallel executions of multiple scheduled switching tasks and to avoid deadlock situations. Front end and low level embedded programming is completely performed using C# programming language whereas to communicate (sending and receiving data packets) with ARDUINO board, defined protocols by ARDUINO programming language are used. The major developmental benefits of DroLIGHT are that it requires lower hardware cost than other high end platforms, with much smaller memory foot print, faster execution time, with no heap effect, and secure access to the deployed and connected hardware. DROLIGHT: DEPLOYMENT The typical process of DroLIGHT deployment takes place on a host machine with an integrated (in the operating

12 Recent Patents on Computer Science, 2013, Vol. 6, No. 2

Ahmed et al.

a)

b)

Fig. (10). Custom engineered hardware with ARDUINO Microprocessor board (a), and sample of produced lights, as the combination of several LEDs (b).

system) environment (Microsoft Dot NET Framework 4.5) but without any (external) cross compiler to reproduce machine code understandable by connected hardware. The overall process of deployment is very easy, as the user has to only run the DroLIGHT installer which provides all kinds of immediate information (both technical as well as legal) and automatically configures software settings in the operating system (no additional compilers or interpreters are required). User just need to follow the provided instructions and has to give the memory location for the software to be installed (see Fig. 9) (it could be installed and used at mobile/external hard drive or USB stick as well). Moreover the hardware (see Fig. 10) has to be properly connected at COM port via serial link and should be in running conditions (with no damages inside). CURRENT AND FUTURE DEVELOPMENTS This paper introduces the DroLIGHT, its developmental life cycle, architecture, designs and graphical user interface. The most recent available version of DroLIGHT (Ver 1.0.0) is in use (testing in academic labs) and we are focusing on the future research and development objectives by enhancing the capabilities of DroLIGHT with more features to advance the experimental processes and improve the hardware control. The next immediate goals are to develop circadian cycles for multiple iterations with once set lights (LEDs) as well as with multiple lights at different timings. Moreover a new file based database management system is in pipeline, to effectively create, edit (loaded, existing), manage, share (export) the experiments (data).

ACKNOWLEDGEMENTS We would like to thank Deutsche Forschungsgemeinschaft (DFG, grant SFB 1047) for funding. We would like to thank workshop (especially Mr. Konrad Oechsner and Mr. Hans Kaderschabek) at Biocenter, University of Wuerzburg Germany, for their services in building the hardware. AUTHOR’S BIBLIOGRAPHY Zeeshan Ahmed is the Post Doc. Scientific Software Engineer at the Department of Neurobiology and Genetics, Biocenter, University of Wuerzburg Germany, working in collaboration with the Department of Bioinformatics, Biocenter, University of Wuerzburg Germany. Charlotte Helfrich-Förster is the Chair of the Department of Neurobiology and Genetics, Biocenter, University of Wuerzburg Germany. Thomas Dandekar is the Chair of the Department of Bioinformatics, Biocenter, University of Wuerzburg Germany. AUTHOR’S CONTRIBUTIONS Zeeshan Ahmed designed DroLIGHT, software application.

and

implemented

the

Charlotte Helfrich-Förster and Thomas Dandekar guided the study. All authors participated in writing of the manuscript. ABBREVIATIONS

CONFLICT OF INTEREST

SDLC

=

Software Development Life Cycle

The authors confirm that this article content has no conflicts of interest.

ADLs

=

Architecture Description Languages

Design Implementation of DroLIGHT

Recent Patents on Computer Science, 2013, Vol. 6, No. 2

UML

=

Unified Modelling Language

LED

=

Light Emitting Diodes

PWM

=

Pulse-width modulation

PDM

=

Pulse-duration modulation

DTR

=

Data Terminal Ready

DSR

=

Data Set Ready

RTS

=

Request to Send

CTS

=

Clear to Send

CD

=

Carrier Detect

[20]

C-DTR =

Clear with DTR

[21]

CO

=

Clear with Open

PLA

=

Product Line Architecture

COM

=

Communication

GUI

=

Graphical User Interface

MDI

=

Multiple Document Interface

REFERENCES [1] [2] [3]

[4]

[5] [6]

[7]

[8]

[9] [10] [11] [12] [13]

[14]

[15]

P. Rook, “Controlling software projects”, Software Engin. J. Controlling software projects, Vol. 1, pp.7-16, 1986. Sosy Inc., "Automatic software production system", U.S. Patent US8365138, January 29, 2013. H. Kaur, and P. Singh, “UML (Unified Modeling Language): Standard Language for Software Architecture Development”, In International Symposium on Computing, Communication, and Control, Singapore, 2011. D. Garlan, and M. Shaw, “An introduction to software architecture”. In Advances in Software Engineering and Knowledge Engineering, V. Ambriola and G. Tortora: World Scientific Publishing Company, Vol. 2, 1993, pp.1-39. D. Garlan, “Formal Approaches to Software Architecture”, In Workshop on Studies of Software Design, UK, 1993, pp.64-76. D. Garlan, and D. Notkin, “Formalizing design spaces: Implicit invocation mechanisms” In 4th International Symposium of VDM Europe on Formal Software Development, UK, 1991, pp.31–44. E. M. Dashofy, A. Hoek and R. N. Taylor, “An infrastructure for the rapid development of XML-based architecture description languages”, In Twenty Fourth International Conference on Software Engineering, USA, 2002, pp.266-276. D. Purves, G. J. Augustine, D. Fitzpatrick, W. C. Hall, A. S. Lamantia and J. O. McNamara, Neuroscience, Sinauer Associates, 2004. Brain Facts: A Primer on the Brain and Nervous System, Society for Neuroscience, 2012. M. F. Bear, B. Connors and M. Paradiso, Neuroscience: Exploring the Brain. Lippincott Williams & Wilkins, 2006. E. R. Kandel, J. H. Schwartz and T. M Jessel, Principles of Neural Science, McGraw-Hill Publishing Co., 2000. H. J. Bellen, C. Tong and H. Tsuda, “100 years of Drosophila research and its impact on vertebrate neuroscience: a history lesson for the future”, Nat. Rev. Neurosci., Vol. 11, pp.514-522, 2010. T. Yoshii, C. Hermann and C. Helfrich-Förster, “Cryptochromepositive and -negative clock neurons in Drosophila entrain differentially to light and temperature”, J. Biol. Rhythms. Vol. 25, pp.387398, 2010. C. Helfrich-Förster, C. Winter, A. Hofbauer, J. C. Hall, and R. Stanewsky, “The circadian clock of fruit flies is blind after elimination of all known photoreceptors”, Neuron., Vol. 30, pp.249-261, 2001. C. Helfrich-Förster, T. Edwards, K. Yasuyama, B. Wisotzki, S. Schneuwly, R. Stanewsky, I. A. Meinertzhage and A. Hofbauer, “The extraretinal eyelet of Drosophila: development, ultrastructure

[16]

[17] [18] [19]

[22]

[23]

[24] [25]

[26] [27] [28] [29]

[30] [31] [32]

[33]

[34] [35] [36] [37] [38]

[39] [40]

[41]

13

and putative circadian function”, J. Neurosci., Vol. 22, pp.92559266, 2002. R. Foster and C. Helfrich-Förster, “Photoreceptors for circadian clocks in mice and fruit flies”, Phil. Trans. R. Soc. Lond., Vol. 356, pp.1779-1789, 2001. S. Benzer, “Behavioral mutants of Drosophila isolated by countercurrent distribution”, Proc. Natl. Acad. Sci., Vol. 58, pp.1112–19, 1967. S. Benzer, “Genetic dissection of behavior.” Sci. Am., Vol. 229, pp.24-3, 1973. M. P. Steve, “What can AI get from neuroscience?”, In 50 years of artificial intelligence, M. Lungarella, R. Pfeifer, F. Iida, J. Bongard. Lecture Notes In Computer Science, Vol. 4850, 2007, pp.174-185. L. French and P. Pavlidis, “Informatics in Neruoscience”, Brief. Bioinform., Vol. 8, pp.446-456, 2007. T. Dandekar, A. Fieselmann, M. Saman and Z. Ahmed, "Software Applications toward Quantitative Metabolic Flux Analysis and Visualization", Brief. Bioinform., [Online] Available From http://bib.oxfordjournals.org [Accessed: Nov. 9, 2012]. Z. Ahmed, S. Majeed, and T. Dandekar, “Computational Feature Performance and Domain Specific Architecture Evaluation of Software Applications towards Metabolic Flux Analysis”, Rec. Pat. Comp. Sci., Vol. 5, pp.165-176, 2012. Z. Ahmed, S. Majeed and T. Dandekar, “Formal UML Modelling of Isotopo, Bioinformatical Software for Mass Isotopomers Distribution Analysis”, Software Engin., Vol. 2, pp.147-159, 2012. Z. Ahmed, S. Majeed and T. Dandekar, “Unified Modeling and HCI Mockup Designing towards MIDA”, Int. J. Emerg. Sci., Vol. 2, pp.361-382, 2012. Z. Ahmed, “Bioinformatics Software for Metabolic and Health Care Data Management”, Ph.D. thesis, University of Wuerzburg, Wuerzburg, Germany, 2012. D. Thompson and R. S. Miles, Embedded Programming with the Microsoft®. NET Micro Framework, Microsoft Corporation, 2007. S. V. Iyer and P. Gupta, Embedded Real Time Systems Programming, Tata McGraw-Hill Publishing, 2004. Z. Ahmed, “Distributed Real Time PCM System, UML Design and Development with Embedded Programming”, Software Engin., Vol. 2, pp.129-137, 2012. Z. Ahmed, M. Ali and S. Majeed, “Implementing Computerized and Digitally Mobile Home Automation System towards Electric Appliance Control and Security System”, Int. J. Emerg. Sci., Vol.1, pp.487-503, 2011 Z. Ahmed and M. Ali, Smart House; Towards Artificially Intelligent Home Automation System, VDM Verlag Dr. Muller, 2011. Z. Ahmed, Ele-Comp-Hus; Digitally Mobile and Computerized House, LAP Lambert Academic Publishing, 2010. S. Nakamura, M. Senoh and T. Mukai, “P-GaN/N-InGaN/N-GaN Double-Heterostructure Blue-Light-Emitting Diodes”, Jpn. J. Appl. Phys., Vol. 32, pp.8-11, 1993. N. Subrahmanyam, MQTT and ARDUINO Devices, An IBM Redpaper publication, IBM Corp. 2012. [Online] Available From: https://www.redbooks.ibm.com/Redbooks.nsf/RedbookAbstracts/re dp4929.html?Open. B. W. Boehm, “A spiral model of software development and enhancement”, Computer, Vol. 21, pp.61-72, 1988. Z. Ahmed, “Towards Performance Measurement and Metrics based Analysis of PLA Applications”, Int. J. Software Engin. App., Vol. 1, pp.66-80, 2010. S. Mathur, and S. Malik, “Advancements in the V-Model”, Int. J. Comp. App., Vol. 1, pp.29-34, 2010. R. Pressman, Software Engineering: A Practitioner's Approach, McGraw-Hill, 2009. N. Medvidovic, D. S. Rosenblum, D. F. Redmiles and J. E. Robbins, “Modeling software architectures in the Unified Modeling Language”, ACM Trans. Software Engin. Method., Vol. 11, pp.257, 2002. S. W. Ambler, The Elements of UML 2.0 Style, Cambridge University Press, 2005. P. Kruchten, W. Kozaczynski, and B. Selic, “ICSE 2001 workshop on describing software architecture with UML”, ACM SIGSOFT Software Engin. Notes, Vol. 26, pp.78-79, 2001. A. Egyed, and P. B. Kruchten, “Rose/Architect: A Tool to Visualize Architecture”, In Thirty Second Annual Hawaii Conference on Systems Sciences, USA, 1999, pp.8066.

14 Recent Patents on Computer Science, 2013, Vol. 6, No. 2 [42]

[43]

[44] [45]

[46] [47] [48]

[49]

[50]

I. Jacobson, M. Christerson, P. Jonsson and G. Oevergaard, ObjectOriented Software Engineering: A Use Case Driven Approach, Reading, MA: Addison-Wesley, 1992. M. Dumas, and A. H. M. ter-Hofstede, "UML Activity Diagrams as a Workflow Specification Language", In Fourth International Conference on The Unified Modeling Language, Modeling Languages, Concepts, and Tools, UK, 2001, pp.76-90. P. D. Bruza, and T. P. van-der-Weide, “The Semantics of Data Flow Diagrams”, In International Conference on Management of Data, 1993. E. Latronico, and P. Koopman, “Representing Embedded System Sequence Diagrams as a Formal Language”, In Fourth International Conference on The Unified Modeling Language, Canada, 2001, pp.302-316. B. Marilyn, A guide for programmers, Prentice-Hall, 1978. D. Berardi, D. Calvanese, and G. E. Giacomo, “Reasoning on UML class diagrams”, Artif. Intell., Vol. 168, pp.70-118, 2005. Z. Ahmed, S. K. Ganti, and H. Kyhlbäck, "Design Artifact’s, Design Principles, Problems, Goals and Importance", In Fourth International Conference of Statistical Sciences, Pakistan, 2008, pp.5768. S. R. Klemmer, and B. Lee, “Notebooks that Share and Walls that Remember: Electronic Capture of Design Education Artifacts”, In ACM Symposium on User Interface Software and Technology, 2005. Z. Ahmed. "Designing Flexible GUI to Increase the Acceptance Rate of Product Data Management Systems in Industry", Int. J. Comp. Sci. Emerg. Tech., Vol. 2, pp.100-109, 2011.

Ahmed et al. [51] [52] [53] [54] [55]

[56]

[57]

[58] [59] [60] [61] [62]

R. Blum, Professional Assembly Language, Wrox, 2005. R. H. Barnett, L. D. O'Cull, and S. A. Cox, Embedded C Programming and the Microchip PIC: Text, Delmar Cengage Learning, 2003. M. Barr, Programming Embedded Systems in C and C ++, O'Reilly Media, 1999. V. A. Downes, Programming Embedded Systems with Ada, Prentice Hall, 1982. Z. Ahmed and S. Majeed, “Measurement, Analysis with Visualization for better Reliability", In Artificial Intelligence and Hybrid Systems, C. Rocha, F. Akune, A. El-Shafie, iConcept Press, 2013. Z. Ahmed and S. Majeed, “Towards Increase in Quality by Preprocessed Source Code and Measurement Analysis of Software Applications”, IST Tran. Inf. Tech. Theo. App., Vol. 1, pp.8-13, 2010. Z. Ahmed, “Measurement Analysis and Fault Proneness Indication in Product Line Applications (PLA)”, In Sixth International Conference on New Software Methodologies, Tools, and Techniques, Italy, 2007, pp. 391-400. Z. Ahmed, “Integration of variants handling in M-system NT”, M.S. thesis, Blekinge Institute of Technology, Karlskrona, Sweden. 2006. Y. F. J. Zhu, Wireless Java Programming with J2ME, Sams, 2001. B. Spell, Professional Java Programming, Wrox, 2000. B. Johnson, Professional Visual Studio 2012, Wrox, 2012. C. Nagel, B. Evjen, J. Glynn, M. Skinner, and K. Watson, Professional C#, Wrox, 2008.